com.sun.xml.ws.transport.http.servlet
Class ServletAdapter

java.lang.Object
  extended by com.sun.xml.ws.api.server.Adapter<com.sun.xml.ws.transport.http.HttpAdapter.HttpToolkit>
      extended by com.sun.xml.ws.transport.http.HttpAdapter
          extended by com.sun.xml.ws.transport.http.servlet.ServletAdapter
All Implemented Interfaces:
Component, Reconfigurable, BoundEndpoint

public class ServletAdapter
extends HttpAdapter
implements BoundEndpoint

HttpAdapter for servlets.

This is a thin wrapper around HttpAdapter with some description specified in the deployment (in particular those information are related to how a request is routed to a ServletAdapter.

This class implements BoundEndpoint and represent the servlet-WSEndpoint association for


Nested Class Summary
 
Nested classes/interfaces inherited from class com.sun.xml.ws.transport.http.HttpAdapter
HttpAdapter.CompletionCallback
 
Nested classes/interfaces inherited from class com.sun.xml.ws.api.server.Adapter
Adapter.Toolkit
 
Field Summary
 
Fields inherited from class com.sun.xml.ws.transport.http.HttpAdapter
disableJreplicaCookie, dump, NO_OP_COMPLETION_CALLBACK, owner, publishStatusPage, stickyCookie, urlPattern, wsdls
 
Fields inherited from class com.sun.xml.ws.api.server.Adapter
endpoint, pool
 
Constructor Summary
protected ServletAdapter(java.lang.String name, java.lang.String urlPattern, WSEndpoint endpoint, ServletAdapterList owner)
           
 
Method Summary
protected  WSHTTPConnection createConnection(javax.servlet.ServletContext context, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
           
 java.net.URI getAddress()
          The address of the bound endpoint.
 java.net.URI getAddress(java.lang.String baseAddress)
          The address of the bound endpoint using the base address.
 java.lang.String getName()
          Gets the name of the endpoint as given in the sun-jaxws.xml deployment descriptor.
 javax.xml.namespace.QName getPortName()
          Convenient method to return a port name from WSEndpoint.
 javax.servlet.ServletContext getServletContext()
           
 void handle(javax.servlet.ServletContext context, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          Version of HttpAdapter.handle(WSHTTPConnection) that takes convenient parameters for servlet.
 void invokeAsync(javax.servlet.ServletContext context, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, HttpAdapter.CompletionCallback callback)
          Version of HttpAdapter.handle(WSHTTPConnection) that takes convenient parameters for servlet.
 void publishWSDL(javax.servlet.ServletContext context, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          Deprecated. Use handle(ServletContext, HttpServletRequest, HttpServletResponse)
 java.lang.String toString()
           
 
Methods inherited from class com.sun.xml.ws.transport.http.HttpAdapter
addSatellites, createAlone, createToolkit, fixQuotesAroundSoapAction, getDocumentAddressResolver, getNonAnonymousResponseProcessor, getPortAddressResolver, getServiceDefinition, getValidPath, handle, handleGet, initWSDLMap, invokeAsync, invokeAsync, publishWSDL, setDump, setPublishStatus, writeClientError
 
Methods inherited from class com.sun.xml.ws.api.server.Adapter
getEndpoint, getEndpointComponent, getPool, getSPI, reconfigure
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.sun.xml.ws.api.server.BoundEndpoint
getEndpoint
 
Methods inherited from interface com.sun.xml.ws.api.Component
getSPI
 

Constructor Detail

ServletAdapter

protected ServletAdapter(java.lang.String name,
                         java.lang.String urlPattern,
                         WSEndpoint endpoint,
                         ServletAdapterList owner)
Method Detail

getServletContext

public javax.servlet.ServletContext getServletContext()

getName

public java.lang.String getName()
Gets the name of the endpoint as given in the sun-jaxws.xml deployment descriptor.


getAddress

@NotNull
public java.net.URI getAddress()
Description copied from interface: BoundEndpoint
The address of the bound endpoint.

For example, if this endpoint is bound to a servlet endpoint "http://foobar/myapp/myservice", then this method should return that address.

Specified by:
getAddress in interface BoundEndpoint
Returns:
address of the endpoint

getAddress

@NotNull
public java.net.URI getAddress(java.lang.String baseAddress)
Description copied from interface: BoundEndpoint
The address of the bound endpoint using the base address. Often times, baseAddress is only avaialble during the request.

If the endpoint is bound to a servlet endpoint, the base address won't include the url-pattern, so the base address would be "http://host:port/context". This method would include url-pattern for the endpoint and return that address for e.g. "http://host:port/context/url-pattern"

Specified by:
getAddress in interface BoundEndpoint
Parameters:
baseAddress - that is used in computing the full address
Returns:
address of the endpoint

getPortName

public javax.xml.namespace.QName getPortName()
Convenient method to return a port name from WSEndpoint.

Returns:
null if WSEndpoint isn't tied to any paritcular port.

handle

public void handle(javax.servlet.ServletContext context,
                   javax.servlet.http.HttpServletRequest request,
                   javax.servlet.http.HttpServletResponse response)
            throws java.io.IOException
Version of HttpAdapter.handle(WSHTTPConnection) that takes convenient parameters for servlet.

Parameters:
context - Servlet Context
request - Servlet Request
response - Servlet Response
Throws:
java.io.IOException - when there is i/o error in handling request

createConnection

protected WSHTTPConnection createConnection(javax.servlet.ServletContext context,
                                            javax.servlet.http.HttpServletRequest request,
                                            javax.servlet.http.HttpServletResponse response)

invokeAsync

public void invokeAsync(javax.servlet.ServletContext context,
                        javax.servlet.http.HttpServletRequest request,
                        javax.servlet.http.HttpServletResponse response,
                        HttpAdapter.CompletionCallback callback)
                 throws java.io.IOException
Version of HttpAdapter.handle(WSHTTPConnection) that takes convenient parameters for servlet. Based on the async capabilities of the request and the application processing it, the method may run in asynchronous mode. When run in async mode, this method returns immediately. The response is delayed until the application is ready with the response or the corresponding asynchronous operation times out. The CompletionCallback is guaranteed to run after response is committed..

Parameters:
context - Servlet Context
request - Servlet Request
response - Servlet Response
callback - CompletionCallback
Throws:
java.io.IOException - when there is i/o error in handling request

publishWSDL

public void publishWSDL(javax.servlet.ServletContext context,
                        javax.servlet.http.HttpServletRequest request,
                        javax.servlet.http.HttpServletResponse response)
                 throws java.io.IOException
Deprecated. Use handle(ServletContext, HttpServletRequest, HttpServletResponse)

Parameters:
context - Servlet Context
request - Servlet Request
response - Servlet Response
Throws:
java.io.IOException - when there is i/o error in handling request

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object


Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved.