- java.lang.Object
- 
- javax.xml.ws.Service
 
- 
 
 public class Service extends Object Serviceobjects provide the client view of a Web service.Serviceacts as a factory of the following:- Proxies for a target service endpoint.
- Instances of 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 aHandlerResolver.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:
- 1.6, JAX-WS 2.0
- See Also:
- Provider,- HandlerResolver,- Executor
 
- 
- 
Nested Class SummaryNested Classes Modifier and Type Class Description static classService.ModeThe orientation of a dynamic client or service.
 - 
Method SummaryAll Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddPort(QName portName, String bindingId, String endpointAddress)Creates a new port for the service.static Servicecreate(URL wsdlDocumentLocation, QName serviceName)Creates aServiceinstance.static Servicecreate(URL wsdlDocumentLocation, QName serviceName, WebServiceFeature... features)Creates aServiceinstance.static Servicecreate(QName serviceName)Creates aServiceinstance.static Servicecreate(QName serviceName, WebServiceFeature... features)Creates aServiceinstance.<T> Dispatch<T>createDispatch(QName portName, Class<T> type, Service.Mode mode)Creates aDispatchinstance for use with objects of the client's choosing.<T> Dispatch<T>createDispatch(QName portName, Class<T> type, Service.Mode mode, WebServiceFeature... features)Creates aDispatchinstance for use with objects of the client's choosing.Dispatch<Object>createDispatch(QName portName, JAXBContext context, Service.Mode mode)Creates aDispatchinstance for use with JAXB generated objects.Dispatch<Object>createDispatch(QName portName, JAXBContext context, Service.Mode mode, WebServiceFeature... features)Creates aDispatchinstance for use with JAXB generated objects.<T> Dispatch<T>createDispatch(EndpointReference endpointReference, Class<T> type, Service.Mode mode, WebServiceFeature... features)Creates aDispatchinstance for use with objects of the client's choosing.Dispatch<Object>createDispatch(EndpointReference endpointReference, JAXBContext context, Service.Mode mode, WebServiceFeature... features)Creates aDispatchinstance for use with JAXB generated objects.ExecutorgetExecutor()Returns the executor for thisServiceinstance.HandlerResolvergetHandlerResolver()Returns the configured handler resolver.<T> TgetPort(Class<T> serviceEndpointInterface)ThegetPortmethod returns a proxy.<T> TgetPort(Class<T> serviceEndpointInterface, WebServiceFeature... features)ThegetPortmethod returns a proxy.<T> TgetPort(QName portName, Class<T> serviceEndpointInterface)ThegetPortmethod returns a proxy.<T> TgetPort(QName portName, Class<T> serviceEndpointInterface, WebServiceFeature... features)ThegetPortmethod returns a proxy.<T> TgetPort(EndpointReference endpointReference, Class<T> serviceEndpointInterface, WebServiceFeature... features)ThegetPortmethod returns a proxy.Iterator<QName>getPorts()Returns anIteratorfor the list ofQNames of service endpoints grouped by this serviceQNamegetServiceName()Gets the name of this service.URLgetWSDLDocumentLocation()Gets the location of the WSDL document for this Service.voidsetExecutor(Executor executor)Sets the executor for thisServiceinstance.voidsetHandlerResolver(HandlerResolver handlerResolver)Sets theHandlerResolverfor thisServiceinstance.
 
- 
- 
- 
Constructor Detail- 
Serviceprotected Service(URL wsdlDocumentLocation, QName serviceName) Creates aService. The specified WSDL document location and service qualified name MUST uniquely identify awsdl:serviceelement.- Parameters:
- wsdlDocumentLocation-- URLfor the WSDL document location for the service
- serviceName-- QNamefor the service
 
 - 
Serviceprotected Service(URL wsdlDocumentLocation, QName serviceName, WebServiceFeature... features) Creates aService. The created instance is configured with the web service features. The specified WSDL document location and service qualified name MUST uniquely identify awsdl:serviceelement.- Parameters:
- wsdlDocumentLocation-- URLfor the WSDL document location for the service
- serviceName-- QNamefor the service
- features- Web Service features that must be configured on the service. If the provider doesn't understand a feature, it must throw a WebServiceException.
 
 
- 
 - 
