Package com.sun.xml.ws.client
Class WSServiceDelegate
- java.lang.Object
-
- javax.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
Serviceobjects provide the client view of a Web service.Serviceacts as a factory of the following:- Proxies for a target service endpoint.
- Instances of
javax.xml.ws.Dispatchfor dynamic message-oriented invocation of a remote operation.
The ports available on a service can be enumerated using the
getPortsmethod. Alternatively, you can pass a service endpoint interface to the unarygetPortmethod and let the runtime select a compatible port.Handler chains for all the objects created by a
Servicecan be set by means of the providedHandlerRegistry.An
Executormay 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 aThreadPoolExecutorand 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 javax.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 protectedWSServiceDelegate(URL wsdlDocumentLocation, QName serviceName, Class<? extends javax.xml.ws.Service> serviceClass, WebServiceFeatureList features)WSServiceDelegate(URL wsdlDocumentLocation, QName serviceName, Class<? extends javax.xml.ws.Service> serviceClass, javax.xml.ws.WebServiceFeature... features)WSServiceDelegate(Source wsdl, WSDLService service, QName serviceName, Class<? extends javax.xml.ws.Service> serviceClass, WebServiceFeatureList features)WSServiceDelegate(Source wsdl, WSDLService service, QName serviceName, Class<? extends javax.xml.ws.Service> serviceClass, javax.xml.ws.WebServiceFeature... features)protectedWSServiceDelegate(Source wsdl, QName serviceName, Class<? extends javax.xml.ws.Service> serviceClass, WebServiceFeatureList features)WSServiceDelegate(Source wsdl, QName serviceName, Class<? extends javax.xml.ws.Service> serviceClass, javax.xml.ws.WebServiceFeature... features)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddPort(QName portName, String bindingId, String endpointAddress)SEIModelbuildRuntimeModel(QName serviceName, QName portName, Class portInterface, WSDLPort wsdlPort, WebServiceFeatureList features)protected EntityResolvercreateCatalogResolver()<T> javax.xml.ws.Dispatch<T>createDispatch(QName portName, WSEndpointReference wsepr, Class<T> aClass, javax.xml.ws.Service.Mode mode, WebServiceFeatureList features)<T> javax.xml.ws.Dispatch<T>createDispatch(QName portName, WSEndpointReference wsepr, Class<T> aClass, javax.xml.ws.Service.Mode mode, javax.xml.ws.WebServiceFeature... features)Works likeServiceDelegate.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.protected javax.xml.ws.Dispatch<Object>createDispatch(QName portName, WSEndpointReference wsepr, javax.xml.bind.JAXBContext jaxbContext, javax.xml.ws.Service.Mode mode, WebServiceFeatureList features)javax.xml.ws.Dispatch<Object>createDispatch(QName portName, WSEndpointReference wsepr, javax.xml.bind.JAXBContext jaxbContext, javax.xml.ws.Service.Mode mode, javax.xml.ws.WebServiceFeature... features)Works likeServiceDelegate.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.<T> javax.xml.ws.Dispatch<T>createDispatch(QName portName, Class<T> aClass, javax.xml.ws.Service.Mode mode)<T> javax.xml.ws.Dispatch<T>createDispatch(QName portName, Class<T> aClass, javax.xml.ws.Service.Mode mode, WebServiceFeatureList features)<T> javax.xml.ws.Dispatch<T>createDispatch(QName portName, Class<T> aClass, javax.xml.ws.Service.Mode mode, javax.xml.ws.WebServiceFeature... features)javax.xml.ws.Dispatch<Object>createDispatch(QName portName, javax.xml.bind.JAXBContext jaxbContext, javax.xml.ws.Service.Mode mode)protected javax.xml.ws.Dispatch<Object>createDispatch(QName portName, javax.xml.bind.JAXBContext jaxbContext, javax.xml.ws.Service.Mode mode, WebServiceFeatureList features)javax.xml.ws.Dispatch<Object>createDispatch(QName portName, javax.xml.bind.JAXBContext jaxbContext, javax.xml.ws.Service.Mode mode, javax.xml.ws.WebServiceFeature... webServiceFeatures)<T> javax.xml.ws.Dispatch<T>createDispatch(javax.xml.ws.EndpointReference endpointReference, Class<T> type, javax.xml.ws.Service.Mode mode, javax.xml.ws.WebServiceFeature... features)javax.xml.ws.Dispatch<Object>createDispatch(javax.xml.ws.EndpointReference endpointReference, javax.xml.bind.JAXBContext context, javax.xml.ws.Service.Mode mode, javax.xml.ws.WebServiceFeature... features)ContainergetContainer()Gets theContainerobject.EndpointAddressgetEndpointAddress(QName qName)ExecutorgetExecutor()javax.xml.ws.handler.HandlerResolvergetHandlerResolver()<T> TgetPort(WSEndpointReference wsepr, Class<T> portInterface, javax.xml.ws.WebServiceFeature... features)Works likeServiceDelegate.getPort(EndpointReference, Class, WebServiceFeature...)but takesWSEndpointReference.protected <T> TgetPort(WSEndpointReference wsepr, QName portName, Class<T> portInterface, WebServiceFeatureList features)<T> TgetPort(Class<T> portInterface)<T> TgetPort(Class<T> portInterface, javax.xml.ws.WebServiceFeature... features)<T> TgetPort(QName portName, Class<T> portInterface)<T> TgetPort(QName portName, Class<T> portInterface, javax.xml.ws.WebServiceFeature... features)<T> TgetPort(javax.xml.ws.EndpointReference epr, Class<T> portInterface, javax.xml.ws.WebServiceFeature... features)WSDLPortgetPortModel(WSDLService wsdlService, QName portName)Obtains aWSDLPortImplwith error check.Iterator<QName>getPorts()protected Map<QName,PortInfo>getQNameToPortInfoMap()ClassgetServiceClass()QNamegetServiceName()protected InvocationHandlergetStubHandler(BindingImpl binding, SEIPortInfo eif, WSEndpointReference epr)URLgetWSDLDocumentLocation()WSDLServicegetWsdlService()PortInfosafeGetPort(QName portName)ObtainsPortInfofor the given name, with error check.voidsetExecutor(Executor executor)voidsetHandlerResolver(javax.xml.ws.handler.HandlerResolver resolver)
-
-
-
Constructor Detail
-
WSServiceDelegate
public WSServiceDelegate(URL wsdlDocumentLocation, QName serviceName, Class<? extends javax.xml.ws.Service> serviceClass, javax.xml.ws.WebServiceFeature... features)
-
WSServiceDelegate
protected WSServiceDelegate(URL wsdlDocumentLocation, QName serviceName, Class<? extends javax.xml.ws.Service> serviceClass, WebServiceFeatureList features)
-
WSServiceDelegate
public WSServiceDelegate(@Nullable Source wsdl, @NotNull QName serviceName, @NotNull Class<? extends javax.xml.ws.Service> serviceClass, javax.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 javax.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 javax.xml.ws.Service> serviceClass, javax.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 javax.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:
getExecutorin classjavax.xml.ws.spi.ServiceDelegate
-
setExecutor
public void setExecutor(Executor executor)
- Specified by:
setExecutorin classjavax.xml.ws.spi.ServiceDelegate
-
getHandlerResolver
public javax.xml.ws.handler.HandlerResolver getHandlerResolver()
- Specified by:
getHandlerResolverin classjavax.xml.ws.spi.ServiceDelegate
-
setHandlerResolver
public void setHandlerResolver(javax.xml.ws.handler.HandlerResolver resolver)
- Specified by:
setHandlerResolverin classjavax.xml.ws.spi.ServiceDelegate
-
getPort
public <T> T getPort(QName portName, Class<T> portInterface) throws javax.xml.ws.WebServiceException
- Specified by:
getPortin classjavax.xml.ws.spi.ServiceDelegate- Throws:
javax.xml.ws.WebServiceException
-
getPort
public <T> T getPort(QName portName, Class<T> portInterface, javax.xml.ws.WebServiceFeature... features)
- Specified by:
getPortin classjavax.xml.ws.spi.ServiceDelegate
-
getPort
public <T> T getPort(javax.xml.ws.EndpointReference epr, Class<T> portInterface, javax.xml.ws.WebServiceFeature... features)- Specified by:
getPortin classjavax.xml.ws.spi.ServiceDelegate
-
getPort
public <T> T getPort(WSEndpointReference wsepr, Class<T> portInterface, javax.xml.ws.WebServiceFeature... features)
Description copied from class:WSServiceWorks 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, javax.xml.ws.WebServiceFeature... features)
- Specified by:
getPortin classjavax.xml.ws.spi.ServiceDelegate
-
getPort
public <T> T getPort(Class<T> portInterface) throws javax.xml.ws.WebServiceException
- Specified by:
getPortin classjavax.xml.ws.spi.ServiceDelegate- Throws:
javax.xml.ws.WebServiceException
-
addPort
public void addPort(QName portName, String bindingId, String endpointAddress) throws javax.xml.ws.WebServiceException
- Specified by:
addPortin classjavax.xml.ws.spi.ServiceDelegate- Throws:
javax.xml.ws.WebServiceException
-
createDispatch
public <T> javax.xml.ws.Dispatch<T> createDispatch(QName portName, Class<T> aClass, javax.xml.ws.Service.Mode mode) throws javax.xml.ws.WebServiceException
- Specified by:
createDispatchin classjavax.xml.ws.spi.ServiceDelegate- Throws:
javax.xml.ws.WebServiceException
-
createDispatch
public <T> javax.xml.ws.Dispatch<T> createDispatch(QName portName, WSEndpointReference wsepr, Class<T> aClass, javax.xml.ws.Service.Mode mode, javax.xml.ws.WebServiceFeature... features)
Description copied from class:WSServiceWorks likeServiceDelegate.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.- Specified by:
createDispatchin classWSService
-
createDispatch
public <T> javax.xml.ws.Dispatch<T> createDispatch(QName portName, WSEndpointReference wsepr, Class<T> aClass, javax.xml.ws.Service.Mode mode, WebServiceFeatureList features)
-
createDispatch
public <T> javax.xml.ws.Dispatch<T> createDispatch(QName portName, Class<T> aClass, javax.xml.ws.Service.Mode mode, javax.xml.ws.WebServiceFeature... features)
- Specified by:
createDispatchin classjavax.xml.ws.spi.ServiceDelegate
-
createDispatch
public <T> javax.xml.ws.Dispatch<T> createDispatch(QName portName, Class<T> aClass, javax.xml.ws.Service.Mode mode, WebServiceFeatureList features)
-
createDispatch
public <T> javax.xml.ws.Dispatch<T> createDispatch(javax.xml.ws.EndpointReference endpointReference, Class<T> type, javax.xml.ws.Service.Mode mode, javax.xml.ws.WebServiceFeature... features)- Specified by:
createDispatchin classjavax.xml.ws.spi.ServiceDelegate
-
safeGetPort
@NotNull public PortInfo safeGetPort(QName portName)
ObtainsPortInfofor the given name, with error check.
-
getEndpointAddress
public EndpointAddress getEndpointAddress(QName qName)
-
createDispatch
public javax.xml.ws.Dispatch<Object> createDispatch(QName portName, javax.xml.bind.JAXBContext jaxbContext, javax.xml.ws.Service.Mode mode) throws javax.xml.ws.WebServiceException
- Specified by:
createDispatchin classjavax.xml.ws.spi.ServiceDelegate- Throws:
javax.xml.ws.WebServiceException
-
createDispatch
public javax.xml.ws.Dispatch<Object> createDispatch(QName portName, WSEndpointReference wsepr, javax.xml.bind.JAXBContext jaxbContext, javax.xml.ws.Service.Mode mode, javax.xml.ws.WebServiceFeature... features)
Description copied from class:WSServiceWorks likeServiceDelegate.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.- Specified by:
createDispatchin classWSService
-
createDispatch
protected javax.xml.ws.Dispatch<Object> createDispatch(QName portName, WSEndpointReference wsepr, javax.xml.bind.JAXBContext jaxbContext, javax.xml.ws.Service.Mode mode, WebServiceFeatureList features)
-
getContainer
@NotNull public Container getContainer()
Description copied from class:WSServiceGets theContainerobject.The components inside
WSEndpointuses this reference to communicate with the hosting environment.- Specified by:
getContainerin classWSService- Returns:
- always same object. If no "real"
Containerinstance is given,Container.NONEwill be returned.
-
createDispatch
public javax.xml.ws.Dispatch<Object> createDispatch(QName portName, javax.xml.bind.JAXBContext jaxbContext, javax.xml.ws.Service.Mode mode, javax.xml.ws.WebServiceFeature... webServiceFeatures)
- Specified by:
createDispatchin classjavax.xml.ws.spi.ServiceDelegate
-
createDispatch
protected javax.xml.ws.Dispatch<Object> createDispatch(QName portName, javax.xml.bind.JAXBContext jaxbContext, javax.xml.ws.Service.Mode mode, WebServiceFeatureList features)
-
createDispatch
public javax.xml.ws.Dispatch<Object> createDispatch(javax.xml.ws.EndpointReference endpointReference, javax.xml.bind.JAXBContext context, javax.xml.ws.Service.Mode mode, javax.xml.ws.WebServiceFeature... features)
- Specified by:
createDispatchin classjavax.xml.ws.spi.ServiceDelegate
-
getServiceName
public QName getServiceName()
- Specified by:
getServiceNamein classjavax.xml.ws.spi.ServiceDelegate
-
getServiceClass
public Class getServiceClass()
-
getPorts
public Iterator<QName> getPorts() throws javax.xml.ws.WebServiceException
- Specified by:
getPortsin classjavax.xml.ws.spi.ServiceDelegate- Throws:
javax.xml.ws.WebServiceException
-
getWSDLDocumentLocation
public URL getWSDLDocumentLocation()
- Specified by:
getWSDLDocumentLocationin classjavax.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 aWSDLPortImplwith 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()
-
-