Class HttpAdapter

  • All Implemented Interfaces:
    Component, Reconfigurable
    Direct Known Subclasses:
    ServerAdapter, ServletAdapter

    public class HttpAdapter
    extends Adapter<com.sun.xml.ws.transport.http.HttpAdapter.HttpToolkit>
    Adapter that receives messages in HTTP.

    This object also assigns unique query string (such as "xsd=1") to each SDDocument so that they can be served by HTTP GET requests.

    Author:
    Kohsuke Kawaguchi, Jitendra Kotamraju
    • Field Detail

      • urlPattern

        public final String urlPattern
        Servlet URL pattern with which this HttpAdapter is associated.
      • stickyCookie

        protected boolean stickyCookie
      • disableJreplicaCookie

        protected boolean disableJreplicaCookie
      • dump

        public static volatile boolean dump
        Dumps what goes across HTTP transport.
      • dump_threshold

        public static volatile int dump_threshold
      • publishStatusPage

        public static volatile boolean publishStatusPage
    • Method Detail

      • createAlone

        public static HttpAdapter createAlone​(WSEndpoint endpoint)
        Creates a lone HttpAdapter that does not know of any other HttpAdapters. This is convenient for creating an HttpAdapter for an environment where they don't know each other (such as JavaSE deployment.)
        Parameters:
        endpoint - web service endpoint
        Returns:
        singe adapter to process HTTP messages
      • getServiceDefinition

        public ServiceDefinition getServiceDefinition()
        Return the last known service definition of the endpoint.
        Returns:
        The service definition of the endpoint
      • initWSDLMap

        public final void initWSDLMap​(ServiceDefinition serviceDefinition)
        Fill in WSDL map.
        Parameters:
        sdef - service definition
      • getValidPath

        public String getValidPath()
        Returns the "/abc/def/ghi" portion if the URL pattern is "/abc/def/ghi/*".
      • createToolkit

        protected com.sun.xml.ws.transport.http.HttpAdapter.HttpToolkit createToolkit()
        Description copied from class: Adapter
        Creates a Adapter.Toolkit instance.

        If the derived class doesn't have to add any per-thread state to Adapter.Toolkit, simply implement this as new Toolkit().

        Specified by:
        createToolkit in class Adapter<com.sun.xml.ws.transport.http.HttpAdapter.HttpToolkit>
      • handle

        public void handle​(@NotNull
                           WSHTTPConnection connection)
                    throws IOException
        Receives the incoming HTTP connection and dispatches it to JAX-WS. This method returns when JAX-WS completes processing the request and the whole reply is written to WSHTTPConnection.

        This method is invoked by the lower-level HTTP stack, and "connection" here is an HTTP connection.

        To populate a request Packet with more info, define properties on WSHTTPConnection.

        Parameters:
        connection - to receive/send HTTP messages for web service endpoints
        Throws:
        IOException - when I/O errors happen
      • addSatellites

        protected void addSatellites​(Packet packet)
      • fixQuotesAroundSoapAction

        public static String fixQuotesAroundSoapAction​(String soapAction)
        Some stacks may send non WS-I BP 1.2 conforming SoapAction. Make sure SOAPAction is quoted as Packet.soapAction expects quoted soapAction value.
        Parameters:
        soapAction - SoapAction HTTP Header
        Returns:
        quoted SOAPAction value
      • writeClientError

        protected void writeClientError​(int connStatus,
                                        @NotNull
                                        OutputStream os,
                                        @NotNull
                                        Packet packet)
                                 throws IOException
        This method is added for the case of the sub-class wants to override the method to print details. E.g. convert soapfault as HTML msg for 403 error connstatus.
        Parameters:
        os -
        Throws:
        IOException
      • publishWSDL

        public void publishWSDL​(@NotNull
                                WSHTTPConnection con)
                         throws IOException
        Sends out the WSDL (and other referenced documents) in response to the GET requests to URLs like "?wsdl" or "?xsd=2".
        Parameters:
        con - The connection to which the data will be sent.
        Throws:
        IOException - when I/O errors happen
      • setPublishStatus

        public static void setPublishStatus​(boolean publish)
      • setDump

        public static void setDump​(boolean dumpMessages)