Method Detail- 
getPortpublic <T> T getPort(QName portName, Class<T> serviceEndpointInterface) ThegetPortmethod returns a proxy. A service client uses this proxy to invoke operations on the target service endpoint. TheserviceEndpointInterfacespecifies the service endpoint interface that is supported by the created dynamic proxy instance.- Type Parameters:
- T- Service endpoint interface.
- Parameters:
- portName- Qualified name of the service endpoint in the WSDL service description.
- serviceEndpointInterface- Service endpoint interface supported by the dynamic proxy instance.
- 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
 
 - 
getPortpublic <T> T getPort(QName portName, Class<T> serviceEndpointInterface, WebServiceFeature... features) ThegetPortmethod returns a proxy. A service client uses this proxy to invoke operations on the target service endpoint. TheserviceEndpointInterfacespecifies the service endpoint interface that is supported by the created dynamic proxy instance.- Type Parameters:
- T- Service endpoint interface.
- Parameters:
- portName- Qualified name of the service endpoint in the WSDL service description.
- serviceEndpointInterface- Service endpoint interface supported by the dynamic proxy instance.
- features- A list of WebServiceFeatures to configure on the proxy. Supported features not in the- featuresparameter 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:
- 1.6, JAX-WS 2.1
- See Also:
- Proxy,- InvocationHandler,- WebServiceFeature
 
 - 
getPortpublic <T> T getPort(Class<T> serviceEndpointInterface) ThegetPortmethod returns a proxy. The parameterserviceEndpointInterfacespecifies 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.- Type Parameters:
- T- Service endpoint interface.
- 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.
 
 
 - 
getPortpublic <T> T getPort(Class<T> serviceEndpointInterface, WebServiceFeature... features) ThegetPortmethod returns a proxy. The parameterserviceEndpointInterfacespecifies 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.- Type Parameters:
- T- Service endpoint interface.
- Parameters:
- serviceEndpointInterface- Service endpoint interface.
- features- A list of WebServiceFeatures to configure on the proxy. Supported features not in the- featuresparameter 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:
- 1.6, JAX-WS 2.1
- See Also:
- WebServiceFeature
 
 - 
getPortpublic <T> T getPort(EndpointReference endpointReference, Class<T> serviceEndpointInterface, WebServiceFeature... features) ThegetPortmethod returns a proxy. The parameterendpointReferencespecifies the endpoint that will be invoked by the returned proxy. If there are any reference parameters in theendpointReference, then those reference parameters MUST appear as SOAP headers, indicating them to be reference parameters, on all messages sent to the endpoint. TheendpointReference'saddress MUST be used for invocations on the endpoint. The parameterserviceEndpointInterfacespecifies 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 thisServiceinstance or from the metadata from theendpointReference. If thisServiceinstance has a WSDL and theendpointReferencemetadata also has a WSDL, then the WSDL from this instance MUST be used. If thisServiceinstance does not have a WSDL and theendpointReferencedoes have a WSDL, then the WSDL from theendpointReferenceMAY be used. The returned proxy should not be reconfigured by the client. If thisServiceinstance 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 
 where theport = service.getPort(portName, serviceEndpointInterface);portNameis retrieved from the metadata of theendpointReferenceor from theserviceEndpointInterfaceand the WSDL associated with thisServiceinstance.- Type Parameters:
- T- Service endpoint interface.
- Parameters:
- endpointReference- The- EndpointReferencefor the target service endpoint that will be invoked by the returned proxy.
- serviceEndpointInterface- Service endpoint interface.
- features- A list of- WebServiceFeaturesto configure on the proxy. Supported features not in the- featuresparameter 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:
- 1.6, JAX-WS 2.1
 
 - 
addPortpublic 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 creatingDispatchinstances.- Parameters:
- portName- Qualified name for the target service endpoint.
- bindingId- A String 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
 
 - 
createDispatchpublic <T> Dispatch<T> createDispatch(QName portName, Class<T> type, Service.Mode mode) Creates aDispatchinstance for use with objects of the client's choosing.- Type Parameters:
- T- The type of the message or payload
- Parameters:
- portName- Qualified name for the target service endpoint
- type- The class of object used for messages or message payloads. Implementations are required to support- javax.xml.transform.Source,- javax.xml.soap.SOAPMessageand- javax.activation.DataSource, depending on the binding in use.
- mode- Controls whether the created dispatch instance is message or payload oriented, i.e. whether the client will work with complete protocol messages or message payloads. E.g. when using the SOAP protocol, this parameter controls whether the client 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- If any error in the creation of the- Dispatchobject.
- See Also:
- Source,- SOAPMessage
 
 - 
createDispatchpublic <T> Dispatch<T> createDispatch(QName portName, Class<T> type, Service.Mode mode, WebServiceFeature... features) Creates aDispatchinstance for use with objects of the client's choosing.- Type Parameters:
- T- The type of the message or payload
- Parameters:
- portName- Qualified name for the target service endpoint
- type- The class of object used for messages or message payloads. Implementations are required to support- javax.xml.transform.Sourceand- javax.xml.soap.SOAPMessage.
- mode- Controls whether the created dispatch instance is message or payload oriented, i.e. whether the client will work with complete protocol messages or message payloads. E.g. when using the SOAP protocol, this parameter controls whether the client will work with SOAP messages or the contents of a SOAP body. Mode MUST be- MESSAGEwhen type is- SOAPMessage.
- features- A list of- WebServiceFeaturesto configure on the proxy. Supported features not in the- featuresparameter will have their default values.
- Returns:
- Dispatch instance.
- Throws:
- WebServiceException- If any error in the creation of the- Dispatchobject or if a feature is enabled that is not compatible with this port or is unsupported.
- Since:
- 1.6, JAX-WS 2.1
- See Also:
- Source,- SOAPMessage,- WebServiceFeature
 
 - 
createDispatchpublic <T> Dispatch<T> createDispatch(EndpointReference endpointReference, Class<T> type, Service.Mode mode, WebServiceFeature... features) Creates aDispatchinstance for use with objects of the client's choosing. If there are any reference parameters in theendpointReference, then those reference parameters MUST appear as SOAP headers, indicating them to be reference parameters, on all messages sent to the endpoint. TheendpointReference'saddress 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 thisServiceinstance or from the metadata from theendpointReference. If thisServiceinstance has a WSDL and theendpointReferencealso has a WSDL in its metadata, then the WSDL from this instance MUST be used. If thisServiceinstance does not have a WSDL and theendpointReferencedoes have a WSDL, then the WSDL from theendpointReferenceMAY be used. An implementation MUST be able to retrieve theportNamefrom theendpointReferencemetadata.This method behaves the same as calling 
 where thedispatch = service.createDispatch(portName, type, mode, features);portNameis retrieved from the WSDL orEndpointReferencemetadata.- Type Parameters:
- T- The type of the message or payload
- Parameters:
- endpointReference- The- EndpointReferencefor the target service endpoint that will be invoked by the returned- Dispatchobject.
- type- The class of object used to messages or message payloads. Implementations are required to support- javax.xml.transform.Sourceand- javax.xml.soap.SOAPMessage.
- mode- Controls whether the created dispatch instance is message or payload oriented, i.e. whether the client will work with complete protocol messages or message payloads. E.g. when using the SOAP protocol, this parameter controls whether the client will work with SOAP messages or the contents of a SOAP body. Mode MUST be- MESSAGEwhen type is- SOAPMessage.
- features- An array of- WebServiceFeaturesto configure on the proxy. Supported features not in the- featuresparameter 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:
- 1.6, JAX-WS 2.1
- See Also:
- Source,- SOAPMessage,- WebServiceFeature
 
 - 
createDispatchpublic Dispatch<Object> createDispatch(QName portName, JAXBContext context, Service.Mode mode) Creates aDispatchinstance 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 client will work with complete protocol messages or message payloads. E.g. when using the SOAP protocol, this parameter controls whether the client will work with SOAP messages or the contents of a SOAP body.
- Returns:
- Dispatch instance.
- Throws:
- WebServiceException- If any error in the creation of the- Dispatchobject.
- See Also:
- JAXBContext
 
 - 
createDispatchpublic Dispatch<Object> createDispatch(QName portName, JAXBContext context, Service.Mode mode, WebServiceFeature... features) Creates aDispatchinstance 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 client will work with complete protocol messages or message payloads. E.g. when using the SOAP protocol, this parameter controls whether the client will work with SOAP messages or the contents of a SOAP body.
- features- A list of- WebServiceFeaturesto configure on the proxy. Supported features not in the- featuresparameter will have their default values.
- Returns:
- Dispatch instance.
- Throws:
- WebServiceException- If any error in the creation of the- Dispatchobject or if a feature is enabled that is not compatible with this port or is unsupported.
- Since:
- 1.6, JAX-WS 2.1
- See Also:
- JAXBContext,- WebServiceFeature
 
 - 
