com.sun.xml.ws.api.server |
APIs for hosting JAX-WS services. |
Java Source File Name | Type | Comment |
AbstractServerAsyncTransport.java | Class | Partial server side async transport implementation. |
Adapter.java | Class | Receives incoming messages from a transport (such as HTTP, JMS, etc)
in a transport specific way, and delivers it to
WSEndpoint.PipeHead.process .
Since this class mostly concerns itself with converting a
transport-specific message representation to a
Packet ,
the name is the "adapter".
The purpose of this class is twofolds:
-
To hide the logic of converting a transport-specific connection
to a
Packet and do the other way around.
-
To manage thread-unsafe resources, such as
WSEndpoint.PipeHead ,
and
Codec .
Adapter s are extended to work with each kind of transport,
and therefore
Adapter class itself is not all that
useful by itself --- it merely provides a design template
that can be followed.
For managing resources, an adapter uses an object called
Toolkit (think of it as a tray full of tools that a dentist uses ---
trays are identical, but each patient has to get one. |
AsyncProvider.java | Interface | Asynchronous version of
Provider .
Applications that use the JAX-WS RI can implement this interface instead of
Provider to implement asynchronous web services (AWS.) AWS enables
applications to perform operations with long latency without blocking a thread,
and thus particularly suitable for highly scalable service implementation,
at the expesnce of implementation complexity. |
AsyncProviderCallback.java | Interface | Callback interface to signal JAX-WS RI that the processing of an asynchronous request is complete. |
BoundEndpoint.java | Interface | Represents the
WSEndpoint bound to a particular transport. |
Container.java | Class | Root of the SPI implemented by the container
(such as application server.)
Often technologies that are built on top of JAX-WS
(such as Tango) needs to negotiate private contracts between
them and the container. |
ContainerResolver.java | Class | This class determines an instance of
Container for the runtime.
It applies for both server and client runtimes(for e.g in Servlet could
be accessing a Web Service). |
DocumentAddressResolver.java | Interface | Resolves relative references among
SDDocument s.
This interface is implemented by the caller of
SDDocument.writeTo method so
that the
SDDocument can correctly produce references
to other documents.
This mechanism allows the user of
WSEndpoint to
assign logical URLs to each
SDDocument (which is often
necessarily done in a transport-dependent way), and then
serve description documents.
Usage Example 1
HTTP servlet transport chose to expose those metadata documents
to HTTP GET requests where each
SDDocument is identified
by a simple query string "?ID". |
EndpointAwareCodec.java | Interface | Implemented by
Codec s that want to have access to
WSEndpoint object. |
EndpointComponent.java | Interface | Interface that allows components around
WSEndpoint to hook up
with each other. |
InstanceResolver.java | Class | Determines the instance that serves
the given request packet.
The JAX-WS spec always use a singleton instance
to serve all the requests, but this hook provides
a convenient way to route messages to a proper receiver.
Externally, an instance of
InstanceResolver is
associated with
WSEndpoint .
Possible Uses
One can use WS-Addressing message properties to
decide which instance to deliver a message. |
InstanceResolverAnnotation.java | Annotation | Meta annotation for selecting instance resolver.
When service class is annotated with an annotation that has
InstanceResolverAnnotation as meta annotation, the JAX-WS RI
runtime will use the instance resolver class specified on
InstanceResolverAnnotation.value() .
The
InstanceResolver class must have the public constructor that
takes
Class , which represents the type of the service.
See
Stateful for a real example. |
Invoker.java | Class | Hides the detail of calling into application endpoint implementation. |
Module.java | Class | Represents an object scoped to the current "module" (like a JavaEE web appliation).
This object can be obtained from
Container.getSPI(Class) .
The scope of the module is driven by
W3CEndpointReferenceBuilder.build 's
requirement that we need to identify a
WSEndpoint that has a specific
service/port name.
For JavaEE containers this should be scoped to a JavaEE application. |
package-info.java | | |
PortAddressResolver.java | Class | Resolves port address for an endpoint. |
ResourceInjector.java | Class | Represents a functionality of the container to inject resources
to application service endpoint object (usually but not necessarily as per JavaEE spec.)
If
Container.getSPI(Class) returns a valid instance of
ResourceInjector ,
The JAX-WS RI will call the
ResourceInjector.inject method for each service endpoint
instance that it manages. |
SDDocument.java | Interface | Represents an individual document that forms a
ServiceDefinition . |
SDDocumentFilter.java | Interface | Provides a way to filter
SDDocument infoset while writing it. |
SDDocumentSource.java | Class | SPI that provides the source of
SDDocument .
This abstract class could be implemented by appliations, or one of the
SDDocumentSource.create methods can be used. |
ServerPipelineHook.java | Class | Allow the container (primarily Glassfish) to inject
their own pipes into the pipeline. |
ServiceDefinition.java | Interface | Root of the unparsed WSDL and other resources referenced from it.
This object represents the description of the service
that a
WSEndpoint offers.
A description consists of a set of
SDDocument , which
each represents a single XML document that forms a part of the
descriptor (for example, WSDL might refer to separate schema documents,
or a WSDL might refer to another WSDL.)
ServiceDefinition and its descendants are immutable
read-only objects. |
TransportBackChannel.java | Interface | Represents a transport back-channel. |
WebModule.java | Class | Module that is an HTTP container. |
WebServiceContextDelegate.java | Interface | This object is set to
Packet.webServiceContextDelegate to serve
WebServiceContext methods for a
Packet .
When the user application calls a method on
WebServiceContext ,
the JAX-WS RI goes to the
Packet that represents the request,
then check
Packet.webServiceContextDelegate , and forwards
the method calls to
WebServiceContextDelegate . |
WSEndpoint.java | Class | Root object that hosts the
Packet processing code
at the server.
One instance of
WSEndpoint is created for each deployed service
endpoint. |
WSWebServiceContext.java | Interface | WebServiceContext that exposes JAX-WS RI specific additions. |