|
Java EE 5 SDK | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object javax.xml.ws.Service
public class Service
Service
objects provide the client view of a Web service.
Service
acts as a factory of the following:
javax.xml.ws.Dispatch
for
dynamic message-oriented invocation of a remote
operation.
The ports available on a service can be enumerated using the
getPorts
method. Alternatively, you can pass a
service endpoint interface to the unary getPort
method
and let the runtime select a compatible port.
Handler chains for all the objects created by a Service
can be set by means of a HandlerResolver
.
An Executor
may be set on the service in order
to gain better control over the threads used to dispatch asynchronous
callbacks. For instance, thread pooling with certain parameters
can be enabled by creating a ThreadPoolExecutor
and
registering it with the service.
Provider
,
HandlerResolver
,
Executor
Nested Class Summary | |
---|---|
static class |
Service.Mode
The orientation of a dynamic client or service. |
Constructor Summary | |
---|---|
protected |
Service(URL wsdlDocumentLocation,
QName serviceName)
|
Method Summary | ||
---|---|---|
void |
addPort(QName portName,
String bindingId,
String endpointAddress)
Creates a new port for the service. |
|
static Service |
create(QName serviceName)
Create a Service instance. |
|
static Service |
create(URL wsdlDocumentLocation,
QName serviceName)
Create a Service instance. |
|
|
createDispatch(QName portName,
Class<T> type,
Service.Mode mode)
Creates a Dispatch instance for use with objects of
the users choosing. |
|
Dispatch<Object> |
createDispatch(QName portName,
JAXBContext context,
Service.Mode mode)
Creates a Dispatch instance for use with JAXB
generated objects. |
|
Executor |
getExecutor()
Returns the executor for this Service instance. |
|
HandlerResolver |
getHandlerResolver()
Returns the configured handler resolver. |
|
|
getPort(Class<T> serviceEndpointInterface)
The getPort method returns a stub. |
|
|
getPort(QName portName,
Class<T> serviceEndpointInterface)
The getPort method returns a stub. |
|
Iterator<QName> |
getPorts()
Returns an Iterator for the list of
QName s of service endpoints grouped by this
service |
|
QName |
getServiceName()
Gets the name of this service. |
|
URL |
getWSDLDocumentLocation()
Gets the location of the WSDL document for this Service. |
|
void |
setExecutor(Executor executor)
Sets the executor for this Service instance. |
|
void |
setHandlerResolver(HandlerResolver handlerResolver)
Sets the HandlerResolver for this Service
instance. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
protected Service(URL wsdlDocumentLocation, QName serviceName)
Method Detail |
---|
public <T> T getPort(QName portName, Class<T> serviceEndpointInterface)
serviceEndpointInterface
specifies the service endpoint interface that is supported by
the created dynamic proxy or stub instance.
portName
- Qualified name of the service endpoint in
the WSDL service descriptionserviceEndpointInterface
- Service endpoint interface
supported by the dynamic proxy or stub
instance
WebServiceException
- This exception is thrown in the
following cases:
serviceEndpointInterface
or portName
is specified
Proxy
,
InvocationHandler
public <T> T getPort(Class<T> serviceEndpointInterface)
serviceEndpointInterface
specifies the service
endpoint interface that is supported 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.
The returned proxy should not be reconfigured by the client.
serviceEndpointInterface
- Service endpoint interface
WebServiceException
- serviceEndpointInterface
is specified
public void addPort(QName portName, String bindingId, String endpointAddress)
Dispatch
instances.
portName
- Qualified name for the target service endpointbindingId
- A String identifier of a binding.endpointAddress
- Address of the target service endpoint as a URI
WebServiceException
- If any error in the creation of
the portSOAPBinding.SOAP11HTTP_BINDING
,
SOAPBinding.SOAP12HTTP_BINDING
,
HTTPBinding.HTTP_BINDING
public <T> Dispatch<T> createDispatch(QName portName, Class<T> type, Service.Mode mode)
Dispatch
instance for use with objects of
the users choosing.
portName
- Qualified name for the target service endpointtype
- The class of object used to messages or message
payloads. Implementations are required to support
javax.xml.transform.Source and javax.xml.soap.SOAPMessage.mode
- Controls whether the created dispatch instance is message
or payload oriented, i.e. whether the user will work with complete
protocol messages or message payloads. E.g. when using the SOAP
protocol, this parameter controls whether the user will work with
SOAP messages or the contents of a SOAP body. Mode must be MESSAGE
when type is SOAPMessage.
WebServiceException
- If any error in the creation of
the Dispatch
objectSource
,
SOAPMessage
public Dispatch<Object> createDispatch(QName portName, JAXBContext context, Service.Mode mode)
Dispatch
instance for use with JAXB
generated objects.
portName
- Qualified name for the target service endpointcontext
- The JAXB context used to marshall and unmarshall
messages or message payloads.mode
- Controls whether the created dispatch instance is message
or payload oriented, i.e. whether the user will work with complete
protocol messages or message payloads. E.g. when using the SOAP
protocol, this parameter controls whether the user will work with
SOAP messages or the contents of a SOAP body.
ServiceException
- If any error in the creation of
the Dispatch
objectJAXBContext
public QName getServiceName()
public Iterator<QName> getPorts()
Iterator
for the list of
QName
s of service endpoints grouped by this
service
java.util.Iterator
with elements
of type javax.xml.namespace.QName
WebServiceException
- If this Service class does not
have access to the required WSDL metadatapublic URL getWSDLDocumentLocation()
public HandlerResolver getHandlerResolver()
HandlerResolver
being
used by this Service
instance, or null
if there isn't one.public void setHandlerResolver(HandlerResolver handlerResolver)
HandlerResolver
for this Service
instance.
The handler resolver, if present, will be called once for each proxy or dispatch instance that is created, and the handler chain returned by the resolver will be set on the instance.
handlerResolver
- The HandlerResolver
to use
for all subsequently created proxy/dispatch objects.HandlerResolver
public Executor getExecutor()
Service
instance.
The executor is used for all asynchronous invocations that
require callbacks.
java.util.concurrent.Executor
to be
used to invoke a callback.Executor
public void setExecutor(Executor executor)
Service
instance.
The executor is used for all asynchronous invocations that
require callbacks.
executor
- The java.util.concurrent.Executor
to be used to invoke a callback.
SecurityException
- If the instance does not support
setting an executor for security reasons (e.g. the
necessary permissions are missing).Executor
public static Service create(URL wsdlDocumentLocation, QName serviceName)
Service
instance.
The specified WSDL document location and service qualified name must
uniquely identify a wsdl:service
element.
wsdlDocumentLocation
- URL for the WSDL document location
for the serviceserviceName
- QName for the service
WebServiceException
- If any error in creation of the
specified servicepublic static Service create(QName serviceName)
Service
instance.
serviceName
- QName for the service
WebServiceException
- If any error in creation of the
specified service
|
Java EE 5 SDK | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright 2006 Sun Microsystems, Inc. All rights reserved.