public abstract class Provider
extends java.lang.Object
ServiceDelegate
and
Endpoint
objects.Modifier | Constructor and Description |
---|---|
protected |
Provider()
Creates a new instance of Provider
|
Modifier and Type | Method and Description |
---|---|
abstract Endpoint |
createAndPublishEndpoint(java.lang.String address,
java.lang.Object implementor)
Creates and publishes an endpoint object with the specified
address and implementation object.
|
Endpoint |
createAndPublishEndpoint(java.lang.String address,
java.lang.Object implementor,
WebServiceFeature... features)
Creates and publishes an endpoint object with the specified
address, implementation object and web service features.
|
Endpoint |
createEndpoint(java.lang.String bindingId,
java.lang.Class<?> implementorClass,
Invoker invoker,
WebServiceFeature... features)
Creates an endpoint object with the provided binding, implementation
class, invoker and web service features.
|
abstract Endpoint |
createEndpoint(java.lang.String bindingId,
java.lang.Object implementor)
Creates an endpoint object with the provided binding and implementation
object.
|
Endpoint |
createEndpoint(java.lang.String bindingId,
java.lang.Object implementor,
WebServiceFeature... features)
Creates an endpoint object with the provided binding, implementation
object and web service features.
|
abstract ServiceDelegate |
createServiceDelegate(java.net.URL wsdlDocumentLocation,
javax.xml.namespace.QName serviceName,
java.lang.Class<? extends Service> serviceClass)
Creates a service delegate object.
|
ServiceDelegate |
createServiceDelegate(java.net.URL wsdlDocumentLocation,
javax.xml.namespace.QName serviceName,
java.lang.Class<? extends Service> serviceClass,
WebServiceFeature... features)
Creates a service delegate object.
|
abstract W3CEndpointReference |
createW3CEndpointReference(java.lang.String address,
javax.xml.namespace.QName serviceName,
javax.xml.namespace.QName portName,
java.util.List<org.w3c.dom.Element> metadata,
java.lang.String wsdlDocumentLocation,
java.util.List<org.w3c.dom.Element> referenceParameters)
Factory method to create a
W3CEndpointReference . |
W3CEndpointReference |
createW3CEndpointReference(java.lang.String address,
javax.xml.namespace.QName interfaceName,
javax.xml.namespace.QName serviceName,
javax.xml.namespace.QName portName,
java.util.List<org.w3c.dom.Element> metadata,
java.lang.String wsdlDocumentLocation,
java.util.List<org.w3c.dom.Element> referenceParameters,
java.util.List<org.w3c.dom.Element> elements,
java.util.Map<javax.xml.namespace.QName,java.lang.String> attributes)
Factory method to create a
W3CEndpointReference . |
abstract <T> T |
getPort(EndpointReference endpointReference,
java.lang.Class<T> serviceEndpointInterface,
WebServiceFeature... features)
The getPort method returns a proxy.
|
static Provider |
provider()
Creates a new provider object.
|
abstract EndpointReference |
readEndpointReference(javax.xml.transform.Source eprInfoset)
read an EndpointReference from the infoset contained in
eprInfoset . |
public static Provider provider()
The algorithm used to locate the provider subclass to use consists of the following steps:
ServiceLoader
class,
to attempt to locate and load an implementation of Provider
service using
the default loading mechanism.
Properties
format and typically located in the
conf
directory of the Java installation. It contains the fully qualified
name of the implementation class with the key javax.xml.ws.spi.Provider
.
javax.xml.ws.spi.Provider
is defined, then its value is used as the name of the implementation class.
public abstract ServiceDelegate createServiceDelegate(java.net.URL wsdlDocumentLocation, javax.xml.namespace.QName serviceName, java.lang.Class<? extends Service> serviceClass)
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(java.net.URL wsdlDocumentLocation, javax.xml.namespace.QName serviceName, java.lang.Class<? extends Service> serviceClass, WebServiceFeature... features)
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(java.lang.String bindingId, java.lang.Object implementor)
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(java.lang.String address, java.lang.Object implementor)
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(javax.xml.transform.Source eprInfoset)
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
.java.lang.NullPointerException
- If the null
eprInfoset
value is given.public abstract <T> T getPort(EndpointReference endpointReference, java.lang.Class<T> serviceEndpointInterface, WebServiceFeature... features)
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.T
- Service endpoint interfaceendpointReference
- 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(java.lang.String address, javax.xml.namespace.QName serviceName, javax.xml.namespace.QName portName, java.util.List<org.w3c.dom.Element> metadata, java.lang.String wsdlDocumentLocation, java.util.List<org.w3c.dom.Element> referenceParameters)
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
properties. 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
.java.lang.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(java.lang.String address, javax.xml.namespace.QName interfaceName, javax.xml.namespace.QName serviceName, javax.xml.namespace.QName portName, java.util.List<org.w3c.dom.Element> metadata, java.lang.String wsdlDocumentLocation, java.util.List<org.w3c.dom.Element> referenceParameters, java.util.List<org.w3c.dom.Element> elements, java.util.Map<javax.xml.namespace.QName,java.lang.String> attributes)
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
.java.lang.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(java.lang.String address, java.lang.Object implementor, WebServiceFeature... 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(java.lang.String bindingId, java.lang.Object implementor, WebServiceFeature... 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(java.lang.String bindingId, java.lang.Class<?> implementorClass, Invoker invoker, WebServiceFeature... features)
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.