Class ServiceDelegate
- java.lang.Object
-
- javax.xml.ws.spi.ServiceDelegate
public abstract class ServiceDelegate extends Object
Service delegates are used internally by Service objects to allow pluggability of JAX-WS implementations.
Every Service object has its own delegate, created using the Provider.createServiceDelegate(java.net.URL, javax.xml.namespace.QName, java.lang.Class<? extends javax.xml.ws.Service>) method. A Service object delegates all of its instance methods to its delegate.
Constructors
| Modifier | Constructor and Description |
|---|---|
protected |
ServiceDelegate() |
Methods
| Modifier and Type | Method and Description |
|---|---|
abstract void |
addPort(QName portName,
String bindingId,
String endpointAddress) Creates a new port for the service. |
abstract <T> Dispatch<T> |
createDispatch(EndpointReference endpointReference,
Class<T> type,
Service.Mode mode,
WebServiceFeature... features) Creates a |
abstract Dispatch<Object> |
createDispatch(EndpointReference endpointReference,
JAXBContext context,
Service.Mode mode,
WebServiceFeature... features) Creates a |
abstract <T> Dispatch<T> |
createDispatch(QName portName,
Class<T> type,
Service.Mode mode) Creates a |
abstract <T> Dispatch<T> |
createDispatch(QName portName,
Class<T> type,
Service.Mode mode,
WebServiceFeature... features) Creates a |
abstract Dispatch<Object> |
createDispatch(QName portName,
JAXBContext context,
Service.Mode mode) Creates a |
abstract Dispatch<Object> |
createDispatch(QName portName,
JAXBContext context,
Service.Mode mode,
WebServiceFeature... features) Creates a |
abstract Executor |
getExecutor() Returns the executor for this |
abstract HandlerResolver |
getHandlerResolver() Returns the configured handler resolver. |
abstract <T> T |
getPort(Class<T> serviceEndpointInterface) The |
abstract <T> T |
getPort(Class<T> serviceEndpointInterface,
WebServiceFeature... features) The |
abstract <T> T |
getPort(EndpointReference endpointReference,
Class<T> serviceEndpointInterface,
WebServiceFeature... features) The |
abstract <T> T |
getPort(QName portName,
Class<T> serviceEndpointInterface) The |
abstract <T> T |
getPort(QName portName,
Class<T> serviceEndpointInterface,
WebServiceFeature... features) The |
abstract Iterator<QName> |
getPorts() Returns an |
abstract QName |
getServiceName() Gets the name of this service. |
abstract URL |
getWSDLDocumentLocation() Gets the location of the WSDL document for this Service. |
abstract void |
setExecutor(Executor executor) Sets the executor for this |
abstract void |
setHandlerResolver(HandlerResolver handlerResolver) Sets the |
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Constructors
ServiceDelegate
protected ServiceDelegate()
Methods
getPort
public abstract <T> T getPort(QName portName,
Class<T> serviceEndpointInterface) The getPort method returns a proxy. A service client uses this proxy to invoke operations on the target service endpoint. The serviceEndpointInterface specifies the service endpoint interface that is supported by the created dynamic proxy instance.
- Parameters:
-
portName- Qualified name of the service endpoint in the WSDL service description -
serviceEndpointInterface- Service endpoint interface supported by the dynamic proxy - Returns:
- Object Proxy instance that supports the specified service endpoint interface
- Throws:
-
WebServiceException- This exception is thrown in the following cases:- If there is an error in creation of the proxy
- If there is any missing WSDL metadata as required by this method
- If an illegal
serviceEndpointInterfaceorportNameis specified
- See Also:
-
Proxy,InvocationHandler
getPort
public abstract <T> T getPort(QName portName,
Class<T> serviceEndpointInterface,
WebServiceFeature... features) The getPort method returns a proxy. A service client uses this proxy to invoke operations on the target service endpoint. The serviceEndpointInterface specifies the service endpoint interface that is supported by the created dynamic proxy instance.
- Parameters:
-
portName- Qualified name of the service endpoint in the WSDL service description -
serviceEndpointInterface- Service endpoint interface supported by the dynamic proxy or instance -
features- A list of WebServiceFeatures to configure on the proxy. Supported features not in thefeaturesparameter will have their default values. - Returns:
- Object Proxy instance that supports the specified service endpoint interface
- Throws:
-
WebServiceException- This exception is thrown in the following cases:- If there is an error in creation of the proxy
- If there is any missing WSDL metadata as required by this method
- If an illegal
serviceEndpointInterfaceorportNameis specified - If a feature is enabled that is not compatible with this port or is unsupported.
- Since:
- JAX-WS 2.1
- See Also:
-
Proxy,InvocationHandler,WebServiceFeature
getPort
public abstract <T> T getPort(EndpointReference endpointReference,
Class<T> serviceEndpointInterface,
WebServiceFeature... features) The getPort method returns a proxy. The parameter endpointReference specifies the endpoint that will be invoked by the returned proxy. If there are any reference parameters in the endpointReference, then those reference parameters MUST appear as SOAP headers, indicating them to be reference parameters, on all messages sent to the endpoint. The endpointReference's address MUST be used for invocations on the endpoint. The parameter serviceEndpointInterface specifies the service endpoint interface that is supported by the returned proxy. In the implementation of this method, the JAX-WS runtime system takes the responsibility of selecting a protocol binding (and a port) and configuring the proxy accordingly from the WSDL associated with this Service instance or from the metadata from the endpointReference. If this Service instance has a WSDL and the endpointReference metadata also has a WSDL, then the WSDL from this instance MUST be used. If this Service instance does not have a WSDL and the endpointReference does have a WSDL, then the WSDL from the endpointReference MAY be used. The returned proxy should not be reconfigured by the client. If this Service instance has a known proxy port that matches the information contained in the WSDL, then that proxy is returned, otherwise a WebServiceException is thrown.
Calling this method has the same behavior as the following
port = service.getPort(portName, serviceEndpointInterface);where the
portName is retrieved from the metadata of the endpointReference or from the serviceEndpointInterface and the WSDL associated with this Service instance.- Parameters:
-
endpointReference- TheEndpointReferencefor the target service endpoint that will be invoked by the returned proxy. -
serviceEndpointInterface- Service endpoint interface. -
features- A list ofWebServiceFeaturesto configure on the proxy. Supported features not in thefeaturesparameter will have their default values. - Returns:
- Object Proxy instance that supports the specified service endpoint interface.
- Throws:
-
WebServiceException-- If there is an error during creation of the proxy.
- If there is any missing WSDL metadata as required by this method.
- If the
endpointReferencemetadata does not match theserviceNameof thisServiceinstance. - If a
portNamecannot be extracted from the WSDL orendpointReferencemetadata. - If an invalid
endpointReferenceis specified. - If an invalid
serviceEndpointInterfaceis specified. - If a feature is enabled that is not compatible with this port or is unsupported.
- Since:
- JAX-WS 2.1
getPort
public abstract <T> T getPort(Class<T> serviceEndpointInterface)
The getPort method returns a proxy. The parameter serviceEndpointInterface specifies the service endpoint interface that is supported by the returned proxy. In the implementation of this method, the JAX-WS runtime system takes the responsibility of selecting a protocol binding (and a port) and configuring the proxy accordingly. The returned proxy should not be reconfigured by the client.
- Parameters:
-
serviceEndpointInterface- Service endpoint interface - Returns:
- Object instance that supports the specified service endpoint interface
- Throws:
-
WebServiceException-- If there is an error during creation of the proxy
- If there is any missing WSDL metadata as required by this method
- If an illegal
serviceEndpointInterfaceis specified
getPort
public abstract <T> T getPort(Class<T> serviceEndpointInterface,
WebServiceFeature... features) The getPort method returns a proxy. The parameter serviceEndpointInterface specifies the service endpoint interface that is supported by the returned proxy. In the implementation of this method, the JAX-WS runtime system takes the responsibility of selecting a protocol binding (and a port) and configuring the proxy accordingly. The returned proxy should not be reconfigured by the client.
- Parameters:
-
serviceEndpointInterface- Service endpoint interface -
features- An array ofWebServiceFeaturesto configure on the proxy. Supported features not in thefeaturesparameter will have their default values. - Returns:
- Object instance that supports the specified service endpoint interface
- Throws:
-
WebServiceException-- If there is an error during creation of the proxy
- If there is any missing WSDL metadata as required by this method
- If an illegal
serviceEndpointInterfaceis specified - If a feature is enabled that is not compatible with this port or is unsupported.
- Since:
- JAX-WS 2.1
- See Also:
WebServiceFeature
addPort
public abstract void addPort(QName portName,
String bindingId,
String endpointAddress) Creates a new port for the service. Ports created in this way contain no WSDL port type information and can only be used for creating Dispatchinstances.
- Parameters:
-
portName- Qualified name for the target service endpoint -
bindingId- A URI identifier of a binding. -
endpointAddress- Address of the target service endpoint as a URI - Throws:
-
WebServiceException- If any error in the creation of the port - See Also:
-
SOAPBinding.SOAP11HTTP_BINDING,SOAPBinding.SOAP12HTTP_BINDING,HTTPBinding.HTTP_BINDING
createDispatch
public abstract <T> Dispatch<T> createDispatch(QName portName,
Class<T> type,
Service.Mode mode) Creates a Dispatch instance for use with objects of the user's choosing.
- Parameters:
-
portName- Qualified name for the target service endpoint -
type- The class of object used for messages or message payloads. Implementations are required to supportjavax.xml.transform.Sourceandjavax.xml.soap.SOAPMessage. -
mode- Controls whether the created dispatch instance is message or payload oriented, i.e. whether the user will work with complete protocol messages or message payloads. E.g. when using the SOAP protocol, this parameter controls whether the user will work with SOAP messages or the contents of a SOAP body. Mode MUST beMESSAGEwhen type isSOAPMessage. - Returns:
- Dispatch instance
- Throws:
-
WebServiceException- If any error in the creation of theDispatchobject - See Also:
-
Source,SOAPMessage
createDispatch
public abstract <T> Dispatch<T> createDispatch(QName portName,
Class<T> type,
Service.Mode mode,
WebServiceFeature... features) Creates a Dispatch instance for use with objects of the user's choosing.
- Parameters:
-
portName- Qualified name for the target service endpoint -
type- The class of object used for messages or message payloads. Implementations are required to supportjavax.xml.transform.Sourceandjavax.xml.soap.SOAPMessage. -
mode- Controls whether the created dispatch instance is message or payload oriented, i.e. whether the user will work with complete protocol messages or message payloads. E.g. when using the SOAP protocol, this parameter controls whether the user will work with SOAP messages or the contents of a SOAP body. Mode MUST beMESSAGEwhen type isSOAPMessage. -
features- A list ofWebServiceFeaturesto configure on the proxy. Supported features not in thefeaturesparameter will have their default values. - Returns:
- Dispatch instance
- Throws:
-
WebServiceException- If any error in the creation of theDispatchobject or if a feature is enabled that is not compatible with this port or is unsupported. - Since:
- JAX-WS 2.1
- See Also:
-
Source,SOAPMessage,WebServiceFeature
createDispatch
public abstract <T> Dispatch<T> createDispatch(EndpointReference endpointReference,
Class<T> type,
Service.Mode mode,
WebServiceFeature... features) Creates a Dispatch instance for use with objects of the user's choosing. If there are any reference parameters in the endpointReference, then those reference parameters MUST appear as SOAP headers, indicating them to be reference parameters, on all messages sent to the endpoint. The endpointReference's address MUST be used for invocations on the endpoint. In the implementation of this method, the JAX-WS runtime system takes the responsibility of selecting a protocol binding (and a port) and configuring the dispatch accordingly from the WSDL associated with this Service instance or from the metadata from the endpointReference. If this Service instance has a WSDL and the endpointReference also has a WSDL in its metadata, then the WSDL from this instance MUST be used. If this Service instance does not have a WSDL and the endpointReference does have a WSDL, then the WSDL from the endpointReference MAY be used. An implementation MUST be able to retrieve the portName from the endpointReference metadata.
This method behaves the same as calling
dispatch = service.createDispatch(portName, type, mode, features);where the
portName is retrieved from the WSDL or EndpointReference metadata.- Parameters:
-
endpointReference- TheEndpointReferencefor the target service endpoint that will be invoked by the returnedDispatchobject. -
type- The class of object used to messages or message payloads. Implementations are required to supportjavax.xml.transform.Sourceandjavax.xml.soap.SOAPMessage. -
mode- Controls whether the created dispatch instance is message or payload oriented, i.e. whether the user will work with complete protocol messages or message payloads. E.g. when using the SOAP protocol, this parameter controls whether the user will work with SOAP messages or the contents of a SOAP body. Mode MUST beMESSAGEwhen type isSOAPMessage. -
features- An array ofWebServiceFeaturesto configure on the proxy. Supported features not in thefeaturesparameter will have their default values. - Returns:
- Dispatch instance
- Throws:
-
WebServiceException-- If there is any missing WSDL metadata as required by this method.
- If the
endpointReferencemetadata does not match theserviceNameorportNameof a WSDL associated with thisServiceinstance. - If the
portNamecannot be determined from theEndpointReferencemetadata. - If any error in the creation of the
Dispatchobject. - If a feature is enabled that is not compatible with this port or is unsupported.
- Since:
- JAX-WS 2.1
- See Also:
-
Source,SOAPMessage,WebServiceFeature
createDispatch
public abstract Dispatch<Object> createDispatch(QName portName,
JAXBContext context,
Service.Mode mode) Creates a Dispatch instance for use with JAXB generated objects.
- Parameters:
-
portName- Qualified name for the target service endpoint -
context- The JAXB context used to marshall and unmarshall messages or message payloads. -
mode- Controls whether the created dispatch instance is message or payload oriented, i.e. whether the user will work with complete protocol messages or message payloads. E.g. when using the SOAP protocol, this parameter controls whether the user will work with SOAP messages or the contents of a SOAP body. - Returns:
- Dispatch instance
- Throws:
-
WebServiceException- If any error in the creation of theDispatchobject - See Also:
JAXBContext
createDispatch
public abstract Dispatch<Object> createDispatch(QName portName,
JAXBContext context,
Service.Mode mode,
WebServiceFeature... features) Creates a Dispatch instance for use with JAXB generated objects.
- Parameters:
-
portName- Qualified name for the target service endpoint -
context- The JAXB context used to marshall and unmarshall messages or message payloads. -
mode- Controls whether the created dispatch instance is message or payload oriented, i.e. whether the user will work with complete protocol messages or message payloads. E.g. when using the SOAP protocol, this parameter controls whether the user will work with SOAP messages or the contents of a SOAP body. -
features- A list ofWebServiceFeaturesto configure on the proxy. Supported features not in thefeaturesparameter will have their default values. - Returns:
- Dispatch instance
- Throws:
-
WebServiceException- If any error in the creation of theDispatchobject or if a feature is enabled that is not compatible with this port or is unsupported. - Since:
- JAX-WS 2.1
- See Also:
-
JAXBContext,WebServiceFeature
createDispatch
public abstract Dispatch<Object> createDispatch(EndpointReference endpointReference,
JAXBContext context,
Service.Mode mode,
WebServiceFeature... features) Creates a Dispatch instance for use with JAXB generated objects. If there are any reference parameters in the endpointReference, then those reference parameters MUST appear as SOAP headers, indicating them to be reference parameters, on all messages sent to the endpoint. The endpointReference's address MUST be used for invocations on the endpoint. In the implementation of this method, the JAX-WS runtime system takes the responsibility of selecting a protocol binding (and a port) and configuring the dispatch accordingly from the WSDL associated with this Service instance or from the metadata from the endpointReference. If this Service instance has a WSDL and the endpointReference also has a WSDL in its metadata, then the WSDL from this instance MUST be used. If this Service instance does not have a WSDL and the endpointReference does have a WSDL, then the WSDL from the endpointReference MAY be used. An implementation MUST be able to retrieve the portName from the endpointReference metadata.
This method behavies the same as calling
dispatch = service.createDispatch(portName, context, mode, features);where the
portName is retrieved from the WSDL or endpointReference metadata.- Parameters:
-
endpointReference- TheEndpointReferencefor the target service endpoint that will be invoked by the returnedDispatchobject. -
context- The JAXB context used to marshall and unmarshall messages or message payloads. -
mode- Controls whether the created dispatch instance is message or payload oriented, i.e. whether the user will work with complete protocol messages or message payloads. E.g. when using the SOAP protocol, this parameter controls whether the user will work with SOAP messages or the contents of a SOAP body. -
features- An array ofWebServiceFeaturesto configure on the proxy. Supported features not in thefeaturesparameter will have their default values. - Returns:
- Dispatch instance
- Throws:
-
WebServiceException-- If there is any missing WSDL metadata as required by this method.
- If the
endpointReferencemetadata does not match theserviceNameorportNameof a WSDL associated with thisServiceinstance. - If the
portNamecannot be determined from theEndpointReferencemetadata. - If any error in the creation of the
Dispatchobject. - if a feature is enabled that is not compatible with this port or is unsupported.
- Since:
- JAX-WS 2.1
- See Also:
-
JAXBContext,WebServiceFeature
getServiceName
public abstract QName getServiceName()
Gets the name of this service.
- Returns:
- Qualified name of this service
getPorts
public abstract Iterator<QName> getPorts()
Returns an Iterator for the list of QNames of service endpoints grouped by this service
- Returns:
- Returns
java.util.Iteratorwith elements of typejavax.xml.namespace.QName - Throws:
-
WebServiceException- If this Service class does not have access to the required WSDL metadata
getWSDLDocumentLocation
public abstract URL getWSDLDocumentLocation()
Gets the location of the WSDL document for this Service.
- Returns:
- URL for the location of the WSDL document for this service
getHandlerResolver
public abstract HandlerResolver getHandlerResolver()
Returns the configured handler resolver.
- Returns:
- HandlerResolver The
HandlerResolverbeing used by thisServiceinstance, ornullif there isn't one.
setHandlerResolver
public abstract void setHandlerResolver(HandlerResolver handlerResolver)
Sets the HandlerResolver for this Service instance.
The handler resolver, if present, will be called once for each proxy or dispatch instance that is created, and the handler chain returned by the resolver will be set on the instance.
- Parameters:
-
handlerResolver- TheHandlerResolverto use for all subsequently created proxy/dispatch objects. - See Also:
HandlerResolver
getExecutor
public abstract Executor getExecutor()
Returns the executor for this Serviceinstance. The executor is used for all asynchronous invocations that require callbacks.
- Returns:
- The
java.util.concurrent.Executorto be used to invoke a callback. - See Also:
Executor
setExecutor
public abstract void setExecutor(Executor executor)
Sets the executor for this Service instance. The executor is used for all asynchronous invocations that require callbacks.
- Parameters:
-
executor- Thejava.util.concurrent.Executorto be used to invoke a callback. - Throws:
-
SecurityException- If the instance does not support setting an executor for security reasons (e.g. the necessary permissions are missing). - See Also:
Executor
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/javase/8/docs/api/javax/xml/ws/spi/ServiceDelegate.html