com.sun.xml.ws.rx.util
Class Communicator

java.lang.Object
  extended by com.sun.xml.ws.rx.util.Communicator

public final class Communicator
extends Object

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
static class Communicator.Builder
           
 
Field Summary
 QName soapMustUnderstandAttributeName
           
 
Method Summary
static Communicator.Builder builder(String name)
           
 void close()
           
 Packet createEmptyRequestPacket(boolean expectReply)
          Creates a new empty request packet
 Packet createEmptyRequestPacket(String requestWsaAction, boolean expectReply)
          Creates a new empty request packet with an empty message that has WS-A action set
 Packet createEmptyResponsePacket(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.
 Packet createNullResponsePacket(Packet requestPacket)
          Creates a null (no message) response packet based for the supplied request packet.
 Packet createRequestPacket(Message message, String wsaAction, boolean expectReply)
           
 Packet createRequestPacket(Object jaxbElement, String wsaAction, boolean expectReply)
           
 Packet createRequestPacket(Packet originalRequestPacket, Object jaxbElement, String wsaAction, boolean expectReply)
           
 Packet createResponsePacket(Packet requestPacket, Message message, String responseWsaAction)
          Creates new response packet based for the supplied request packet with the provided response WS-Addressing action set.
 Packet createResponsePacket(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.
 AddressingVersion getAddressingVersion()
           
 Component getContainer()
           
 EndpointAddress getDestinationAddress()
          Provides the destination endpoint reference this Communicator is pointing to.
 SOAPVersion getSoapVersion()
           
 String getWsaAction(Packet packet)
          Returns the value of WS-Addressing Action header of a message stored in the Packet.
 String getWsaTo(Packet packet)
          Returns the value of WS-Addressing To header of a message stored in the Packet.
 boolean isClosed()
           
 Packet send(Packet request)
          Sends the request Packet and returns the corresponding response Packet.
 void sendAsync(Packet request, Fiber.CompletionCallback completionCallbackHandler)
          Asynchronously sends the request Packet
 void sendAsync(Packet request, Fiber.CompletionCallback completionCallbackHandler, FiberContextSwitchInterceptor interceptor)
           
 void setDestinationAddress(EndpointAddress newValue)
           
 void setDestinationAddressFrom(Packet packet)
           
 Packet setEmptyRequestMessage(Packet request, String wsaAction)
          Creates a new JAX-WS Message object that doesn't have any payload and sets it as the current packet content as a request message.
 Packet setEmptyResponseMessage(Packet response, Packet request, String wsaAction)
          Overwrites the Message of the response packet with a newly created empty Message instance.
 SecurityTokenReferenceType tryStartSecureConversation(Packet request)
          If security is enabled, tries to initate secured conversation and obtain the security token reference.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

soapMustUnderstandAttributeName

public final QName soapMustUnderstandAttributeName
Method Detail

builder

public static Communicator.Builder builder(String name)

createRequestPacket

public final Packet createRequestPacket(Object jaxbElement,
                                        String wsaAction,
                                        boolean expectReply)

createRequestPacket

public final Packet createRequestPacket(Message message,
                                        String wsaAction,
                                        boolean expectReply)

createRequestPacket

public final Packet createRequestPacket(Packet originalRequestPacket,
                                        Object jaxbElement,
                                        String wsaAction,
                                        boolean expectReply)

createEmptyRequestPacket

public Packet createEmptyRequestPacket(boolean expectReply)
Creates a new empty request packet

Returns:
a new empty request packet

createEmptyRequestPacket

public 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 Packet createResponsePacket(@NotNull
                                   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 to
responseWsaAction - WS-Addressing action header value to be set
isClientResponse - determines whether the response is technically a client request
Returns:
newly created response packet

createResponsePacket

public Packet createResponsePacket(Packet requestPacket,
                                   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 to
responseWsaAction - WS-Addressing action header value to be set
Returns:
newly created response packet

createEmptyResponsePacket

public Packet createEmptyResponsePacket(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 to
responseWsaAction - WS-Addressing action header value to be set
Returns:
newly created empty (no SOAP body payload) response packet

createNullResponsePacket

public Packet createNullResponsePacket(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 final Packet setEmptyRequestMessage(Packet request,
                                           String wsaAction)
Creates a new JAX-WS Message object 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 PacketAdapter instance

setEmptyResponseMessage

public final Packet setEmptyResponseMessage(Packet response,
                                            Packet request,
                                            String wsaAction)
Overwrites the Message of the response packet with a newly created empty Message instance. Unlike Packet.setMessage(Message), this method fills in the Message's WS-Addressing headers correctly, based on the provided request packet WS-Addressing headers.

Parameters:
requestAdapter -
wsaAction -
Returns:

getWsaAction

public String getWsaAction(Packet packet)
Returns the value of WS-Addressing Action header of a message stored in the Packet.

Parameters:
packet - JAX-WS RI packet
Returns:
Value of WS-Addressing Action header, null if the header is not present

getWsaTo

public String getWsaTo(Packet packet)
Returns the value of WS-Addressing To header of a message stored in the Packet.

Parameters:
packet - JAX-WS RI packet
Returns:
Value of WS-Addressing To header, null if the header is not present

tryStartSecureConversation

public SecurityTokenReferenceType tryStartSecureConversation(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 null if there is no SC configured
Throws:
WSTrustException

send

public Packet send(@NotNull
                   Packet request)
Sends the request Packet and returns the corresponding response Packet. This method should be used for Req-Res MEP

Parameters:
request - Packet containing the message to be send
Returns:
response Message wrapped in a response Packet received

sendAsync

public void sendAsync(@NotNull
                      Packet request,
                      @Nullable
                      Fiber.CompletionCallback completionCallbackHandler)
Asynchronously sends the request Packet

Parameters:
request - Packet containing the message to be send
completionCallbackHandler - completion callback handler to process the response. May be null. In such case a generic completion callback handler will be used.

sendAsync

public void sendAsync(@NotNull
                      Packet request,
                      @Nullable
                      Fiber.CompletionCallback completionCallbackHandler,
                      @Nullable
                      FiberContextSwitchInterceptor interceptor)

getDestinationAddress

@Nullable
public EndpointAddress getDestinationAddress()
Provides the destination endpoint reference this Communicator is pointing to. May return null (typically when used on the server side).

Returns:
destination endpoint reference or null in case the destination address has not been specified when constructing this Communicator instance.

setDestinationAddress

public void setDestinationAddress(EndpointAddress newValue)

setDestinationAddressFrom

public void setDestinationAddressFrom(Packet packet)

getAddressingVersion

public AddressingVersion getAddressingVersion()

getSoapVersion

public SOAPVersion getSoapVersion()

close

public void close()

isClosed

public boolean isClosed()

getContainer

public Component getContainer()


Copyright © 2005-2015 Oracle Corporation. All Rights Reserved.