Package com.sun.xml.ws.client
Class WSServiceDelegate
- java.lang.Object
-
- jakarta.xml.ws.spi.ServiceDelegate
-
- com.sun.xml.ws.api.WSService
-
- com.sun.xml.ws.client.WSServiceDelegate
-
- All Implemented Interfaces:
Component
,ComponentRegistry
public class WSServiceDelegate extends WSService
Service
objects provide the client view of a Web service.Service
acts as a factory of the following:- Proxies for a target service endpoint.
- Instances of
jakarta.xml.ws.Dispatch
for dynamic message-oriented invocation of a remote operation.
The ports available on a service can be enumerated using the
getPorts
method. Alternatively, you can pass a service endpoint interface to the unarygetPort
method and let the runtime select a compatible port.Handler chains for all the objects created by a
Service
can be set by means of the providedHandlerRegistry
.An
Executor
may be set on the service in order to gain better control over the threads used to dispatch asynchronous callbacks. For instance, thread pooling with certain parameters can be enabled by creating aThreadPoolExecutor
and registering it with the service.- Since:
- JAX-WS 2.0
- Author:
- WS Development Team
- See Also:
Executor
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.sun.xml.ws.api.WSService
WSService.InitParams
-
-
Field Summary
Fields Modifier and Type Field Description protected static jakarta.xml.ws.WebServiceFeature[]
EMPTY_FEATURES
-
Fields inherited from class com.sun.xml.ws.api.WSService
EMPTY_PARAMS, INIT_PARAMS
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
WSServiceDelegate(URL wsdlDocumentLocation, QName serviceName, Class<? extends jakarta.xml.ws.Service> serviceClass, WebServiceFeatureList features)
WSServiceDelegate(URL wsdlDocumentLocation, QName serviceName, Class<? extends jakarta.xml.ws.Service> serviceClass, jakarta.xml.ws.WebServiceFeature... features)
WSServiceDelegate(Source wsdl, WSDLService service, QName serviceName, Class<? extends jakarta.xml.ws.Service> serviceClass, WebServiceFeatureList features)
WSServiceDelegate(Source wsdl, WSDLService service, QName serviceName, Class<? extends jakarta.xml.ws.Service> serviceClass, jakarta.xml.ws.WebServiceFeature... features)
protected
WSServiceDelegate(Source wsdl, QName serviceName, Class<? extends jakarta.xml.ws.Service> serviceClass, WebServiceFeatureList features)
WSServiceDelegate(Source wsdl, QName serviceName, Class<? extends jakarta.xml.ws.Service> serviceClass, jakarta.xml.ws.WebServiceFeature... features)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addPort(QName portName, String bindingId, String endpointAddress)
SEIModel
buildRuntimeModel(QName serviceName, QName portName, Class portInterface, WSDLPort wsdlPort, WebServiceFeatureList features)
protected EntityResolver
createCatalogResolver()
jakarta.xml.ws.Dispatch<Object>
createDispatch(jakarta.xml.ws.EndpointReference endpointReference, jakarta.xml.bind.JAXBContext context, jakarta.xml.ws.Service.Mode mode, jakarta.xml.ws.WebServiceFeature... features)
<T> jakarta.xml.ws.Dispatch<T>
createDispatch(jakarta.xml.ws.EndpointReference endpointReference, Class<T> type, jakarta.xml.ws.Service.Mode mode, jakarta.xml.ws.WebServiceFeature... features)
protected jakarta.xml.ws.Dispatch<Object>
createDispatch(QName portName, WSEndpointReference wsepr, jakarta.xml.bind.JAXBContext jaxbContext, jakarta.xml.ws.Service.Mode mode, WebServiceFeatureList features)
jakarta.xml.ws.Dispatch<Object>
createDispatch(QName portName, WSEndpointReference wsepr, jakarta.xml.bind.JAXBContext jaxbContext, jakarta.xml.ws.Service.Mode mode, jakarta.xml.ws.WebServiceFeature... features)
Works likeServiceDelegate.createDispatch(jakarta.xml.ws.EndpointReference, jakarta.xml.bind.JAXBContext, jakarta.xml.ws.Service.Mode, jakarta.xml.ws.WebServiceFeature[])
but it takes the port name separately, so that EPR without embedded metadata can be used.<T> jakarta.xml.ws.Dispatch<T>
createDispatch(QName portName, WSEndpointReference wsepr, Class<T> aClass, jakarta.xml.ws.Service.Mode mode, WebServiceFeatureList features)
<T> jakarta.xml.ws.Dispatch<T>
createDispatch(QName portName, WSEndpointReference wsepr, Class<T> aClass, jakarta.xml.ws.Service.Mode mode, jakarta.xml.ws.WebServiceFeature... features)
Works likeServiceDelegate.createDispatch(jakarta.xml.ws.EndpointReference, java.lang.Class, jakarta.xml.ws.Service.Mode, jakarta.xml.ws.WebServiceFeature[])
but it takes the port name separately, so that EPR without embedded metadata can be used.jakarta.xml.ws.Dispatch<Object>
createDispatch(QName portName, jakarta.xml.bind.JAXBContext jaxbContext, jakarta.xml.ws.Service.Mode mode)
protected jakarta.xml.ws.Dispatch<Object>
createDispatch(QName portName, jakarta.xml.bind.JAXBContext jaxbContext, jakarta.xml.ws.Service.Mode mode, WebServiceFeatureList features)
jakarta.xml.ws.Dispatch<Object>
createDispatch(QName portName, jakarta.xml.bind.JAXBContext jaxbContext, jakarta.xml.ws.Service.Mode mode, jakarta.xml.ws.WebServiceFeature... webServiceFeatures)
<T> jakarta.xml.ws.Dispatch<T>
createDispatch(QName portName, Class<T> aClass, jakarta.xml.ws.Service.Mode mode)
<T> jakarta.xml.ws.Dispatch<T>
createDispatch(QName portName, Class<T> aClass, jakarta.xml.ws.Service.Mode mode, WebServiceFeatureList features)
<T> jakarta.xml.ws.Dispatch<T>
createDispatch(QName portName, Class<T> aClass, jakarta.xml.ws.Service.Mode mode, jakarta.xml.ws.WebServiceFeature... features)
Container
getContainer()
Gets theContainer
object.EndpointAddress
getEndpointAddress(QName qName)
Executor
getExecutor()
jakarta.xml.ws.handler.HandlerResolver
getHandlerResolver()
<T> T
getPort(WSEndpointReference wsepr, Class<T> portInterface, jakarta.xml.ws.WebServiceFeature... features)
Works likeServiceDelegate.getPort(EndpointReference, Class, WebServiceFeature...)
but takesWSEndpointReference
.protected <T> T
getPort(WSEndpointReference wsepr, QName portName, Class<T> portInterface, WebServiceFeatureList features)
<T> T
getPort(jakarta.xml.ws.EndpointReference epr, Class<T> portInterface, jakarta.xml.ws.WebServiceFeature... features)
<T> T
getPort(Class<T> portInterface)
<T> T
getPort(Class<T> portInterface, jakarta.xml.ws.WebServiceFeature... features)
<T> T
getPort(QName portName, Class<T> portInterface)
<T> T
getPort(QName portName, Class<T> portInterface, jakarta.xml.ws.WebServiceFeature... features)
WSDLPort
getPortModel(WSDLService wsdlService, QName portName)
Obtains aWSDLPortImpl
with error check.Iterator<QName>
getPorts()
protected Map<QName,PortInfo>
getQNameToPortInfoMap()
Class
getServiceClass()
QName
getServiceName()
protected InvocationHandler
getStubHandler(BindingImpl binding, SEIPortInfo eif, WSEndpointReference epr)
URL
getWSDLDocumentLocation()
WSDLService
getWsdlService()
PortInfo
safeGetPort(QName portName)
ObtainsPortInfo
for the given name, with error check.void
setExecutor(Executor executor)
void
setHandlerResolver(jakarta.xml.ws.handler.HandlerResolver resolver)
-
-
-
Constructor Detail
-
WSServiceDelegate
public WSServiceDelegate(URL wsdlDocumentLocation, QName serviceName, Class<? extends jakarta.xml.ws.Service> serviceClass, jakarta.xml.ws.WebServiceFeature... features)
-
WSServiceDelegate
protected WSServiceDelegate(URL wsdlDocumentLocation, QName serviceName, Class<? extends jakarta.xml.ws.Service> serviceClass, WebServiceFeatureList features)
-
WSServiceDelegate
public WSServiceDelegate(@Nullable Source wsdl, @NotNull QName serviceName, @NotNull Class<? extends jakarta.xml.ws.Service> serviceClass, jakarta.xml.ws.WebServiceFeature... features)
- Parameters:
serviceClass
- EitherService
.class or other generated service-derived classes.
-
WSServiceDelegate
protected WSServiceDelegate(@Nullable Source wsdl, @NotNull QName serviceName, @NotNull Class<? extends jakarta.xml.ws.Service> serviceClass, WebServiceFeatureList features)
- Parameters:
serviceClass
- EitherService
.class or other generated service-derived classes.
-
WSServiceDelegate
public WSServiceDelegate(@Nullable Source wsdl, @Nullable WSDLService service, @NotNull QName serviceName, @NotNull Class<? extends jakarta.xml.ws.Service> serviceClass, jakarta.xml.ws.WebServiceFeature... features)
- Parameters:
serviceClass
- EitherService
.class or other generated service-derived classes.
-
WSServiceDelegate
public WSServiceDelegate(@Nullable Source wsdl, @Nullable WSDLService service, @NotNull QName serviceName, @NotNull Class<? extends jakarta.xml.ws.Service> serviceClass, WebServiceFeatureList features)
- Parameters:
serviceClass
- EitherService
.class or other generated service-derived classes.
-
-
Method Detail
-
createCatalogResolver
protected EntityResolver createCatalogResolver()
-
getExecutor
public Executor getExecutor()
- Specified by:
getExecutor
in classjakarta.xml.ws.spi.ServiceDelegate
-
setExecutor
public void setExecutor(Executor executor)
- Specified by:
setExecutor
in classjakarta.xml.ws.spi.ServiceDelegate
-
getHandlerResolver
public jakarta.xml.ws.handler.HandlerResolver getHandlerResolver()
- Specified by:
getHandlerResolver
in classjakarta.xml.ws.spi.ServiceDelegate
-
setHandlerResolver
public void setHandlerResolver(jakarta.xml.ws.handler.HandlerResolver resolver)
- Specified by:
setHandlerResolver
in classjakarta.xml.ws.spi.ServiceDelegate
-
getPort
public <T> T getPort(QName portName, Class<T> portInterface) throws jakarta.xml.ws.WebServiceException
- Specified by:
getPort
in classjakarta.xml.ws.spi.ServiceDelegate
- Throws:
jakarta.xml.ws.WebServiceException
-
getPort
public <T> T getPort(QName portName, Class<T> portInterface, jakarta.xml.ws.WebServiceFeature... features)
- Specified by:
getPort
in classjakarta.xml.ws.spi.ServiceDelegate
-
getPort
public <T> T getPort(jakarta.xml.ws.EndpointReference epr, Class<T> portInterface, jakarta.xml.ws.WebServiceFeature... features)
- Specified by:
getPort
in classjakarta.xml.ws.spi.ServiceDelegate
-
getPort
public <T> T getPort(WSEndpointReference wsepr, Class<T> portInterface, jakarta.xml.ws.WebServiceFeature... features)
Description copied from class:WSService
Works likeServiceDelegate.getPort(EndpointReference, Class, WebServiceFeature...)
but takesWSEndpointReference
.
-
getPort
protected <T> T getPort(WSEndpointReference wsepr, QName portName, Class<T> portInterface, WebServiceFeatureList features)
-
getPort
public <T> T getPort(Class<T> portInterface, jakarta.xml.ws.WebServiceFeature... features)
- Specified by:
getPort
in classjakarta.xml.ws.spi.ServiceDelegate
-
getPort
public <T> T getPort(Class<T> portInterface) throws jakarta.xml.ws.WebServiceException
- Specified by:
getPort
in classjakarta.xml.ws.spi.ServiceDelegate
- Throws:
jakarta.xml.ws.WebServiceException
-
addPort
public void addPort(QName portName, String bindingId, String endpointAddress) throws jakarta.xml.ws.WebServiceException
- Specified by:
addPort
in classjakarta.xml.ws.spi.ServiceDelegate
- Throws:
jakarta.xml.ws.WebServiceException
-
createDispatch
public <T> jakarta.xml.ws.Dispatch<T> createDispatch(QName portName, Class<T> aClass, jakarta.xml.ws.Service.Mode mode) throws jakarta.xml.ws.WebServiceException
- Specified by:
createDispatch
in classjakarta.xml.ws.spi.ServiceDelegate
- Throws:
jakarta.xml.ws.WebServiceException
-
createDispatch
public <T> jakarta.xml.ws.Dispatch<T> createDispatch(QName portName, WSEndpointReference wsepr, Class<T> aClass, jakarta.xml.ws.Service.Mode mode, jakarta.xml.ws.WebServiceFeature... features)
Description copied from class:WSService
Works likeServiceDelegate.createDispatch(jakarta.xml.ws.EndpointReference, java.lang.Class, jakarta.xml.ws.Service.Mode, jakarta.xml.ws.WebServiceFeature[])
but it takes the port name separately, so that EPR without embedded metadata can be used.- Specified by:
createDispatch
in classWSService
-
createDispatch
public <T> jakarta.xml.ws.Dispatch<T> createDispatch(QName portName, WSEndpointReference wsepr, Class<T> aClass, jakarta.xml.ws.Service.Mode mode, WebServiceFeatureList features)
-
createDispatch
public <T> jakarta.xml.ws.Dispatch<T> createDispatch(QName portName, Class<T> aClass, jakarta.xml.ws.Service.Mode mode, jakarta.xml.ws.WebServiceFeature... features)
- Specified by:
createDispatch
in classjakarta.xml.ws.spi.ServiceDelegate
-
createDispatch
public <T> jakarta.xml.ws.Dispatch<T> createDispatch(QName portName, Class<T> aClass, jakarta.xml.ws.Service.Mode mode, WebServiceFeatureList features)
-
createDispatch
public <T> jakarta.xml.ws.Dispatch<T> createDispatch(jakarta.xml.ws.EndpointReference endpointReference, Class<T> type, jakarta.xml.ws.Service.Mode mode, jakarta.xml.ws.WebServiceFeature... features)
- Specified by:
createDispatch
in classjakarta.xml.ws.spi.ServiceDelegate
-
safeGetPort
@NotNull public PortInfo safeGetPort(QName portName)
ObtainsPortInfo
for the given name, with error check.
-
getEndpointAddress
public EndpointAddress getEndpointAddress(QName qName)
-
createDispatch
public jakarta.xml.ws.Dispatch<Object> createDispatch(QName portName, jakarta.xml.bind.JAXBContext jaxbContext, jakarta.xml.ws.Service.Mode mode) throws jakarta.xml.ws.WebServiceException
- Specified by:
createDispatch
in classjakarta.xml.ws.spi.ServiceDelegate
- Throws:
jakarta.xml.ws.WebServiceException
-
createDispatch
public jakarta.xml.ws.Dispatch<Object> createDispatch(QName portName, WSEndpointReference wsepr, jakarta.xml.bind.JAXBContext jaxbContext, jakarta.xml.ws.Service.Mode mode, jakarta.xml.ws.WebServiceFeature... features)
Description copied from class:WSService
Works likeServiceDelegate.createDispatch(jakarta.xml.ws.EndpointReference, jakarta.xml.bind.JAXBContext, jakarta.xml.ws.Service.Mode, jakarta.xml.ws.WebServiceFeature[])
but it takes the port name separately, so that EPR without embedded metadata can be used.- Specified by:
createDispatch
in classWSService
-
createDispatch
protected jakarta.xml.ws.Dispatch<Object> createDispatch(QName portName, WSEndpointReference wsepr, jakarta.xml.bind.JAXBContext jaxbContext, jakarta.xml.ws.Service.Mode mode, WebServiceFeatureList features)
-
getContainer
@NotNull public Container getContainer()
Description copied from class:WSService
Gets theContainer
object.The components inside
WSEndpoint
uses this reference to communicate with the hosting environment.- Specified by:
getContainer
in classWSService
- Returns:
- always same object. If no "real"
Container
instance is given,Container.NONE
will be returned.
-
createDispatch
public jakarta.xml.ws.Dispatch<Object> createDispatch(QName portName, jakarta.xml.bind.JAXBContext jaxbContext, jakarta.xml.ws.Service.Mode mode, jakarta.xml.ws.WebServiceFeature... webServiceFeatures)
- Specified by:
createDispatch
in classjakarta.xml.ws.spi.ServiceDelegate
-
createDispatch
protected jakarta.xml.ws.Dispatch<Object> createDispatch(QName portName, jakarta.xml.bind.JAXBContext jaxbContext, jakarta.xml.ws.Service.Mode mode, WebServiceFeatureList features)
-
createDispatch
public jakarta.xml.ws.Dispatch<Object> createDispatch(jakarta.xml.ws.EndpointReference endpointReference, jakarta.xml.bind.JAXBContext context, jakarta.xml.ws.Service.Mode mode, jakarta.xml.ws.WebServiceFeature... features)
- Specified by:
createDispatch
in classjakarta.xml.ws.spi.ServiceDelegate
-
getServiceName
public QName getServiceName()
- Specified by:
getServiceName
in classjakarta.xml.ws.spi.ServiceDelegate
-
getServiceClass
public Class getServiceClass()
-
getPorts
public Iterator<QName> getPorts() throws jakarta.xml.ws.WebServiceException
- Specified by:
getPorts
in classjakarta.xml.ws.spi.ServiceDelegate
- Throws:
jakarta.xml.ws.WebServiceException
-
getWSDLDocumentLocation
public URL getWSDLDocumentLocation()
- Specified by:
getWSDLDocumentLocation
in classjakarta.xml.ws.spi.ServiceDelegate
-
getStubHandler
protected InvocationHandler getStubHandler(BindingImpl binding, SEIPortInfo eif, @Nullable WSEndpointReference epr)
-
getPortModel
@NotNull public WSDLPort getPortModel(WSDLService wsdlService, QName portName)
Obtains aWSDLPortImpl
with error check.- Returns:
- guaranteed to be non-null.
-
buildRuntimeModel
public SEIModel buildRuntimeModel(QName serviceName, QName portName, Class portInterface, WSDLPort wsdlPort, WebServiceFeatureList features)
-
getWsdlService
public WSDLService getWsdlService()
-
-