FileDocCategorySizeDatePackage
Endpoint.javaAPI DocJava SE 6 API13040Tue Jun 10 00:27:14 BST 2008javax.xml.ws

Endpoint

public abstract class Endpoint extends Object
A Web service endpoint.

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.

since
JAX-WS 2.0
see
javax.xml.ws.Binding
see
javax.xml.ws.BindingType
see
javax.xml.ws.soap.SOAPBinding
see
java.util.concurrent.Executor

Fields Summary
public static final String
WSDL_SERVICE
Standard property: name of WSDL service.

Type: javax.xml.namespace.QName

public static final String
WSDL_PORT
Standard property: name of WSDL port.

Type: javax.xml.namespace.QName

Constructors Summary
Methods Summary
public static javax.xml.ws.Endpointcreate(java.lang.Object implementor)
Creates an endpoint with the specified implementor object. If there is a binding specified via a BindingType annotation then it MUST be used else a default of SOAP 1.1 / HTTP binding MUST be used.

The newly created endpoint may be published by calling one of the {@link javax.xml.ws.Endpoint#publish(String)} and {@link javax.xml.ws.Endpoint#publish(Object)} methods.

param
implementor The endpoint implementor.
return
The newly created endpoint.

    
    
                                                                         
         
        return create(null, implementor);
    
public static javax.xml.ws.Endpointcreate(java.lang.String bindingId, java.lang.Object implementor)
Creates an endpoint with the specified binding type and implementor object.

The newly created endpoint may be published by calling one of the {@link javax.xml.ws.Endpoint#publish(String)} and {@link javax.xml.ws.Endpoint#publish(Object)} methods.

param
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.
param
implementor The endpoint implementor.
return
The newly created endpoint.

        return Provider.provider().createEndpoint(bindingId, implementor);
    
public abstract javax.xml.ws.BindinggetBinding()
Returns the binding for this endpoint.

return
The binding for this endpoint

public abstract javax.xml.ws.EndpointReferencegetEndpointReference(org.w3c.dom.Element referenceParameters)
Returns the 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.

param
referenceParameters Reference parameters to be associated with the returned EndpointReference instance.
return
EndpointReference of this Endpoint instance. If the returned EndpointReference is of type W3CEndpointReference then it MUST contain the the specified referenceParameters.
throws
WebServiceException If any error in the creation of the EndpointReference or if the Endpoint is not in the published state.
throws
UnsupportedOperationException If this BindingProvider uses the XML/HTTP binding.
see
W3CEndpointReference
since
JAX-WS 2.1

public abstract TgetEndpointReference(java.lang.Class clazz, org.w3c.dom.Element referenceParameters)
Returns the EndpointReference associated with this Endpoint instance.

param
clazz Specifies the type of EndpointReference that MUST be returned.
param
referenceParameters Reference parameters to be associated with the returned EndpointReference instance.
return
EndpointReference of type clazz of this Endpoint instance. If the returned EndpointReference is of type W3CEndpointReference then it MUST contain the the specified referenceParameters.
throws
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.
throws
UnsupportedOperationException If this BindingProvider uses the XML/HTTP binding.
since
JAX-WS 2.1

public abstract java.util.concurrent.ExecutorgetExecutor()
Returns the executor for this Endpointinstance. The executor is used to dispatch an incoming request to the implementor object.

return
The java.util.concurrent.Executor to be used to dispatch a request.
see
java.util.concurrent.Executor

public abstract java.lang.ObjectgetImplementor()
Returns the implementation object for this endpoint.

return
The implementor for this endpoint

public abstract java.util.ListgetMetadata()
Returns a list of metadata documents for the service.

return
List<javax.xml.transform.Source> A list of metadata documents for the service

public abstract java.util.MapgetProperties()
Returns the property bag for this Endpoint instance.

return
Map<String,Object> The property bag associated with this instance.

public abstract booleanisPublished()
Returns true if the endpoint is in the published state.

return
true if the endpoint is in the published state.

public abstract voidpublish(java.lang.String address)
Publishes this endpoint at the given address. 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 {@link javax.xml.ws.Endpoint#publish(Object)} method instead.

param
address A URI specifying the address to use. The address MUST be compatible with the binding specified at the time the endpoint was created.
throws
java.lang.IllegalArgumentException If the provided address URI is not usable in conjunction with the endpoint's binding.
throws
java.lang.IllegalStateException If the endpoint has been published already or it has been stopped.
throws
java.lang.SecurityException If a java.lang.SecurityManger is being used and the application doesn't have the WebServicePermission("publishEndpoint") permission.

public static javax.xml.ws.Endpointpublish(java.lang.String address, java.lang.Object implementor)
Creates and publishes an endpoint for the specified implementor object at the given address.

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 {@link javax.xml.ws.Endpoint#create(String,Object)} and {@link javax.xml.ws.Endpoint#publish(Object)} methods instead.

param
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.
param
implementor The endpoint implementor.
return
The newly created endpoint.
throws
java.lang.SecurityException If a java.lang.SecurityManger is being used and the application doesn't have the WebServicePermission("publishEndpoint") permission.

        return Provider.provider().createAndPublishEndpoint(address, implementor);
    
public abstract voidpublish(java.lang.Object serverContext)
Publishes this endpoint at the provided server context. A server context encapsulates the server infrastructure and addressing information for a particular transport. For a call to this method to succeed, the server context passed as an argument to it MUST be compatible with the endpoint's binding.

param
serverContext An object representing a server context to be used for publishing the endpoint.
throws
java.lang.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.
throws
java.lang.IllegalStateException If the endpoint has been published already or it has been stopped.
throws
java.lang.SecurityException If a java.lang.SecurityManger is being used and the application doesn't have the WebServicePermission("publishEndpoint") permission.

public abstract voidsetExecutor(java.util.concurrent.Executor executor)
Sets the executor for this 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.

param
executor The java.util.concurrent.Executor to be used to dispatch a request.
throws
SecurityException If the instance does not support setting an executor for security reasons (e.g. the necessary permissions are missing).
see
java.util.concurrent.Executor

public abstract voidsetMetadata(java.util.List metadata)
Sets the metadata for this endpoint.

param
metadata A list of XML document sources containing metadata information for the endpoint (e.g. WSDL or XML Schema documents)
throws
java.lang.IllegalStateException If the endpoint has already been published.

public abstract voidsetProperties(java.util.Map properties)
Sets the property bag for this Endpoint instance.

param
properties The property bag associated with this instance.

public abstract voidstop()
Stops publishing this endpoint. If the endpoint is not in a published state, this method has no effect.