public abstract class Endpoint extends Object
Endpoints are created using the static methods defined in this class. An endpoint is always tied to one Binding and one implementor, both set at endpoint creation time.
An endpoint is either in a published or an unpublished state. The publish methods can be used to start publishing an endpoint, at which point it starts accepting incoming requests. Conversely, the stop method can be used to stop accepting incoming requests and take the endpoint down. Once stopped, an endpoint cannot be published again.
An Executor may be set on the endpoint in order to gain better control over the threads used to dispatch incoming requests. For instance, thread pooling with certain parameters can be enabled by creating a ThreadPoolExecutor and registering it with the endpoint.
Handler chains can be set using the contained Binding.
An endpoint may have a list of metadata documents, such as WSDL and XMLSchema documents, bound to it. At publishing time, the JAX-WS implementation will try to reuse as much of that metadata as possible instead of generating new ones based on the annotations present on the implementor.
Binding,
BindingType,
SOAPBinding,
Executor
| Modifier and Type | Field and Description |
|---|---|
static String |
WSDL_PORT
Standard property: name of WSDL port.
|
static String |
WSDL_SERVICE
Standard property: name of WSDL service.
|
| Constructor and Description |
|---|
Endpoint()
|
| Modifier and Type | Method and Description |
|---|---|
static Endpoint |
create(Object
Creates an endpoint with the specified implementor object.
|
static Endpoint |
create(Object
Creates an endpoint with the specified implementor object and web service features.
|
static Endpoint |
create(String
Creates an endpoint with the specified binding type and implementor object.
|
static Endpoint |
create(String
Creates an endpoint with the specified binding type, implementor object, and web service features.
|
abstract Binding |
getBinding()
Returns the binding for this endpoint.
|
abstract <T extends EndpointReference |
getEndpointReference(Class
Returns the
EndpointReference associated with this
Endpoint instance.
|
abstract EndpointReference |
getEndpointReference(Element
Returns the
EndpointReference associated with this
Endpoint instance.
|
abstract Executor |
getExecutor()
Returns the executor for this
Endpointinstance.
|
abstract Object |
getImplementor()
Returns the implementation object for this endpoint.
|
abstract List |
getMetadata()
Returns a list of metadata documents for the service.
|
abstract Map |
getProperties()
Returns the property bag for this
Endpoint instance.
|
abstract boolean |
isPublished()
Returns true if the endpoint is in the published state.
|
void |
publish(HttpContext
Publishes this endpoint at the provided server context.
|
abstract void |
publish(Object
Publishes this endpoint at the provided server context.
|
abstract void |
publish(String
Publishes this endpoint at the given address.
|
static Endpoint |
publish(String
Creates and publishes an endpoint for the specified implementor object at the given address.
|
static Endpoint |
publish(String
Creates and publishes an endpoint for the specified implementor object at the given address.
|
void |
setEndpointContext(EndpointContext
By settng a
EndpointContext, JAX-WS runtime knows about addresses of other endpoints in an application.
|
abstract void |
setExecutor(Executor
Sets the executor for this
Endpoint instance.
|
abstract void |
setMetadata(List
Sets the metadata for this endpoint.
|
abstract void |
setProperties(Map
Sets the property bag for this
Endpoint instance.
|
abstract void |
stop()
Stops publishing this endpoint.
|
public static final StringWSDL_SERVICE
Type: javax.xml.namespace.QName
public static final StringWSDL_PORT
Type: javax.xml.namespace.QName
public static Endpointcreate(Object implementor)
The newly created endpoint may be published by calling one of the publish(String) and publish(Object) methods.
implementor - The endpoint implementor.
public static Endpointcreate(Object implementor, WebServiceFeature ... features)
The newly created endpoint may be published by calling one of the publish(String) and publish(Object) methods.
implementor - The endpoint implementor.
features - A list of WebServiceFeature to configure on the endpoint. Supported features not in the
features parameter will have their default values.
public static Endpointcreate(String bindingId, Object implementor)
The newly created endpoint may be published by calling one of the publish(String) and publish(Object) methods.
bindingId - A URI specifying the binding to use. If the bindingID is
null and no binding is specified via a BindingType annotation then a default SOAP 1.1 / HTTP binding MUST be used.
implementor - The endpoint implementor.
public static Endpointcreate(String bindingId, Object implementor, WebServiceFeature ... features)
The newly created endpoint may be published by calling one of the publish(String) and publish(Object) methods.
bindingId - A URI specifying the binding to use. If the bindingID is
null and no binding is specified via a BindingType annotation then a default SOAP 1.1 / HTTP binding MUST be used.
implementor - The endpoint implementor.
features - A list of WebServiceFeature to configure on the endpoint. Supported features not in the
features parameter will have their default values.
public abstract BindinggetBinding()
public abstract ObjectgetImplementor()
public abstract void publish(Stringaddress)
publish(Object) method instead.
address - A URI specifying the address to use. The address MUST be compatible with the binding specified at the time the endpoint was created.
IllegalArgumentException - If the provided address URI is not usable in conjunction with the endpoint's binding.
IllegalStateException - If the endpoint has been published already or it has been stopped.
SecurityException - If a
java.lang.SecurityManger is being used and the application doesn't have the
WebServicePermission("publishEndpoint") permission.
public static Endpointpublish(String address, Object implementor)
The necessary server infrastructure will be created and configured by the JAX-WS implementation using some default configuration. In order to get more control over the server configuration, please use the create(String,Object) and publish(Object) methods instead.
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 - The endpoint implementor.
SecurityException - If a
java.lang.SecurityManger is being used and the application doesn't have the
WebServicePermission("publishEndpoint") permission.
public static Endpointpublish(String address, Object implementor, WebServiceFeature ... features)
The necessary server infrastructure will be created and configured by the JAX-WS implementation using some default configuration. In order to get more control over the server configuration, please use the create(String,Object) and publish(Object) methods instead.
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 - The endpoint implementor.
features - A list of WebServiceFeature to configure on the endpoint. Supported features not in the
features parameter will have their default values.
SecurityException - If a
java.lang.SecurityManger is being used and the application doesn't have the
WebServicePermission("publishEndpoint") permission.
public abstract void publish(ObjectserverContext)
serverContext - An object representing a server context to be used for publishing the endpoint.
IllegalArgumentException - If the provided server context is not supported by the implementation or turns out to be unusable in conjunction with the endpoint's binding.
IllegalStateException - If the endpoint has been published already or it has been stopped.
SecurityException - If a
java.lang.SecurityManger is being used and the application doesn't have the
WebServicePermission("publishEndpoint") permission.
public void publish(HttpContextserverContext)
This is meant for container developers to publish the the endpoints portably and not intended for the end developers.
serverContext - An object representing a server context to be used for publishing the endpoint.
IllegalArgumentException - If the provided server context is not supported by the implementation or turns out to be unusable in conjunction with the endpoint's binding.
IllegalStateException - If the endpoint has been published already or it has been stopped.
SecurityException - If a
java.lang.SecurityManger is being used and the application doesn't have the
WebServicePermission("publishEndpoint") permission.
public abstract void stop()
public abstract boolean isPublished()
true if the endpoint is in the published state.
public abstract List<Source > getMetadata()
List<javax.xml.transform.Source> A list of metadata documents for the service
public abstract void setMetadata(List<Source > metadata)
metadata - A list of XML document sources containing metadata information for the endpoint (e.g. WSDL or XML Schema documents)
IllegalStateException - If the endpoint has already been published.
public abstract ExecutorgetExecutor()
Endpointinstance. The executor is used to dispatch an incoming request to the implementor object.
java.util.concurrent.Executor to be used to dispatch a request.
Executor
public abstract void setExecutor(Executorexecutor)
Endpoint instance. The executor is used to dispatch an incoming request to the implementor object. If this
Endpoint is published using the
publish(Object) method and the specified server context defines its own threading behavior, the executor may be ignored.
executor - The
java.util.concurrent.Executor to be used to dispatch a request.
SecurityException - If the instance does not support setting an executor for security reasons (e.g. the necessary permissions are missing).
Executor
public abstract Map<String ,Object > getProperties()
Endpoint instance.
public abstract void setProperties(Map<String ,Object > properties)
Endpoint instance.
properties - The property bag associated with this instance.
public abstract EndpointReferencegetEndpointReference(Element ... referenceParameters)
EndpointReference associated with this
Endpoint instance.
If the Binding for this bindingProvider is either SOAP1.1/HTTP or SOAP1.2/HTTP, then a W3CEndpointReference MUST be returned.
referenceParameters - Reference parameters to be associated with the returned
EndpointReference instance.
Endpoint instance. If the returned
EndpointReference is of type
W3CEndpointReference then it MUST contain the the specified
referenceParameters.
WebServiceException - If any error in the creation of the
EndpointReference or if the
Endpoint is not in the published state.
UnsupportedOperationException - If this
BindingProvider uses the XML/HTTP binding.
W3CEndpointReference
public abstract <T extends EndpointReference> T getEndpointReference(Class <T> clazz, Element ... referenceParameters)
EndpointReference associated with this
Endpoint instance.
clazz - Specifies the type of EndpointReference that MUST be returned.
referenceParameters - Reference parameters to be associated with the returned
EndpointReference instance.
clazz of this
Endpoint instance. If the returned
EndpointReference is of type
W3CEndpointReference then it MUST contain the the specified
referenceParameters.
WebServiceException - If any error in the creation of the
EndpointReference or if the
Endpoint is not in the published state or if the
clazz is not a supported
EndpointReference type.
UnsupportedOperationException - If this
BindingProvider uses the XML/HTTP binding.
public void setEndpointContext(EndpointContextctxt)
EndpointContext, JAX-WS runtime knows about addresses of other endpoints in an application. If multiple endpoints share different ports of a WSDL, then the multiple port addresses are patched when the WSDL is accessed.
This needs to be set before publishing the endpoints.
ctxt - that is shared for multiple endpoints
IllegalStateException - If the endpoint has been published already or it has been stopped.