Provider (Java Platform SE 8 ) (original) (raw)
- javax.xml.ws.spi.Provider
public abstract class Provider
extends Object
Service provider for ServiceDelegate
andEndpoint
objects.
Since:
JAX-WS 2.0
Field Summary
Fields
Modifier and Type Field Description static String JAXWSPROVIDER_PROPERTY A constant representing the property used to lookup the name of a Provider implementation class. Constructor Summary
Constructors
Modifier Constructor Description protected Provider() Creates a new instance of Provider Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
Modifier and Type Method Description abstract Endpoint createAndPublishEndpoint(String address,Object implementor) Creates and publishes an endpoint object with the specified address and implementation object. Endpoint createAndPublishEndpoint(String address,Object implementor,WebServiceFeature... features) Creates and publishes an endpoint object with the specified address, implementation object and web service features. Endpoint createEndpoint(String bindingId,Class<?> implementorClass,Invoker invoker,WebServiceFeature... features) Creates an endpoint object with the provided binding, implementation class, invoker and web service features. abstract Endpoint createEndpoint(String bindingId,Object implementor) Creates an endpoint object with the provided binding and implementation object. Endpoint createEndpoint(String bindingId,Object implementor,WebServiceFeature... features) Creates an endpoint object with the provided binding, implementation object and web service features. abstract ServiceDelegate createServiceDelegate(URL wsdlDocumentLocation,QName serviceName,Class<? extends Service> serviceClass) Creates a service delegate object. ServiceDelegate createServiceDelegate(URL wsdlDocumentLocation,QName serviceName,Class<? extends Service> serviceClass,WebServiceFeature... features) Creates a service delegate object. abstract W3CEndpointReference createW3CEndpointReference(String address,QName serviceName,QName portName,List<Element> metadata,String wsdlDocumentLocation,List<Element> referenceParameters) Factory method to create a W3CEndpointReference. W3CEndpointReference createW3CEndpointReference(String address,QName interfaceName,QName serviceName,QName portName,List<Element> metadata,String wsdlDocumentLocation,List<Element> referenceParameters,List<Element> elements,Map<QName,String> attributes) Factory method to create a W3CEndpointReference. abstract T getPort(EndpointReference endpointReference,Class serviceEndpointInterface,WebServiceFeature... features) The getPort method returns a proxy. static Provider provider() Creates a new provider object. abstract EndpointReference readEndpointReference(Source eprInfoset) read an EndpointReference from the infoset contained ineprInfoset. * ### Methods inherited from class java.lang.[Object](../../../../java/lang/Object.html "class in java.lang") `[clone](../../../../java/lang/Object.html#clone--), [equals](../../../../java/lang/Object.html#equals-java.lang.Object-), [finalize](../../../../java/lang/Object.html#finalize--), [getClass](../../../../java/lang/Object.html#getClass--), [hashCode](../../../../java/lang/Object.html#hashCode--), [notify](../../../../java/lang/Object.html#notify--), [notifyAll](../../../../java/lang/Object.html#notifyAll--), [toString](../../../../java/lang/Object.html#toString--), [wait](../../../../java/lang/Object.html#wait--), [wait](../../../../java/lang/Object.html#wait-long-), [wait](../../../../java/lang/Object.html#wait-long-int-)`
Field Detail
* #### JAXWSPROVIDER\_PROPERTY public static final [String](../../../../java/lang/String.html "class in java.lang") JAXWSPROVIDER_PROPERTY A constant representing the property used to lookup the name of a `Provider` implementation class. See Also: [Constant Field Values](../../../../constant-values.html#javax.xml.ws.spi.Provider.JAXWSPROVIDER%5FPROPERTY)
Constructor Detail
* #### Provider protected Provider() Creates a new instance of Provider
Method Detail
* #### provider public static [Provider](../../../../javax/xml/ws/spi/Provider.html "class in javax.xml.ws.spi") provider() Creates a new provider object. The algorithm used to locate the provider subclass to use consists of the following steps: * If a resource with the name of`META-INF/services/javax.xml.ws.spi.Provider` exists, then its first line, if present, is used as the UTF-8 encoded name of the implementation class. * If the $java.home/lib/jaxws.properties file exists and it is readable by the `java.util.Properties.load(InputStream)` method and it contains an entry whose key is `javax.xml.ws.spi.Provider`, then the value of that entry is used as the name of the implementation class. * If a system property with the name `javax.xml.ws.spi.Provider` is defined, then its value is used as the name of the implementation class. * Finally, a default implementation class name is used. * #### createServiceDelegate public abstract [ServiceDelegate](../../../../javax/xml/ws/spi/ServiceDelegate.html "class in javax.xml.ws.spi") createServiceDelegate([URL](../../../../java/net/URL.html "class in java.net") wsdlDocumentLocation, [QName](../../../../javax/xml/namespace/QName.html "class in javax.xml.namespace") serviceName, [Class](../../../../java/lang/Class.html "class in java.lang")<? extends [Service](../../../../javax/xml/ws/Service.html "class in javax.xml.ws")> serviceClass) Creates a service delegate object. Parameters: `wsdlDocumentLocation` \- A URL pointing to the WSDL document for the service, or `null` if there isn't one. `serviceName` \- The qualified name of the service. `serviceClass` \- The service class, which MUST be either`javax.xml.ws.Service` or a subclass thereof. Returns: The newly created service delegate. * #### createServiceDelegate public [ServiceDelegate](../../../../javax/xml/ws/spi/ServiceDelegate.html "class in javax.xml.ws.spi") createServiceDelegate([URL](../../../../java/net/URL.html "class in java.net") wsdlDocumentLocation, [QName](../../../../javax/xml/namespace/QName.html "class in javax.xml.namespace") serviceName, [Class](../../../../java/lang/Class.html "class in java.lang")<? extends [Service](../../../../javax/xml/ws/Service.html "class in javax.xml.ws")> serviceClass, [WebServiceFeature](../../../../javax/xml/ws/WebServiceFeature.html "class in javax.xml.ws")... features) Creates a service delegate object. Parameters: `wsdlDocumentLocation` \- A URL pointing to the WSDL document for the service, or `null` if there isn't one. `serviceName` \- The qualified name of the service. `serviceClass` \- The service class, which MUST be either`javax.xml.ws.Service` or a subclass thereof. `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: The newly created service delegate. Since: JAX-WS 2.2 * #### createEndpoint public abstract [Endpoint](../../../../javax/xml/ws/Endpoint.html "class in javax.xml.ws") createEndpoint([String](../../../../java/lang/String.html "class in java.lang") bindingId, [Object](../../../../java/lang/Object.html "class in java.lang") implementor) Creates an endpoint object with the provided binding and implementation object. Parameters: `bindingId` \- A URI specifying the desired binding (e.g. SOAP/HTTP) `implementor` \- A service implementation object to which incoming requests will be dispatched. The corresponding class MUST be annotated with all the necessary Web service annotations. Returns: The newly created endpoint. * #### createAndPublishEndpoint public abstract [Endpoint](../../../../javax/xml/ws/Endpoint.html "class in javax.xml.ws") createAndPublishEndpoint([String](../../../../java/lang/String.html "class in java.lang") address, [Object](../../../../java/lang/Object.html "class in java.lang") implementor) Creates and publishes an endpoint object with the specified address and implementation object. Parameters: `address` \- A URI specifying the address and transport/protocol to use. A http: URI MUST result in the SOAP 1.1/HTTP binding being used. Implementations may support other URI schemes. `implementor` \- A service implementation object to which incoming requests will be dispatched. The corresponding class MUST be annotated with all the necessary Web service annotations. Returns: The newly created endpoint. * #### readEndpointReference public abstract [EndpointReference](../../../../javax/xml/ws/EndpointReference.html "class in javax.xml.ws") readEndpointReference([Source](../../../../javax/xml/transform/Source.html "interface in javax.xml.transform") eprInfoset) read an EndpointReference from the infoset contained in`eprInfoset`. Parameters: `eprInfoset` \- infoset for EndpointReference Returns: the `EndpointReference` unmarshalled from`eprInfoset`. This method never returns `null`. Throws: `[WebServiceException](../../../../javax/xml/ws/WebServiceException.html "class in javax.xml.ws")` \- If there is an error creating the`EndpointReference` from the specified `eprInfoset`. `[NullPointerException](../../../../java/lang/NullPointerException.html "class in java.lang")` \- If the `null` `eprInfoset` value is given. Since: JAX-WS 2.1 * #### getPort public abstract <T> T getPort([EndpointReference](../../../../javax/xml/ws/EndpointReference.html "class in javax.xml.ws") endpointReference, [Class](../../../../java/lang/Class.html "class in java.lang")<T> serviceEndpointInterface, [WebServiceFeature](../../../../javax/xml/ws/WebServiceFeature.html "class in javax.xml.ws")... features) The getPort method returns a 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 parameter `serviceEndpointInterface` specifies the service endpoint interface that is supported by the returned proxy. The parameter `endpointReference` specifies the endpoint that will be invoked 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 metadata of the`serviceEndpointInterface` and the `EndpointReference`. For this method to successfully return a proxy, WSDL metadata MUST be available and the`endpointReference` MUST contain an implementation understood`serviceName` metadata. Parameters: `endpointReference` \- the EndpointReference 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 this`endpointReference` is illegal * 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: [WebServiceFeature](../../../../javax/xml/ws/WebServiceFeature.html "class in javax.xml.ws") * #### createW3CEndpointReference public abstract [W3CEndpointReference](../../../../javax/xml/ws/wsaddressing/W3CEndpointReference.html "class in javax.xml.ws.wsaddressing") createW3CEndpointReference([String](../../../../java/lang/String.html "class in java.lang") address, [QName](../../../../javax/xml/namespace/QName.html "class in javax.xml.namespace") serviceName, [QName](../../../../javax/xml/namespace/QName.html "class in javax.xml.namespace") portName, [List](../../../../java/util/List.html "interface in java.util")<[Element](../../../../org/w3c/dom/Element.html "interface in org.w3c.dom")> metadata, [String](../../../../java/lang/String.html "class in java.lang") wsdlDocumentLocation, [List](../../../../java/util/List.html "interface in java.util")<[Element](../../../../org/w3c/dom/Element.html "interface in org.w3c.dom")> referenceParameters) Factory method to create a `W3CEndpointReference`. This method can be used to create a `W3CEndpointReference` for any endpoint by specifying the `address` property along with any other desired properties. This method can also be used to create a `W3CEndpointReference` for an endpoint that is published by the same Java EE application. To do so the `address` property can be provided or this method can automatically determine the `address` of an endpoint that is published by the same Java EE application and is identified by the `serviceName` and`portName` propeties. If the `address` is`null` and the `serviceName` and`portName` do not identify an endpoint published by the same Java EE application, a`javax.lang.IllegalStateException` MUST be thrown. Parameters: `address` \- Specifies the address of the target endpoint `serviceName` \- Qualified name of the service in the WSDL. `portName` \- Qualified name of the endpoint in the WSDL. `metadata` \- A list of elements that should be added to the`W3CEndpointReference` instances `wsa:metadata` element. `wsdlDocumentLocation` \- URL for the WSDL document location for the service. `referenceParameters` \- Reference parameters to be associated with the returned `EndpointReference` instance. Returns: the `W3CEndpointReference` created from`serviceName`, `portName`,`metadata`, `wsdlDocumentLocation` and `referenceParameters`. This method never returns `null`. Throws: `[IllegalStateException](../../../../java/lang/IllegalStateException.html "class in java.lang")` \- * If the `address`, `serviceName` and`portName` are all `null`. * If the `serviceName` service is `null` and the`portName` is NOT `null`. * If the `address` property is `null` and the `serviceName` and `portName` do not specify a valid endpoint published by the same Java EE application. * If the `serviceName`is NOT `null` and is not present in the specified WSDL. * If the `portName` port is not `null` and it is not present in `serviceName` service in the WSDL. * If the `wsdlDocumentLocation` is NOT `null` and does not represent a valid WSDL. `[WebServiceException](../../../../javax/xml/ws/WebServiceException.html "class in javax.xml.ws")` \- If an error occurs while creating the`W3CEndpointReference`. Since: JAX-WS 2.1 * #### createW3CEndpointReference public [W3CEndpointReference](../../../../javax/xml/ws/wsaddressing/W3CEndpointReference.html "class in javax.xml.ws.wsaddressing") createW3CEndpointReference([String](../../../../java/lang/String.html "class in java.lang") address, [QName](../../../../javax/xml/namespace/QName.html "class in javax.xml.namespace") interfaceName, [QName](../../../../javax/xml/namespace/QName.html "class in javax.xml.namespace") serviceName, [QName](../../../../javax/xml/namespace/QName.html "class in javax.xml.namespace") portName, [List](../../../../java/util/List.html "interface in java.util")<[Element](../../../../org/w3c/dom/Element.html "interface in org.w3c.dom")> metadata, [String](../../../../java/lang/String.html "class in java.lang") wsdlDocumentLocation, [List](../../../../java/util/List.html "interface in java.util")<[Element](../../../../org/w3c/dom/Element.html "interface in org.w3c.dom")> referenceParameters, [List](../../../../java/util/List.html "interface in java.util")<[Element](../../../../org/w3c/dom/Element.html "interface in org.w3c.dom")> elements, [Map](../../../../java/util/Map.html "interface in java.util")<[QName](../../../../javax/xml/namespace/QName.html "class in javax.xml.namespace"),[String](../../../../java/lang/String.html "class in java.lang")> attributes) Factory method to create a `W3CEndpointReference`. Using this method, a `W3CEndpointReference` instance can be created with extension elements, and attributes.`Provider` implementations must override the default implementation. This method can be used to create a `W3CEndpointReference` for any endpoint by specifying the `address` property along with any other desired properties. This method can also be used to create a `W3CEndpointReference` for an endpoint that is published by the same Java EE application. To do so the `address` property can be provided or this method can automatically determine the `address` of an endpoint that is published by the same Java EE application and is identified by the `serviceName` and`portName` propeties. If the `address` is`null` and the `serviceName` and`portName` do not identify an endpoint published by the same Java EE application, a`javax.lang.IllegalStateException` MUST be thrown. Parameters: `address` \- Specifies the address of the target endpoint `interfaceName` \- the `wsam:InterfaceName` element in the`wsa:Metadata` element. `serviceName` \- Qualified name of the service in the WSDL. `portName` \- Qualified name of the endpoint in the WSDL. `metadata` \- A list of elements that should be added to the`W3CEndpointReference` instances `wsa:metadata` element. `wsdlDocumentLocation` \- URL for the WSDL document location for the service. `referenceParameters` \- Reference parameters to be associated with the returned `EndpointReference` instance. `elements` \- extension elements to be associated with the returned `EndpointReference` instance. `attributes` \- extension attributes to be associated with the returned `EndpointReference` instance. Returns: the `W3CEndpointReference` created from`serviceName`, `portName`,`metadata`, `wsdlDocumentLocation` and `referenceParameters`. This method never returns `null`. Throws: `[IllegalStateException](../../../../java/lang/IllegalStateException.html "class in java.lang")` \- * If the `address`, `serviceName` and`portName` are all `null`. * If the `serviceName` service is `null` and the`portName` is NOT `null`. * If the `address` property is `null` and the `serviceName` and `portName` do not specify a valid endpoint published by the same Java EE application. * If the `serviceName`is NOT `null` and is not present in the specified WSDL. * If the `portName` port is not `null` and it is not present in `serviceName` service in the WSDL. * If the `wsdlDocumentLocation` is NOT `null` and does not represent a valid WSDL. * If the `wsdlDocumentLocation` is NOT `null` but wsdli:wsdlLocation's namespace name cannot be got from the available metadata. `[WebServiceException](../../../../javax/xml/ws/WebServiceException.html "class in javax.xml.ws")` \- If an error occurs while creating the`W3CEndpointReference`. Since: JAX-WS 2.2 * #### createAndPublishEndpoint public [Endpoint](../../../../javax/xml/ws/Endpoint.html "class in javax.xml.ws") createAndPublishEndpoint([String](../../../../java/lang/String.html "class in java.lang") address, [Object](../../../../java/lang/Object.html "class in java.lang") implementor, [WebServiceFeature](../../../../javax/xml/ws/WebServiceFeature.html "class in javax.xml.ws")... features) Creates and publishes an endpoint object with the specified address, implementation object and web service features.`Provider` implementations must override the default implementation. Parameters: `address` \- A URI specifying the address and transport/protocol to use. A http: URI MUST result in the SOAP 1.1/HTTP binding being used. Implementations may support other URI schemes. `implementor` \- A service implementation object to which incoming requests will be dispatched. The corresponding class MUST be annotated with all the necessary Web service annotations. `features` \- A list of WebServiceFeatures to configure on the endpoint. Supported features not in the `features` parameter will have their default values. Returns: The newly created endpoint. Since: JAX-WS 2.2 * #### createEndpoint public [Endpoint](../../../../javax/xml/ws/Endpoint.html "class in javax.xml.ws") createEndpoint([String](../../../../java/lang/String.html "class in java.lang") bindingId, [Object](../../../../java/lang/Object.html "class in java.lang") implementor, [WebServiceFeature](../../../../javax/xml/ws/WebServiceFeature.html "class in javax.xml.ws")... features) Creates an endpoint object with the provided binding, implementation object and web service features. `Provider` implementations must override the default implementation. Parameters: `bindingId` \- A URI specifying the desired binding (e.g. SOAP/HTTP) `implementor` \- A service implementation object to which incoming requests will be dispatched. The corresponding class MUST be annotated with all the necessary Web service annotations. `features` \- A list of WebServiceFeatures to configure on the endpoint. Supported features not in the `features` parameter will have their default values. Returns: The newly created endpoint. Since: JAX-WS 2.2 * #### createEndpoint public [Endpoint](../../../../javax/xml/ws/Endpoint.html "class in javax.xml.ws") createEndpoint([String](../../../../java/lang/String.html "class in java.lang") bindingId, [Class](../../../../java/lang/Class.html "class in java.lang")<?> implementorClass, [Invoker](../../../../javax/xml/ws/spi/Invoker.html "class in javax.xml.ws.spi") invoker, [WebServiceFeature](../../../../javax/xml/ws/WebServiceFeature.html "class in javax.xml.ws")... features) Creates an endpoint object with the provided binding, implementation class, invoker and web service features. Containers typically use this to create Endpoint objects. `Provider` implementations must override the default implementation. Parameters: `bindingId` \- A URI specifying the desired binding (e.g. SOAP/HTTP). Can be null. `implementorClass` \- A service implementation class that MUST be annotated with all the necessary Web service annotations. `invoker` \- that does the actual invocation on the service instance. `features` \- A list of WebServiceFeatures to configure on the endpoint. Supported features not in the `features` parameter will have their default values. Returns: The newly created endpoint. Since: JAX-WS 2.2
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.