1 /* |
1 /* |
2 * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. Oracle designates this |
7 * published by the Free Software Foundation. Oracle designates this |
23 * questions. |
23 * questions. |
24 */ |
24 */ |
25 |
25 |
26 package com.sun.xml.internal.ws.server.sei; |
26 package com.sun.xml.internal.ws.server.sei; |
27 |
27 |
|
28 import com.oracle.webservices.internal.api.databinding.JavaCallInfo; |
28 import com.sun.istack.internal.NotNull; |
29 import com.sun.istack.internal.NotNull; |
29 import com.sun.xml.internal.ws.api.SOAPVersion; |
|
30 import com.sun.xml.internal.ws.api.WSBinding; |
30 import com.sun.xml.internal.ws.api.WSBinding; |
31 import com.sun.xml.internal.ws.api.databinding.EndpointCallBridge; |
|
32 import com.sun.xml.internal.ws.api.message.Message; |
31 import com.sun.xml.internal.ws.api.message.Message; |
33 import com.sun.xml.internal.ws.api.message.Packet; |
32 import com.sun.xml.internal.ws.api.message.Packet; |
34 import com.sun.xml.internal.ws.api.pipe.NextAction; |
33 import com.sun.xml.internal.ws.api.pipe.NextAction; |
35 import com.sun.xml.internal.ws.api.server.Invoker; |
34 import com.sun.xml.internal.ws.api.server.Invoker; |
36 import com.sun.xml.internal.ws.client.sei.MethodHandler; |
35 import com.sun.xml.internal.ws.client.sei.MethodHandler; |
37 import com.sun.xml.internal.ws.model.AbstractSEIModelImpl; |
36 import com.sun.xml.internal.ws.model.AbstractSEIModelImpl; |
38 import com.sun.xml.internal.ws.server.InvokerTube; |
37 import com.sun.xml.internal.ws.server.InvokerTube; |
39 import com.sun.xml.internal.ws.resources.ServerMessages; |
|
40 import com.sun.xml.internal.ws.fault.SOAPFaultBuilder; |
|
41 import com.sun.xml.internal.ws.wsdl.DispatchException; |
38 import com.sun.xml.internal.ws.wsdl.DispatchException; |
42 import com.sun.xml.internal.org.jvnet.ws.databinding.JavaCallInfo; |
|
43 import java.util.List; |
|
44 import java.lang.reflect.InvocationTargetException; |
39 import java.lang.reflect.InvocationTargetException; |
45 import java.text.MessageFormat; |
|
46 |
40 |
47 /** |
41 /** |
48 * This pipe is used to invoke SEI based endpoints. |
42 * This pipe is used to invoke SEI based endpoints. |
49 * |
43 * |
50 * @author Jitendra Kotamraju |
44 * @author Jitendra Kotamraju |
85 } |
79 } |
86 } else if (call.getException() instanceof DispatchException) { |
80 } else if (call.getException() instanceof DispatchException) { |
87 DispatchException e = (DispatchException)call.getException(); |
81 DispatchException e = (DispatchException)call.getException(); |
88 return doReturnWith(req.createServerResponse(e.fault, model.getPort(), null, binding)); |
82 return doReturnWith(req.createServerResponse(e.fault, model.getPort(), null, binding)); |
89 } |
83 } |
90 Packet res = (Packet) model.getDatabinding().serializeResponse(call); |
84 Packet res = (Packet) model.getDatabinding().serializeResponse(call); |
91 res = req.relateServerResponse(res, req.endpoint.getPort(), model, req.endpoint.getBinding()); |
85 res = req.relateServerResponse(res, req.endpoint.getPort(), model, req.endpoint.getBinding()); |
92 assert res != null; |
86 assert res != null; |
93 return doReturnWith(res); |
87 return doReturnWith(res); |
94 } |
88 } |
95 |
89 |
96 public @NotNull NextAction processResponse(@NotNull Packet response) { |
90 public @NotNull NextAction processResponse(@NotNull Packet response) { |
97 throw new IllegalStateException("InovkerPipe's processResponse shouldn't be called."); |
91 return doReturnWith(response); |
98 } |
92 } |
99 |
93 |
100 public @NotNull NextAction processException(@NotNull Throwable t) { |
94 public @NotNull NextAction processException(@NotNull Throwable t) { |
101 throw new IllegalStateException("InovkerPipe's processException shouldn't be called."); |
95 return doThrow(t); |
102 } |
96 } |
103 |
97 |
104 } |
98 } |