Service (Java EE 5)

Java EE API


javax.xml.ws Class Service

java.lang.Object
  extended by javax.xml.ws.Service

public class Service
extends Object

Implements: RegistryEntry

Service 实例是提供关于 Organization 所提供服务(例如,Web 服务)的信息的 RegistryObject。一个 Service 可以包含一组 ServiceBinding 实例。映射到 UDDI 中的 BusinessService。
英文文档:

Service objects provide the client view of a Web service.

Service acts as a factory of the following:

  • Proxies for a target service endpoint.
  • Instances of 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.

    Since:
    JAX-WS 2.0
    See Also:
    Provider, HandlerResolver, Executor

    Nested Class Summary
    static class
     
    Constructor Summary
    protected
     
    Method Summary
     void
    static Service
    static Service
    <T> Dispatch<T>
    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 Serviceinstance.  HandlerResolver getHandlerResolver()
              Returns the configured handler resolver.
    <T> T
    getPort(Class<T> serviceEndpointInterface)
              The getPort method returns a stub.
    <T> T
    getPort(QName portName, Class<T> serviceEndpointInterface)
              The getPort method returns a stub.  Iterator<QName> getPorts()
              Returns an Iterator for the list of QNames 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
     

    Constructor Detail

    英文文档:

    Service

    protected Service(URL wsdlDocumentLocation,
                      QName serviceName)
    Method Detail

    英文文档:

    getPort

    public <T> T getPort(QName portName,
                         Class<T> serviceEndpointInterface)
    The getPort method returns a stub. A service client uses this stub to invoke operations on the target service endpoint. The serviceEndpointInterface specifies the service endpoint interface that is supported by the created dynamic proxy or stub instance.

    Parameters:
    portName - Qualified name of the service endpoint in the WSDL service description
    serviceEndpointInterface - Service endpoint interface supported by the dynamic proxy or stub instance
    Returns:
    Object Proxy instance that supports the specified service endpoint interface
    Throws:
    WebServiceException - This exception is thrown in the following cases:
    • If there is an error in creation of the proxy
    • If there is any missing WSDL metadata as required by this method
    • Optionally, if an illegal serviceEndpointInterface or portName is specified
    See Also:
    Proxy, InvocationHandler

    英文文档:

    getPort

    public <T> T getPort(Class<T> serviceEndpointInterface)
    The getPort method returns a stub. The parameter 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.

    Parameters:
    serviceEndpointInterface - Service endpoint interface
    Returns:
    Object 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
    • Optionally, if an illegal serviceEndpointInterface is specified

    英文文档:

    addPort

    public void addPort(QName portName,
                        String bindingId,
                        String endpointAddress)
    Creates a new port for the service. Ports created in this way contain no WSDL port type information and can only be used for creating Dispatchinstances.

    Parameters:
    portName - Qualified name for the target service endpoint
    bindingId - A String identifier of a binding.
    endpointAddress - Address of the target service endpoint as a URI
    Throws:
    WebServiceException - If any error in the creation of the port
    See Also:
    SOAPBinding.SOAP11HTTP_BINDING, SOAPBinding.SOAP12HTTP_BINDING, HTTPBinding.HTTP_BINDING

    英文文档:

    createDispatch

    public <T> Dispatch<T> createDispatch(QName portName,
                                          Class<T> type,
                                          Service.Mode mode)
    Creates a Dispatch instance for use with objects of the users choosing.

    Parameters:
    portName - Qualified name for the target service endpoint
    type - 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.
    Returns:
    Dispatch instance
    Throws:
    WebServiceException - If any error in the creation of the Dispatch object
    See Also:
    Source, SOAPMessage

    英文文档:

    createDispatch

    public Dispatch<Object> createDispatch(QName portName,
                                           JAXBContext context,
                                           Service.Mode mode)
    Creates a Dispatch instance for use with JAXB generated objects.

    Parameters:
    portName - Qualified name for the target service endpoint
    context - 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.
    Returns:
    Dispatch instance
    Throws:
    ServiceException - If any error in the creation of the Dispatch object
    See Also:
    JAXBContext

    英文文档:

    getServiceName

    public QName getServiceName()
    Gets the name of this service.

    Returns:
    Qualified name of this service

    英文文档:

    getPorts

    public Iterator<QName> getPorts()
    Returns an Iterator for the list of QNames of service endpoints grouped by this service

    Returns:
    Returns java.util.Iterator with elements of type javax.xml.namespace.QName
    Throws:
    WebServiceException - If this Service class does not have access to the required WSDL metadata

    英文文档:

    getWSDLDocumentLocation

    public URL getWSDLDocumentLocation()
    Gets the location of the WSDL document for this Service.

    Returns:
    URL for the location of the WSDL document for this service

    英文文档:

    getHandlerResolver

    public HandlerResolver getHandlerResolver()
    Returns the configured handler resolver.

    Returns:
    HandlerResolver The HandlerResolver being used by this Service instance, or null if there isn't one.

    英文文档:

    setHandlerResolver

    public void setHandlerResolver(HandlerResolver handlerResolver)
    Sets the 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.

    Parameters:
    handlerResolver - The HandlerResolver to use for all subsequently created proxy/dispatch objects.
    See Also:
    HandlerResolver

    英文文档:

    getExecutor

    public Executor getExecutor()
    Returns the executor for this Serviceinstance. The executor is used for all asynchronous invocations that require callbacks.

    Returns:
    The java.util.concurrent.Executor to be used to invoke a callback.
    See Also:
    Executor

    英文文档:

    setExecutor

    public void setExecutor(Executor executor)
    Sets the executor for this Service instance. The executor is used for all asynchronous invocations that require callbacks.

    Parameters:
    executor - The java.util.concurrent.Executor to be used to invoke a callback.
    Throws:
    SecurityException - If the instance does not support setting an executor for security reasons (e.g. the necessary permissions are missing).
    See Also:
    Executor

    英文文档:

    create

    public static Service create(URL wsdlDocumentLocation,
                                 QName serviceName)
    Create a Service instance. The specified WSDL document location and service qualified name must uniquely identify a wsdl:service element.

    Parameters:
    wsdlDocumentLocation - URL for the WSDL document location for the service
    serviceName - QName for the service
    Throws:
    WebServiceException - If any error in creation of the specified service

    英文文档:

    create

    public static Service create(QName serviceName)
    Create a Service instance.

    Parameters:
    serviceName - QName for the service
    Throws:
    WebServiceException - If any error in creation of the specified service


    Submit a bug or feature

    Copyright 2007 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.

一看就知道只有菜鸟才干这么无知的事啦。

PS : 未经我党受权你也可自由散发此文档。 如有任何错误请自行修正;若因此而造成任何损失请直接找人民主席,请勿与本人联系。谢谢!