Class EndpointReference
- Direct Known Subclasses:
W3CEndpointReference
This class is immutable as the typical web service developer
need not be concerned with its contents. The web service
developer should use this class strictly as a mechanism to
reference a remote web service endpoint. See the Service
APIs
that clients can use to that utilize an EndpointReference
.
See the Endpoint
, and
BindingProvider
APIs on how
EndpointReferences
can be created for published
endpoints.
Concrete implementations of this class will represent
an EndpointReference
for a particular version of Addressing.
For example the W3CEndpointReference
is for use
with W3C Web Services Addressing 1.0 - Core Recommendation.
If JAX-WS implementors need to support different versions
of addressing, they should write their own
EndpointReference
subclass for that version.
This will allow a JAX-WS implementation to create
a vendor specific EndpointReferences
that the
vendor can use to flag a different version of
addressing.
Web service developers that wish to pass or return
EndpointReference
in Java methods in an
SEI should use
concrete instances of an EndpointReference
such
as the W3CEndpointReference
. This way the
schema mapped from the SEI will be more descriptive of the
type of endpoint reference being passed.
JAX-WS implementors are expected to extract the XML infoset
from an EndpointReferece
using the
method.
writeTo(javax.xml.transform.Result)
JAXB will bind this class to xs:anyType. If a better binding
is desired, web services developers should use a concrete
subclass such as W3CEndpointReference
.
- Since:
- JAX-WS 2.1
- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescription<T> T
getPort
(Class<T> serviceEndpointInterface, WebServiceFeature... features) ThegetPort
method returns a proxy.static EndpointReference
Factory method to read an EndpointReference from the infoset contained ineprInfoset
.toString()
Displays EPR infoset for debugging convenience.abstract void
write thisEndpointReference
to the specified infoset format
-
Constructor Details
-
EndpointReference
protected EndpointReference()
-
-
Method Details
-
readFrom
Factory method to read an EndpointReference from the infoset contained ineprInfoset
. This method delegates to the vendor specific implementation of theProvider.readEndpointReference(javax.xml.transform.Source)
method.- Parameters:
eprInfoset
- TheEndpointReference
infoset to be unmarshalled- Returns:
- the EndpointReference unmarshalled from
eprInfoset
nevernull
- Throws:
WebServiceException
- if an error occurs while creating theEndpointReference
from theeprInfoset
IllegalArgumentException
- if thenull
eprInfoset
value is given.
-
writeTo
write thisEndpointReference
to the specified infoset format- Parameters:
result
- for writing infoset- Throws:
WebServiceException
- if there is an error writing theEndpointReference
to the specifiedresult
.IllegalArgumentException
- If thenull
result
value is given.
-
getPort
ThegetPort
method returns a proxy. If there are any reference parameters in theEndpointReference
instance, then those reference parameters MUST appear as SOAP headers, indicating them to be reference parameters, on all messages sent to the endpoint. The parameterserviceEndpointInterface
specifies the service endpoint interface that is supported by the returned proxy. TheEndpointReference
instance 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 from thisEndpointReference
or from annotations on theserviceEndpointInterface
. For this method to successfully return a proxy, WSDL metadata MUST be available and theEndpointReference
instance MUST contain an implementation understoodserviceName
metadata.Because this port is not created from a
Service
object, handlers will not automatically be configured, and theHandlerResolver
andExecutor
cannot be get or set for this port. TheBindingProvider().getBinding().setHandlerChain()
method can be used to manually configure handlers for this port.- Parameters:
serviceEndpointInterface
- Service endpoint interfacefeatures
- An array ofWebServiceFeatures
to configure on the proxy. Supported features not in thefeatures
parameter 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 this
endpointReference
is invalid - If an illegal
serviceEndpointInterface
is specified - If a feature is enabled that is not compatible with this port or is unsupported.
- See Also:
-
toString
Displays EPR infoset for debugging convenience.
-