public abstract class Provider extends Object
Service provider for ServiceDelegate
and Endpoint
objects.
public static final String JAXWSPROVIDER_PROPERTY
A constant representing the property used to lookup the name of a Provider
implementation class.
protected Provider()
Creates a new instance of Provider
public static Provider provider()
Creates a new provider object.
The algorithm used to locate the provider subclass to use consists of the following steps:
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. 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. javax.xml.ws.spi.Provider
is defined, then its value is used as the name of the implementation class. public abstract ServiceDelegate createServiceDelegate(URL wsdlDocumentLocation, QName serviceName, Class<? extends Service> serviceClass)
Creates a service delegate object.
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.public ServiceDelegate createServiceDelegate(URL wsdlDocumentLocation, QName serviceName, Class<? extends Service> serviceClass, WebServiceFeature... features)
Creates a service delegate object.
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.public abstract Endpoint createEndpoint(String bindingId, Object implementor)
Creates an endpoint object with the provided binding and implementation object.
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.public abstract Endpoint createAndPublishEndpoint(String address, Object implementor)
Creates and publishes an endpoint object with the specified address and implementation object.
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.public abstract EndpointReference readEndpointReference(Source eprInfoset)
read an EndpointReference from the infoset contained in eprInfoset
.
eprInfoset
- infoset for EndpointReferenceEndpointReference
unmarshalled from eprInfoset
. This method never returns null
.WebServiceException
- If there is an error creating the EndpointReference
from the specified eprInfoset
.NullPointerException
- If the null
eprInfoset
value is given.public abstract <T> T getPort(EndpointReference endpointReference, Class<T> serviceEndpointInterface, WebServiceFeature... 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.
endpointReference
- the EndpointReference that will be invoked by the returned proxy.serviceEndpointInterface
- Service endpoint interfacefeatures
- A list of WebServiceFeatures to configure on the proxy. Supported features not in the features
parameter will have their default values.WebServiceException
- endpointReference
is illegal serviceEndpointInterface
is specified WebServiceFeature
public abstract W3CEndpointReference createW3CEndpointReference(String address, QName serviceName, QName portName, List<Element> metadata, String wsdlDocumentLocation, List<Element> 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.
address
- Specifies the address of the target endpointserviceName
- 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.W3CEndpointReference
created from serviceName
, portName
, metadata
, wsdlDocumentLocation
and referenceParameters
. This method never returns null
.IllegalStateException
- address
, serviceName
and portName
are all null
. serviceName
service is null
and the portName
is NOT null
. address
property is null
and the serviceName
and portName
do not specify a valid endpoint published by the same Java EE application. serviceName
is NOT null
and is not present in the specified WSDL. portName
port is not null
and it is not present in serviceName
service in the WSDL. wsdlDocumentLocation
is NOT null
and does not represent a valid WSDL. WebServiceException
- If an error occurs while creating the W3CEndpointReference
.public 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
. 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.
address
- Specifies the address of the target endpointinterfaceName
- 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.W3CEndpointReference
created from serviceName
, portName
, metadata
, wsdlDocumentLocation
and referenceParameters
. This method never returns null
.IllegalStateException
- address
, serviceName
and portName
are all null
. serviceName
service is null
and the portName
is NOT null
. address
property is null
and the serviceName
and portName
do not specify a valid endpoint published by the same Java EE application. serviceName
is NOT null
and is not present in the specified WSDL. portName
port is not null
and it is not present in serviceName
service in the WSDL. wsdlDocumentLocation
is NOT null
and does not represent a valid WSDL. wsdlDocumentLocation
is NOT null
but wsdli:wsdlLocation's namespace name cannot be got from the available metadata. WebServiceException
- If an error occurs while creating the W3CEndpointReference
.public Endpoint createAndPublishEndpoint(String address, Object implementor, WebServiceFeature... features)
Creates and publishes an endpoint object with the specified address, implementation object and web service features. Provider
implementations must override the default implementation.
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.public Endpoint createEndpoint(String bindingId, Object implementor, WebServiceFeature... features)
Creates an endpoint object with the provided binding, implementation object and web service features. Provider
implementations must override the default implementation.
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.public 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. Containers typically use this to create Endpoint objects. Provider
implementations must override the default implementation.
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.
© 1993–2017, 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.