Class HttpClientRequestSOAP11Encoder

    • Constructor Detail

      • HttpClientRequestSOAP11Encoder

        public HttpClientRequestSOAP11Encoder()
        Constructor.
    • Method Detail

      • prepareContext

        public void prepareContext()
                            throws MessageEncodingException
        This method should prepare the message context by creating and populating any binding-specific data structures required in the MessageContext, prior to actually encoding.

        This method should be called after the MessageContext has been set, and before any binding-specific Handler or HandlerChains are invoked.

        Example: For a SOAP encoder, this method would create and store the basic SOAP Envelope structure in the message context, so that Handlers that are invoked have a place to which to add headers.

        This method may be a no-op if not required by the binding, or if the message type of the context implies that the binding-specific structures have already been created elsewhere (e.g. message-oriented code where the calling code already knows its SOAP, and is operating on the raw SOAP envelope anyway).

        . Default implementation is a no-op.
        Specified by:
        prepareContext in interface MessageEncoder
        Overrides:
        prepareContext in class AbstractMessageEncoder
        Throws:
        MessageEncodingException - if there is a problem preparing the message context for encoding
      • createRequestEntity

        protected org.apache.http.HttpEntity createRequestEntity​(@Nonnull
                                                                 Envelope message,
                                                                 @Nullable
                                                                 Charset charset)
                                                          throws MessageEncodingException
        Create the request entity that makes up the POST message body.
        Parameters:
        message - message to be sent
        charset - character set used for the message
        Returns:
        request entity that makes up the POST message body
        Throws:
        MessageEncodingException - thrown if the message could not be marshalled
      • storeSOAPEnvelope

        protected void storeSOAPEnvelope​(Envelope envelope)
        Store the constructed SOAP envelope in the message context for later encoding.
        Parameters:
        envelope - the SOAP envelope
      • getSOAPEnvelope

        protected Envelope getSOAPEnvelope()
        Retrieve the previously stored SOAP envelope from the message context.
        Returns:
        the previously stored SOAP envelope
      • buildAndStoreSOAPMessage

        protected void buildAndStoreSOAPMessage​(@Nonnull
                                                XMLObject payload)
        Builds the SOAP message to be encoded.
        Parameters:
        payload - body of the SOAP message
      • prepareHttpRequest

        protected void prepareHttpRequest()
                                   throws MessageEncodingException

        This implementation performs the following actions on the context's HttpRequest:

        1. Sets the SOAPAction HTTP header the value returned by getSOAPAction(), if that returns non-null.

        Subclasses should NOT set the SOAPAction HTTP header in this method. Instead, they should override the method getSOAPAction().

        Throws:
        MessageEncodingException - thrown if there is a problem preprocessing the transport
      • getSOAPAction

        protected String getSOAPAction()
        Determine the value of the SOAPAction HTTP header to send.

        The default behavior is to return the value of the SOAP Envelope's WS-Addressing Action header, if present.

        Returns:
        a SOAPAction HTTP header URI value