See: Description
| Class | Description | 
|---|---|
| HttpContext | HttpContext represents a mapping between the root URI path of a web
 service to a  HttpHandlerwhich is invoked to handle requests
 destined for that path on the associated container. | 
| HttpExchange | This class encapsulates a HTTP request received and a 
 response to be generated in one exchange. | 
| HttpHandler | A handler which is invoked to process HTTP requests. | 
  References in this document to JAX-WS refer to the Jakarta XML Web Services unless otherwise noted.
  References in this document to JAXB refer to the Jakarta XML Binding unless otherwise noted.
  
The portable deployment is done as below:
Endpoint objects for an
  application. The necessary information to create Endpoint objects
  may be got from web service deployment descriptor files.HttpContext
  objects for the deployment. For example, a HttpContext could be
  created using servlet configuration(for e.g url-pattern) for the
  web service in servlet container case.Endpoint.publish(HttpContext). During publish(),
  Jakarta XML Web Services runtime registers a HttpHandler
  callback to handle incoming requests or
  HttpExchange objects. The HttpExchange
  object encapsulates a HTTP request and a response.
  
  Container                               Jakarta XML Web Services runtime
  ---------                               --------------
  1. Creates Invoker1, ... InvokerN
  2. Provider.createEndpoint(...)     --> 3. creates Endpoint1
     configures Endpoint1
     ...
  4. Provider.createEndpoint(...)     --> 5. creates EndpointN
     configures EndpointN
  6. Creates ApplicationContext
  7. creates HttpContext1, ... HttpContextN
  8. Endpoint1.publish(HttpContext1)  --> 9. creates HttpHandler1
                                          HttpContext1.setHandler(HttpHandler1)
     ...
 10. EndpointN.publish(HttpContextN)  --> 11. creates HttpHandlerN
                                         HttpContextN.setHandler(HttpHandlerN)
  
  The request processing is done as below(for every request):
  
  Container                               Jakarta XML Web Services runtime
  ---------                               --------------
  1. Creates a HttpExchange
  2. Gets handler from HttpContext
  3. HttpHandler.handle(HttpExchange) --> 4. reads request from HttpExchange
                                      <-- 5. Calls Invoker
  6. Invokes the actual instance
                                          7. Writes the response to HttpExchange
  
  The portable undeployment is done as below:
Container --------- 1. @preDestroy on instances 2. Endpoint1.stop() ... 3. EndpointN.stop()