ServiceDelegate (Java Platform SE 6) (original) (raw)
javax.xml.ws.spi
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)](../../../../javax/xml/ws/spi/Provider.html#createServiceDelegate%28java.net.URL, javax.xml.namespace.QName, java.lang.Class%29) method. A Service
object delegates all of its instance methods to its delegate.
Since:
JAX-WS 2.0
See Also:
Constructor Summary | |
---|---|
protected | ServiceDelegate() |
Method Summary | |
---|---|
abstract void | [addPort](../../../../javax/xml/ws/spi/ServiceDelegate.html#addPort%28javax.xml.namespace.QName, java.lang.String, java.lang.String%29)(QName portName,String bindingId,String endpointAddress) Creates a new port for the service. |
abstract Dispatch | [createDispatch](../../../../javax/xml/ws/spi/ServiceDelegate.html#createDispatch%28javax.xml.ws.EndpointReference, java.lang.Class, javax.xml.ws.Service.Mode, javax.xml.ws.WebServiceFeature...%29)(EndpointReference endpointReference,Class type,Service.Mode mode,WebServiceFeature... features) Creates a Dispatch instance for use with objects of the user's choosing. |
abstract Dispatch<Object> | [createDispatch](../../../../javax/xml/ws/spi/ServiceDelegate.html#createDispatch%28javax.xml.ws.EndpointReference, javax.xml.bind.JAXBContext, javax.xml.ws.Service.Mode, javax.xml.ws.WebServiceFeature...%29)(EndpointReference endpointReference,JAXBContext context,Service.Mode mode,WebServiceFeature... features) Creates a Dispatch instance for use with JAXB generated objects. |
abstract Dispatch | [createDispatch](../../../../javax/xml/ws/spi/ServiceDelegate.html#createDispatch%28javax.xml.namespace.QName, java.lang.Class, javax.xml.ws.Service.Mode%29)(QName portName,Class type,Service.Mode mode) Creates a Dispatch instance for use with objects of the user's choosing. |
abstract Dispatch | [createDispatch](../../../../javax/xml/ws/spi/ServiceDelegate.html#createDispatch%28javax.xml.namespace.QName, java.lang.Class, javax.xml.ws.Service.Mode, javax.xml.ws.WebServiceFeature...%29)(QName portName,Class type,Service.Mode mode,WebServiceFeature... features) Creates a Dispatch instance for use with objects of the user's choosing. |
abstract Dispatch<Object> | [createDispatch](../../../../javax/xml/ws/spi/ServiceDelegate.html#createDispatch%28javax.xml.namespace.QName, javax.xml.bind.JAXBContext, javax.xml.ws.Service.Mode%29)(QName portName,JAXBContext context,Service.Mode mode) Creates a Dispatch instance for use with JAXB generated objects. |
abstract Dispatch<Object> | [createDispatch](../../../../javax/xml/ws/spi/ServiceDelegate.html#createDispatch%28javax.xml.namespace.QName, javax.xml.bind.JAXBContext, javax.xml.ws.Service.Mode, javax.xml.ws.WebServiceFeature...%29)(QName portName,JAXBContext context,Service.Mode mode,WebServiceFeature... features) Creates a Dispatch instance for use with JAXB generated objects. |
abstract Executor | getExecutor() Returns the executor for this Serviceinstance. |
abstract HandlerResolver | getHandlerResolver() Returns the configured handler resolver. |
abstract T | getPort(Class serviceEndpointInterface) The getPort method returns a proxy. |
abstract T | [getPort](../../../../javax/xml/ws/spi/ServiceDelegate.html#getPort%28java.lang.Class, javax.xml.ws.WebServiceFeature...%29)(Class serviceEndpointInterface,WebServiceFeature... features) The getPort method returns a proxy. |
abstract T | [getPort](../../../../javax/xml/ws/spi/ServiceDelegate.html#getPort%28javax.xml.ws.EndpointReference, java.lang.Class, javax.xml.ws.WebServiceFeature...%29)(EndpointReference endpointReference,Class serviceEndpointInterface,WebServiceFeature... features) The getPort method returns a proxy. |
abstract T | [getPort](../../../../javax/xml/ws/spi/ServiceDelegate.html#getPort%28javax.xml.namespace.QName, java.lang.Class%29)(QName portName,Class serviceEndpointInterface) The getPort method returns a proxy. |
abstract T | [getPort](../../../../javax/xml/ws/spi/ServiceDelegate.html#getPort%28javax.xml.namespace.QName, java.lang.Class, javax.xml.ws.WebServiceFeature...%29)(QName portName,Class serviceEndpointInterface,WebServiceFeature... features) The getPort method returns a proxy. |
abstract Iterator<QName> | getPorts() Returns an Iterator for the list ofQNames of service endpoints grouped by this service |
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 Service instance. |
abstract void | setHandlerResolver(HandlerResolver handlerResolver) Sets the HandlerResolver for this Service instance. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, [wait](../../../../java/lang/Object.html#wait%28long, int%29) |
Constructor Detail |
---|
ServiceDelegate
protected ServiceDelegate()
Method Detail |
---|
getPort
public abstract T getPort(QName portName, Class 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](../../../../javax/xml/ws/WebServiceException.html "class in javax.xml.ws")
- 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
serviceEndpointInterface
orportName
is specified
See Also:
getPort
public abstract T getPort(QName portName, Class 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 the features
parameter will have their default values.
Returns:
Object Proxy instance that supports the specified service endpoint interface
Throws:
[WebServiceException](../../../../javax/xml/ws/WebServiceException.html "class in javax.xml.ws")
- 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
serviceEndpointInterface
orportName
is 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 getPort(EndpointReference endpointReference, Class 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
- The EndpointReference
for the target service endpoint that will be invoked by the returned proxy.
serviceEndpointInterface
- Service endpoint interface.
features
- A list of WebServiceFeatures
to configure on the proxy. Supported features not in the features
parameter will have their default values.
Returns:
Object Proxy instance that supports the specified service endpoint interface.
Throws:
[WebServiceException](../../../../javax/xml/ws/WebServiceException.html "class in javax.xml.ws")
-
- If there is an error during creation of the proxy.
- If there is any missing WSDL metadata as required by this method.
- If the
endpointReference
metadata does not match theserviceName
of thisService
instance. - If a
portName
cannot be extracted from the WSDL orendpointReference
metadata. - If an invalid
endpointReference
is specified. - If an invalid
serviceEndpointInterface
is 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 getPort(Class serviceEndpointInterface)
The getPort
method returns a proxy. The parameterserviceEndpointInterface
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](../../../../javax/xml/ws/WebServiceException.html "class in javax.xml.ws")
-
- 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
serviceEndpointInterface
is specified
getPort
public abstract T getPort(Class serviceEndpointInterface, WebServiceFeature... features)
The getPort
method returns a proxy. The parameterserviceEndpointInterface
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 of WebServiceFeatures
to configure on the proxy. Supported features not in the features
parameter will have their default values.
Returns:
Object instance that supports the specified service endpoint interface
Throws:
[WebServiceException](../../../../javax/xml/ws/WebServiceException.html "class in javax.xml.ws")
-
- 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
serviceEndpointInterface
is specified - If a feature is enabled that is not compatible with this port or is unsupported.
Since:
JAX-WS 2.1
See Also:
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 creatingDispatch
instances.
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](../../../../javax/xml/ws/WebServiceException.html "class in javax.xml.ws")
- If any error in the creation of the port
See Also:
SOAPBinding.SOAP11HTTP_BINDING, SOAPBinding.SOAP12HTTP_BINDING, HTTPBinding.HTTP_BINDING
createDispatch
public abstract Dispatch createDispatch(QName portName, Class 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.Source
and javax.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 be MESSAGE
when type is SOAPMessage
.
Returns:
Dispatch instance
Throws:
[WebServiceException](../../../../javax/xml/ws/WebServiceException.html "class in javax.xml.ws")
- If any error in the creation of the Dispatch
object
See Also:
createDispatch
public abstract Dispatch createDispatch(QName portName, Class 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.Source
and javax.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 be MESSAGE
when type is SOAPMessage
.
features
- A list of WebServiceFeatures
to configure on the proxy. Supported features not in the features
parameter will have their default values.
Returns:
Dispatch instance
Throws:
[WebServiceException](../../../../javax/xml/ws/WebServiceException.html "class in javax.xml.ws")
- If any error in the creation of the Dispatch
object 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 Dispatch createDispatch(EndpointReference endpointReference, Class 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 theendpointReference
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
- The EndpointReference
for the target service endpoint that will be invoked by the returned Dispatch
object.
type
- The class of object used to messages or message payloads. Implementations are required to supportjavax.xml.transform.Source
and javax.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 be MESSAGE
when type is SOAPMessage
.
features
- An array of WebServiceFeatures
to configure on the proxy. Supported features not in the features
parameter will have their default values.
Returns:
Dispatch instance
Throws:
[WebServiceException](../../../../javax/xml/ws/WebServiceException.html "class in javax.xml.ws")
-
- If there is any missing WSDL metadata as required by this method.
- If the
endpointReference
metadata does not match theserviceName
orportName
of a WSDL associated with thisService
instance. - If the
portName
cannot be determined from theEndpointReference
metadata. - If any error in the creation of the
Dispatch
object. - 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](../../../../javax/xml/ws/WebServiceException.html "class in javax.xml.ws")
- If any error in the creation of the Dispatch
object
See Also:
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 of WebServiceFeatures
to configure on the proxy. Supported features not in the features
parameter will have their default values.
Returns:
Dispatch instance
Throws:
[WebServiceException](../../../../javax/xml/ws/WebServiceException.html "class in javax.xml.ws")
- If any error in the creation of the Dispatch
object 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 theendpointReference
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
- The EndpointReference
for the target service endpoint that will be invoked by the returned Dispatch
object.
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 of WebServiceFeatures
to configure on the proxy. Supported features not in the features
parameter will have their default values.
Returns:
Dispatch instance
Throws:
[WebServiceException](../../../../javax/xml/ws/WebServiceException.html "class in javax.xml.ws")
-
- If there is any missing WSDL metadata as required by this method.
- If the
endpointReference
metadata does not match theserviceName
orportName
of a WSDL associated with thisService
instance. - If the
portName
cannot be determined from theEndpointReference
metadata. - If any error in the creation of the
Dispatch
object. - 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 ofQName
s of service endpoints grouped by this service
Returns:
Returns java.util.Iterator
with elements of type javax.xml.namespace.QName
Throws:
[WebServiceException](../../../../javax/xml/ws/WebServiceException.html "class in javax.xml.ws")
- 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 HandlerResolver
being used by this Service
instance, or null
if 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
- The HandlerResolver
to use for all subsequently created proxy/dispatch objects.
See Also:
getExecutor
public abstract Executor getExecutor()
Returns the executor for this Service
instance. The executor is used for all asynchronous invocations that require callbacks.
Returns:
The java.util.concurrent.Executor
to be used to invoke a callback.
See Also:
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
- The java.util.concurrent.Executor
to be used to invoke a callback.
Throws:
[SecurityException](../../../../java/lang/SecurityException.html "class in java.lang")
- If the instance does not support setting an executor for security reasons (e.g. the necessary permissions are missing).
See Also:
Submit a bug or feature
For further API reference and developer documentation, see Java SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2015, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.
Scripting on this page tracks web page traffic, but does not change the content in any way.