|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.xml.ws.spi.ServiceDelegate
com.sun.xml.ws.api.WSService
public abstract class WSService
JAX-WS implementation of ServiceDelegate
.
This abstract class is used only to improve the static type safety of the JAX-WS internal API.
The class name intentionally doesn't include "Delegate",
because the fact that it's a delegate is a detail of
the JSR-224 API, and for the layers above us this object
nevertheless represents Service
. We want them
to think of this as an internal representation of a service.
Only JAX-WS internal code may downcast this to WSServiceDelegate
.
Nested Class Summary | |
---|---|
static class |
WSService.InitParams
Typed parameter bag used by create(URL, QName, InitParams) |
Field Summary | |
---|---|
protected static WSService.InitParams |
EMPTY_PARAMS
Used as a immutable constant so that we can avoid null check. |
protected static java.lang.ThreadLocal<WSService.InitParams> |
INIT_PARAMS
To create a Service , we need to go through the API that doesn't let us
pass parameters, so as a hack we use thread local. |
Constructor Summary | |
---|---|
protected |
WSService()
|
Method Summary | ||
---|---|---|
static WSService |
create()
Creates a service with a dummy service name. |
|
static WSService |
create(javax.xml.namespace.QName serviceName)
Create a Service instance. |
|
static WSService |
create(java.net.URL wsdlDocumentLocation,
javax.xml.namespace.QName serviceName)
Create a Service instance. |
|
static javax.xml.ws.Service |
create(java.net.URL wsdlDocumentLocation,
javax.xml.namespace.QName serviceName,
WSService.InitParams properties)
Creates a Service instance. |
|
abstract
|
createDispatch(javax.xml.namespace.QName portName,
WSEndpointReference wsepr,
java.lang.Class<T> aClass,
javax.xml.ws.Service.Mode mode,
javax.xml.ws.WebServiceFeature... features)
Works like ServiceDelegate.createDispatch(javax.xml.ws.EndpointReference, java.lang.Class, javax.xml.ws.Service.Mode, javax.xml.ws.WebServiceFeature[])
but it takes the port name separately, so that EPR without embedded metadata can be used. |
|
abstract javax.xml.ws.Dispatch<java.lang.Object> |
createDispatch(javax.xml.namespace.QName portName,
WSEndpointReference wsepr,
javax.xml.bind.JAXBContext jaxbContext,
javax.xml.ws.Service.Mode mode,
javax.xml.ws.WebServiceFeature... features)
Works like ServiceDelegate.createDispatch(javax.xml.ws.EndpointReference, javax.xml.bind.JAXBContext, javax.xml.ws.Service.Mode, javax.xml.ws.WebServiceFeature[])
but it takes the port name separately, so that EPR without embedded metadata can be used. |
|
java.util.Set<Component> |
getComponents()
Returns the set of Component s registered with this object |
|
abstract Container |
getContainer()
Gets the Container object. |
|
abstract
|
getPort(WSEndpointReference epr,
java.lang.Class<T> portInterface,
javax.xml.ws.WebServiceFeature... features)
Works like ServiceDelegate.getPort(EndpointReference, Class, WebServiceFeature...)
but takes WSEndpointReference . |
|
|
getSPI(java.lang.Class<S> spiType)
Gets the specified SPI. |
|
static WSService |
unwrap(javax.xml.ws.Service svc)
Obtains the WSService that's encapsulated inside a Service . |
Methods inherited from class javax.xml.ws.spi.ServiceDelegate |
---|
addPort, createDispatch, createDispatch, createDispatch, createDispatch, createDispatch, createDispatch, getExecutor, getHandlerResolver, getPort, getPort, getPort, getPort, getPort, getPorts, getServiceName, getWSDLDocumentLocation, setExecutor, setHandlerResolver |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected static final java.lang.ThreadLocal<WSService.InitParams> INIT_PARAMS
Service
, we need to go through the API that doesn't let us
pass parameters, so as a hack we use thread local.
protected static final WSService.InitParams EMPTY_PARAMS
Constructor Detail |
---|
protected WSService()
Method Detail |
---|
public abstract <T> T getPort(WSEndpointReference epr, java.lang.Class<T> portInterface, javax.xml.ws.WebServiceFeature... features)
ServiceDelegate.getPort(EndpointReference, Class, WebServiceFeature...)
but takes WSEndpointReference
.
public abstract <T> javax.xml.ws.Dispatch<T> createDispatch(javax.xml.namespace.QName portName, WSEndpointReference wsepr, java.lang.Class<T> aClass, javax.xml.ws.Service.Mode mode, javax.xml.ws.WebServiceFeature... features)
ServiceDelegate.createDispatch(javax.xml.ws.EndpointReference, java.lang.Class, javax.xml.ws.Service.Mode, javax.xml.ws.WebServiceFeature[])
but it takes the port name separately, so that EPR without embedded metadata can be used.
public abstract javax.xml.ws.Dispatch<java.lang.Object> createDispatch(javax.xml.namespace.QName portName, WSEndpointReference wsepr, javax.xml.bind.JAXBContext jaxbContext, javax.xml.ws.Service.Mode mode, javax.xml.ws.WebServiceFeature... features)
ServiceDelegate.createDispatch(javax.xml.ws.EndpointReference, javax.xml.bind.JAXBContext, javax.xml.ws.Service.Mode, javax.xml.ws.WebServiceFeature[])
but it takes the port name separately, so that EPR without embedded metadata can be used.
@NotNull public abstract Container getContainer()
Container
object.
The components inside WSEndpoint
uses this reference
to communicate with the hosting environment.
Container
instance
is given, Container.NONE
will be returned.@Nullable public <S> S getSPI(@NotNull java.lang.Class<S> spiType)
Component
This method works as a kind of directory service for SPIs, allowing various components to define private contract and talk to each other.
getSPI
in interface Component
@NotNull public java.util.Set<Component> getComponents()
ComponentRegistry
Component
s registered with this object
getComponents
in interface ComponentRegistry
public static WSService create(java.net.URL wsdlDocumentLocation, javax.xml.namespace.QName serviceName)
Service
instance.
The specified WSDL document location and service qualified name MUST
uniquely identify a wsdl:service
element.
wsdlDocumentLocation
- URL for the WSDL document location
for the serviceserviceName
- QName for the service
javax.xml.ws.WebServiceException
- If any error in creation of the
specified service.public static WSService create(javax.xml.namespace.QName serviceName)
Service
instance.
serviceName
- QName for the service
javax.xml.ws.WebServiceException
- If any error in creation of the
specified servicepublic static WSService create()
public static javax.xml.ws.Service create(java.net.URL wsdlDocumentLocation, javax.xml.namespace.QName serviceName, WSService.InitParams properties)
Service
instance.
This method works really like Service.create(URL, QName)
except it takes one more RI specific parameter.
wsdlDocumentLocation
- URL
for the WSDL document location for the service.
Can be null, in which case WSDL is not loaded.serviceName
- QName
for the service.properties
- Additional RI specific initialization parameters. Can be null.
javax.xml.ws.WebServiceException
- If any error in creation of the specified service.public static WSService unwrap(javax.xml.ws.Service svc)
WSService
that's encapsulated inside a Service
.
java.lang.IllegalArgumentException
- if the given service object is not from the JAX-WS RI.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |