java.lang.Object
com.sun.xml.ws.rx.util.Communicator
Transmits standalone protocol messages over the wire. Provides also some additional
utility methods for creating and unmarshalling JAXWS
Message and Header
objects.
WARNING: This class is a private utility class used by WS-RX implementation.
Any usage outside the intended scope is strongly discouraged. The API exposed
by this class may be changed, replaced or removed without any advance notice.
- Author:
- Marek Potociar (marek.potociar at oracle.com)
-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic Communicator.Buildervoidclose()com.sun.xml.ws.api.message.PacketcreateEmptyRequestPacket(boolean expectReply) Creates a new empty request packetcom.sun.xml.ws.api.message.PacketcreateEmptyRequestPacket(String requestWsaAction, boolean expectReply) Creates a new empty request packet with an empty message that has WS-A action setcom.sun.xml.ws.api.message.PacketcreateEmptyResponsePacket(com.sun.xml.ws.api.message.Packet requestPacket, String responseWsaAction) Creates an empty (no SOAP body payload) new response packet based for the supplied request packet with the provided response WS-Addressing action set.com.sun.xml.ws.api.message.PacketcreateNullResponsePacket(com.sun.xml.ws.api.message.Packet requestPacket) Creates a null (no message) response packet based for the supplied request packet.com.sun.xml.ws.api.message.PacketcreateRequestPacket(com.sun.xml.ws.api.message.Message message, String wsaAction, boolean expectReply) com.sun.xml.ws.api.message.PacketcreateRequestPacket(com.sun.xml.ws.api.message.Packet originalRequestPacket, Object jaxbElement, String wsaAction, boolean expectReply) com.sun.xml.ws.api.message.PacketcreateRequestPacket(Object jaxbElement, String wsaAction, boolean expectReply) com.sun.xml.ws.api.message.PacketcreateResponsePacket(com.sun.xml.ws.api.message.Packet requestPacket, com.sun.xml.ws.api.message.Message message, String responseWsaAction) Creates new response packet based for the supplied request packet with the provided response WS-Addressing action set.com.sun.xml.ws.api.message.PacketcreateResponsePacket(com.sun.xml.ws.api.message.Packet requestPacket, Object jaxbElement, String responseWsaAction, boolean isClientResponse) Creates new response packet based for the supplied request packet with the provided response WS-Addressing action set.com.sun.xml.ws.api.addressing.AddressingVersioncom.sun.xml.ws.api.Componentcom.sun.xml.ws.api.EndpointAddressProvides the destination endpoint reference thisCommunicatoris pointing to.com.sun.xml.ws.api.SOAPVersiongetWsaAction(com.sun.xml.ws.api.message.Packet packet) Returns the value of WS-AddressingActionheader of a message stored in thePacket.getWsaTo(com.sun.xml.ws.api.message.Packet packet) Returns the value of WS-AddressingToheader of a message stored in thePacket.booleanisClosed()com.sun.xml.ws.api.message.Packetsend(com.sun.xml.ws.api.message.Packet request) Sends the requestPacketand returns the corresponding responsePacket.voidsendAsync(com.sun.xml.ws.api.message.Packet request, com.sun.xml.ws.api.pipe.Fiber.CompletionCallback completionCallbackHandler) Asynchronously sends the requestPacketvoidsendAsync(com.sun.xml.ws.api.message.Packet request, com.sun.xml.ws.api.pipe.Fiber.CompletionCallback completionCallbackHandler, com.sun.xml.ws.api.pipe.FiberContextSwitchInterceptor interceptor) voidsetDestinationAddress(com.sun.xml.ws.api.EndpointAddress newValue) voidsetDestinationAddressFrom(com.sun.xml.ws.api.message.Packet packet) com.sun.xml.ws.api.message.PacketsetEmptyRequestMessage(com.sun.xml.ws.api.message.Packet request, String wsaAction) Creates a new JAX-WSMessageobject that doesn't have any payload and sets it as the current packet content as a request message.com.sun.xml.ws.api.message.PacketsetEmptyResponseMessage(com.sun.xml.ws.api.message.Packet response, com.sun.xml.ws.api.message.Packet request, String wsaAction) Overwrites theMessageof the response packet with a newly created emptyMessageinstance.tryStartSecureConversation(com.sun.xml.ws.api.message.Packet request) If security is enabled, tries to initate secured conversation and obtain the security token reference.
-
Field Details
-
soapMustUnderstandAttributeName
-
-
Method Details
-
builder
-
createRequestPacket
-
createRequestPacket
public com.sun.xml.ws.api.message.Packet createRequestPacket(com.sun.xml.ws.api.message.Message message, String wsaAction, boolean expectReply) -
createRequestPacket
-
createEmptyRequestPacket
public com.sun.xml.ws.api.message.Packet createEmptyRequestPacket(boolean expectReply) Creates a new empty request packet- Returns:
- a new empty request packet
-
createEmptyRequestPacket
public com.sun.xml.ws.api.message.Packet createEmptyRequestPacket(String requestWsaAction, boolean expectReply) Creates a new empty request packet with an empty message that has WS-A action set- Returns:
- a new empty request packet
-
createResponsePacket
public com.sun.xml.ws.api.message.Packet createResponsePacket(@NotNull com.sun.xml.ws.api.message.Packet requestPacket, Object jaxbElement, String responseWsaAction, boolean isClientResponse) Creates new response packet based for the supplied request packet with the provided response WS-Addressing action set.- Parameters:
requestPacket- original request the newly created response belongs toresponseWsaAction- WS-Addressing action header value to be setisClientResponse- determines whether the response is technically a client request- Returns:
- newly created response packet
-
createResponsePacket
public com.sun.xml.ws.api.message.Packet createResponsePacket(com.sun.xml.ws.api.message.Packet requestPacket, com.sun.xml.ws.api.message.Message message, String responseWsaAction) Creates new response packet based for the supplied request packet with the provided response WS-Addressing action set.- Parameters:
requestPacket- original request the newly created response belongs toresponseWsaAction- WS-Addressing action header value to be set- Returns:
- newly created response packet
-
createEmptyResponsePacket
public com.sun.xml.ws.api.message.Packet createEmptyResponsePacket(com.sun.xml.ws.api.message.Packet requestPacket, String responseWsaAction) Creates an empty (no SOAP body payload) new response packet based for the supplied request packet with the provided response WS-Addressing action set.- Parameters:
requestPacket- original request the newly created response belongs toresponseWsaAction- WS-Addressing action header value to be set- Returns:
- newly created empty (no SOAP body payload) response packet
-
createNullResponsePacket
public com.sun.xml.ws.api.message.Packet createNullResponsePacket(com.sun.xml.ws.api.message.Packet requestPacket) Creates a null (no message) response packet based for the supplied request packet.- Parameters:
requestPacket- original request the newly created response belongs to- Returns:
- newly created null (no message) response packet
-
setEmptyRequestMessage
public com.sun.xml.ws.api.message.Packet setEmptyRequestMessage(com.sun.xml.ws.api.message.Packet request, String wsaAction) Creates a new JAX-WSMessageobject that doesn't have any payload and sets it as the current packet content as a request message.- Parameters:
wsaAction- WS-Addressing action header to set- Returns:
- the updated
Packetinstance
-
setEmptyResponseMessage
public com.sun.xml.ws.api.message.Packet setEmptyResponseMessage(com.sun.xml.ws.api.message.Packet response, com.sun.xml.ws.api.message.Packet request, String wsaAction) Overwrites theMessageof the response packet with a newly created emptyMessageinstance. UnlikePacket.setMessage(Message), this method fills in theMessage's WS-Addressing headers correctly, based on the provided request packet WS-Addressing headers. -
getWsaAction
Returns the value of WS-AddressingActionheader of a message stored in thePacket.- Parameters:
packet- JAX-WS RI packet- Returns:
- Value of WS-Addressing
Actionheader,nullif the header is not present
-
getWsaTo
Returns the value of WS-AddressingToheader of a message stored in thePacket.- Parameters:
packet- JAX-WS RI packet- Returns:
- Value of WS-Addressing
Toheader,nullif the header is not present
-
tryStartSecureConversation
public SecurityTokenReferenceType tryStartSecureConversation(com.sun.xml.ws.api.message.Packet request) throws WSTrustException If security is enabled, tries to initate secured conversation and obtain the security token reference.- Returns:
- security token reference of the initiated secured conversation, or
nullif there is no SC configured - Throws:
WSTrustException
-
send
public com.sun.xml.ws.api.message.Packet send(@NotNull com.sun.xml.ws.api.message.Packet request) Sends the requestPacketand returns the corresponding responsePacket. This method should be used for Req-Res MEP- Parameters:
request-Packetcontaining the message to be send- Returns:
- response
Messagewrapped in a responsePacketreceived
-
sendAsync
public void sendAsync(@NotNull com.sun.xml.ws.api.message.Packet request, @Nullable com.sun.xml.ws.api.pipe.Fiber.CompletionCallback completionCallbackHandler) Asynchronously sends the requestPacket- Parameters:
request-Packetcontaining the message to be sendcompletionCallbackHandler- completion callback handler to process the response. May benull. In such case a generic completion callback handler will be used.
-
sendAsync
public void sendAsync(@NotNull com.sun.xml.ws.api.message.Packet request, @Nullable com.sun.xml.ws.api.pipe.Fiber.CompletionCallback completionCallbackHandler, @Nullable com.sun.xml.ws.api.pipe.FiberContextSwitchInterceptor interceptor) -
getDestinationAddress
@Nullable public com.sun.xml.ws.api.EndpointAddress getDestinationAddress()Provides the destination endpoint reference thisCommunicatoris pointing to. May returnnull(typically when used on the server side).- Returns:
- destination endpoint reference or
nullin case the destination address has not been specified when constructing thisCommunicatorinstance.
-
setDestinationAddress
public void setDestinationAddress(com.sun.xml.ws.api.EndpointAddress newValue) -
setDestinationAddressFrom
public void setDestinationAddressFrom(com.sun.xml.ws.api.message.Packet packet) -
getAddressingVersion
public com.sun.xml.ws.api.addressing.AddressingVersion getAddressingVersion() -
getSoapVersion
public com.sun.xml.ws.api.SOAPVersion getSoapVersion() -
close
public void close() -
isClosed
public boolean isClosed() -
getContainer
public com.sun.xml.ws.api.Component getContainer()
-