Class HttpAdapter

java.lang.Object
com.sun.xml.ws.api.server.Adapter<com.sun.xml.ws.transport.http.HttpAdapter.HttpToolkit>
com.sun.xml.ws.transport.http.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 Details

    • wsdls

      protected Map<String,SDDocument> wsdls
      SDDocuments keyed by the query string like "?abc". Used for serving documents via HTTP GET. Empty if the endpoint doesn't have ServiceDefinition. Read-only.
    • owner

      public final HttpAdapterList<? extends HttpAdapter> owner
    • urlPattern

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

      protected boolean stickyCookie
    • disableJreplicaCookie

      protected boolean disableJreplicaCookie
    • NO_OP_COMPLETION_CALLBACK

      public static final HttpAdapter.CompletionCallback NO_OP_COMPLETION_CALLBACK
    • 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
  • Constructor Details

  • Method Details

    • 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:
      serviceDefinition - 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<TK extends Adapter.Toolkit>.Toolkit instance.

      If the derived class doesn't have to add any per-thread state to Adapter<TK extends Adapter.Toolkit>.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
    • handleGet

      public boolean handleGet(@NotNull WSHTTPConnection connection) throws IOException
      Throws:
      IOException
    • 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
    • getNonAnonymousResponseProcessor

      protected NonAnonymousResponseProcessor getNonAnonymousResponseProcessor()
    • 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.
      Throws:
      IOException
    • invokeAsync

      public void invokeAsync(WSHTTPConnection con) throws IOException
      Throws:
      IOException
    • invokeAsync

      public void invokeAsync(WSHTTPConnection con, HttpAdapter.CompletionCallback callback) throws IOException
      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
    • getPortAddressResolver

      public PortAddressResolver getPortAddressResolver(String baseAddress)
    • getDocumentAddressResolver

      public DocumentAddressResolver getDocumentAddressResolver(PortAddressResolver portAddressResolver)
    • setPublishStatus

      public static void setPublishStatus(boolean publish)
    • setDump

      public static void setDump(boolean dumpMessages)
    • setDumpTreshold

      public static void setDumpTreshold(int treshold)