createDispatchpublic Dispatch<Object> createDispatch(EndpointReference endpointReference, JAXBContext context, Service.Mode mode, WebServiceFeature... features) Creates aDispatchinstance for use with JAXB generated objects. If there are any reference parameters in theendpointReference, then those reference parameters MUST appear as SOAP headers, indicating them to be reference parameters, on all messages sent to the endpoint. TheendpointReference'saddress 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 thisServiceinstance or from the metadata from theendpointReference. If thisServiceinstance has a WSDL and theendpointReferencealso has a WSDL in its metadata, then the WSDL from this instance MUST be used. If thisServiceinstance does not have a WSDL and theendpointReferencedoes have a WSDL, then the WSDL from theendpointReferenceMAY be used. An implementation MUST be able to retrieve theportNamefrom theendpointReferencemetadata.This method behavies the same as calling 
 where thedispatch = service.createDispatch(portName, context, mode, features);portNameis retrieved from the WSDL orendpointReferencemetadata.- Parameters:
- endpointReference- The- EndpointReferencefor the target service endpoint that will be invoked by the returned- Dispatchobject.
- 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 client will work with complete protocol messages or message payloads. E.g. when using the SOAP protocol, this parameter controls whether the client will work with SOAP messages or the contents of a SOAP body.
- features- An array of- WebServiceFeaturesto configure on the proxy. Supported features not in the- featuresparameter 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:
- 1.6, JAX-WS 2.1
- See Also:
- JAXBContext,- WebServiceFeature
 
 - 
getServiceNamepublic QName getServiceName() Gets the name of this service.- Returns:
- Qualified name of this service
 
 - 
getPortspublic Iterator<QName> getPorts() Returns anIteratorfor the list ofQNames 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.
 
 - 
getWSDLDocumentLocationpublic URL getWSDLDocumentLocation() Gets the location of the WSDL document for this Service.- Returns:
- URL for the location of the WSDL document for this service.
 
 - 
getHandlerResolverpublic HandlerResolver getHandlerResolver() Returns the configured handler resolver.- Returns:
- HandlerResolver The HandlerResolverbeing used by thisServiceinstance, ornullif there isn't one.
 
 - 
setHandlerResolverpublic void setHandlerResolver(HandlerResolver handlerResolver) Sets theHandlerResolverfor thisServiceinstance.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- HandlerResolverto use for all subsequently created proxy/dispatch objects.
- See Also:
- HandlerResolver
 
 - 
getExecutorpublic Executor getExecutor() Returns the executor for thisServiceinstance. 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
 
 - 
setExecutorpublic void setExecutor(Executor executor) Sets the executor for thisServiceinstance. The executor is used for all asynchronous invocations that require callbacks.- Parameters:
- executor- The- java.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
 
 - 
createpublic static Service create(URL wsdlDocumentLocation, QName serviceName) Creates aServiceinstance. The specified WSDL document location and service qualified name MUST uniquely identify awsdl:serviceelement.- Parameters:
- wsdlDocumentLocation-- URLfor the WSDL document location for the service
- serviceName-- QNamefor the service
- Returns:
- Service instance
- Throws:
- WebServiceException- If any error in creation of the specified service.
 
 - 
createpublic static Service create(URL wsdlDocumentLocation, QName serviceName, WebServiceFeature... features) Creates aServiceinstance. The created instance is configured with the web service features. The specified WSDL document location and service qualified name MUST uniquely identify awsdl:serviceelement.- Parameters:
- wsdlDocumentLocation-- URLfor the WSDL document location for the service
- serviceName-- QNamefor the service
- features- Web Service features that must be configured on the service. If the provider doesn't understand a feature, it must throw a WebServiceException.
- Returns:
- Service instance configured with requested web service features
- Throws:
- WebServiceException- If any error in creation of the specified service.
- Since:
- 1.7, JAX-WS 2.2
 
 - 
createpublic static Service create(QName serviceName) Creates aServiceinstance.- Parameters:
- serviceName-- QNamefor the service
- Returns:
- Service instance
- Throws:
- WebServiceException- If any error in creation of the specified service
 
 - 
createpublic static Service create(QName serviceName, WebServiceFeature... features) Creates aServiceinstance. The created instance is configured with the web service features.- Parameters:
- serviceName-- QNamefor the service
- features- Web Service features that must be configured on the service. If the provider doesn't understand a feature, it must throw a WebServiceException.
- Returns:
- Service instance configured with requested web service features
- Throws:
- WebServiceException- If any error in creation of the specified service
- Since:
- 1.7, JAX-WS 2.2
 
 
- 
 
-