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
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 unary getPort
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 provided HandlerRegistry
.
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 a ThreadPoolExecutor
and
registering it with the service.
- Since:
- JAX-WS 2.0
- Author:
- WS Development Team
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class com.sun.xml.ws.api.WSService
WSService.InitParams
-
Field Summary
Modifier and TypeFieldDescriptionprotected static final jakarta.xml.ws.WebServiceFeature[]
Fields inherited from class com.sun.xml.ws.api.WSService
EMPTY_PARAMS, INIT_PARAMS
-
Constructor Summary
ModifierConstructorDescriptionprotected
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
Modifier and TypeMethodDescriptionvoid
buildRuntimeModel
(QName serviceName, QName portName, Class portInterface, WSDLPort wsdlPort, WebServiceFeatureList features) protected EntityResolver
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) Gets theContainer
object.getEndpointAddress
(QName qName) jakarta.xml.ws.handler.HandlerResolver
<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
<T> T
<T> T
<T> T
getPortModel
(WSDLService wsdlService, QName portName) Obtains aWSDLPortImpl
with error check.getPorts()
protected InvocationHandler
getStubHandler
(BindingImpl binding, SEIPortInfo eif, WSEndpointReference epr) safeGetPort
(QName portName) ObtainsPortInfo
for the given name, with error check.void
setExecutor
(Executor executor) void
setHandlerResolver
(jakarta.xml.ws.handler.HandlerResolver resolver)
-
Field Details
-
EMPTY_FEATURES
protected static final jakarta.xml.ws.WebServiceFeature[] EMPTY_FEATURES
-
-
Constructor Details
-
WSServiceDelegate
-
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 Details
-
getQNameToPortInfoMap
-
createCatalogResolver
-
getExecutor
- Specified by:
getExecutor
in classjakarta.xml.ws.spi.ServiceDelegate
-
setExecutor
- 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
- Specified by:
getPort
in classjakarta.xml.ws.spi.ServiceDelegate
-
getPort
- 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
ObtainsPortInfo
for the given name, with error check. -
getEndpointAddress
-
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
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
- Specified by:
getServiceName
in classjakarta.xml.ws.spi.ServiceDelegate
-
getServiceClass
-
getPorts
- Specified by:
getPorts
in classjakarta.xml.ws.spi.ServiceDelegate
- Throws:
jakarta.xml.ws.WebServiceException
-
getWSDLDocumentLocation
- Specified by:
getWSDLDocumentLocation
in classjakarta.xml.ws.spi.ServiceDelegate
-
getStubHandler
protected InvocationHandler getStubHandler(BindingImpl binding, SEIPortInfo eif, @Nullable WSEndpointReference epr) -
getPortModel
Obtains aWSDLPortImpl
with error check.- Returns:
- guaranteed to be non-null.
-
buildRuntimeModel
-
getWsdlService
-