public class Service extends Object
Service对象提供Web服务的客户端视图。 
        Service作为以下工厂: 
Dispatch用于远程操作的动态面向消息的调用。  服务上可用的端口可以使用getPorts方法getPorts 。 或者,您可以将服务端点接口传递到一元的getPort方法,并让运行时选择兼容的端口。 
 用于通过创建的所有对象处理程序链Service可以通过来设定HandlerResolver 。 
 可以在服务上设置Executor ,以便更好地控制用于分派异步回调的线程。 例如,通过创建ThreadPoolExecutor并将其注册到服务,可以启用具有某些参数的线程池。 
Provider , HandlerResolver , Executor 
       | Modifier and Type | Class and Description | 
|---|---|
| static class  | Service.Mode
              动态客户端或服务的方向。 
             | 
| Modifier | Constructor and Description | 
|---|---|
| protected  | Service(URL wsdlDocumentLocation, QName serviceName) | 
| protected  | Service(URL wsdlDocumentLocation, QName serviceName, WebServiceFeature... features) | 
| Modifier and Type | Method and Description | 
|---|---|
| void | addPort(QName portName, String bindingId, String endpointAddress)
              为服务创建一个新的端口。 
             | 
| static Service | create(QName serviceName)
              创建一个 
              Service实例。 | 
| static Service | create(QName serviceName, WebServiceFeature... features)
              创建一个 
              Service实例。 | 
| static Service | create(URL wsdlDocumentLocation, QName serviceName)
              创建一个 
              Service实例。 | 
| static Service | create(URL wsdlDocumentLocation, QName serviceName, WebServiceFeature... features)
              创建一个 
              Service实例。 | 
| <T> Dispatch<T> | createDispatch(EndpointReference endpointReference, 类<T> type, Service.Mode mode, WebServiceFeature... features)
              创建一个用于客户选择的对象的 
              Dispatch实例。 | 
| Dispatch<Object> | createDispatch(EndpointReference endpointReference, JAXBContext context, Service.Mode mode, WebServiceFeature... features)
              创建一个用于JAXB生成的对象的 
              Dispatch实例。 | 
| <T> Dispatch<T> | createDispatch(QName portName, 类<T> type, Service.Mode mode)
              创建一个 
              Dispatch实例,供客户选择的对象使用。 | 
| <T> Dispatch<T> | createDispatch(QName portName, 类<T> type, Service.Mode mode, WebServiceFeature... features)
              创建一个 
              Dispatch实例,供客户选择的对象使用。 | 
| Dispatch<Object> | createDispatch(QName portName, JAXBContext context, Service.Mode mode)
              创建一个用于JAXB生成的对象的 
              Dispatch实例。 | 
| Dispatch<Object> | createDispatch(QName portName, JAXBContext context, Service.Mode mode, WebServiceFeature... features)
              创建一个用于JAXB生成的对象的 
              Dispatch实例。 | 
| Executor | getExecutor()
              返回此 
              Service实例的执行程序。 | 
| HandlerResolver | getHandlerResolver()
              返回配置的处理程序解析器。 
             | 
| <T> T | getPort(类<T> serviceEndpointInterface)getPort方法返回一个代理。 | 
| <T> T | getPort(类<T> serviceEndpointInterface, WebServiceFeature... features)getPort方法返回代理。 | 
| <T> T | getPort(EndpointReference endpointReference, 类<T> serviceEndpointInterface, WebServiceFeature... features)getPort方法返回一个代理。 | 
| <T> T | getPort(QName portName, 类<T> serviceEndpointInterface)getPort方法返回一个代理。 | 
| <T> T | getPort(QName portName, 类<T> serviceEndpointInterface, WebServiceFeature... features)getPort方法返回一个代理。 | 
| Iterator<QName> | getPorts()
              返回 
              Iterator,用于QName服务分组的服务端点QName的列表 | 
| QName | getServiceName()
              获取此服务的名称。 
             | 
| URL | getWSDLDocumentLocation()
              获取此服务的WSDL文档的位置。 
             | 
| void | setExecutor(Executor executor)
              设置此 
              Service实例的执行程序。 | 
| void | setHandlerResolver(HandlerResolver handlerResolver)
              设置 
              HandlerResolver这个Service实例。 | 
protected Service(URL wsdlDocumentLocation, QName serviceName, WebServiceFeature... features)
public <T> T getPort(QName portName, 类<T> serviceEndpointInterface)
getPort方法返回一个代理。 
           服务客户端使用此代理来调用目标服务端点上的操作。 
           serviceEndpointInterface指定创建的动态代理实例支持的服务端点接口。 
          portName - WSDL服务描述中服务端点的合格名称。 
           serviceEndpointInterface - 动态代理实例支持的服务端点接口。 
           WebServiceException - 在以下情况下抛出此异常: 
            serviceEndpointInterface或portName指定。 Proxy , InvocationHandler 
           public <T> T getPort(QName portName, 类<T> serviceEndpointInterface, WebServiceFeature... features)
getPort方法返回代理。 
           服务客户端使用此代理来调用目标服务端点上的操作。 
           serviceEndpointInterface指定创建的动态代理实例支持的服务端点接口。 
          portName - WSDL服务描述中服务端点的合格名称。 
           serviceEndpointInterface - 动态代理实例支持的服务端点接口。 
           features - 要在代理上配置的WebServiceFeatures的列表。 
            支持的功能不是在features参数将其默认值。 
           WebServiceException - 在以下情况下抛出此异常: 
            serviceEndpointInterface或portName指定。 Proxy , InvocationHandler , WebServiceFeature 
           public <T> T getPort(类<T> serviceEndpointInterface)
getPort方法返回代理。 
           参数serviceEndpointInterface指定返回的代理支持的服务端点接口。 
           在实现该方法时,JAX-WS运行时系统负责选择协议绑定(和端口)并相应地配置代理。 
           返回的代理不应由客户机重新配置。 
          serviceEndpointInterface - 服务端点接口。 
           WebServiceException - 
            serviceEndpointInterface指定。 public <T> T getPort(类<T> serviceEndpointInterface, WebServiceFeature... features)
getPort方法返回代理。 
           参数serviceEndpointInterface指定返回的代理支持的服务端点接口。 
           在实现该方法时,JAX-WS运行时系统负责选择协议绑定(和端口)并相应地配置代理。 
           返回的代理不应由客户机重新配置。 
          serviceEndpointInterface - 服务端点接口。 
           features - 要在代理上配置的WebServiceFeatures的列表。 
            支持的功能不是在features参数将其默认值。 
           WebServiceException - 
            serviceEndpointInterface指定。 WebServiceFeature 
           public <T> T getPort(EndpointReference endpointReference, 类<T> serviceEndpointInterface, WebServiceFeature... features)
getPort方法返回代理。 
           参数endpointReference endpointReference将由返回的代理调用的端点。 
           如果有在任何参考参数endpointReference ,则这些参考参数必须显示为SOAP标头,指示它们是参照参数,对发送到端点的所有消息。 
           endpointReference's地址必须用于端点上的调用。 
           参数serviceEndpointInterface指定返回代理支持的服务端点接口。 
           在实现此方法时,JAX-WS运行时系统负责选择协议绑定(和端口),并从与该Service实例相关联的WSDL或从Service的元数据相应地endpointReference 。 
           如果此Service实例具有WSDL,并且endpointReference元数据也具有WSDL,则必须使用此实例的WSDL。 
           如果此Service实例没有WSDL,并且endpointReference确实有一个WSDL,则可以使用endpointReference的WSDL。 
           返回的代理不应由客户机重新配置。 
           如果此Service实例具有与WSDL中包含的信息匹配的已知代理端口,则返回该代理,否则抛出WebServiceException。 
           调用此方法具有与以下相同的行为
  port = service.getPort(portName, serviceEndpointInterface);  
           其中portName从的元数据检索endpointReference或从serviceEndpointInterface和与此相关的WSDL Service实例。 
          endpointReference - 将由返回的代理调用的目标服务端点的 
            EndpointReference 。 
           serviceEndpointInterface - 服务端点接口。 
           features - 要在代理上配置的WebServiceFeatures的列表。 
            支持的功能不是在features参数将其默认值。 
           WebServiceException - 
            endpointReference元数据与该Service实例的serviceName不匹配。 portName不能从WSDL或提取endpointReference元数据。 endpointReference指定。 serviceEndpointInterface指定。 public void addPort(QName portName, String bindingId, String endpointAddress)
Dispatch实例。 
          portName - 目标服务端点的合格名称。 
           bindingId - 绑定的字符串标识符。 
           endpointAddress - 作为URI的目标服务端点的地址。 
           WebServiceException - 如果创建端口有任何错误。 
           SOAPBinding.SOAP11HTTP_BINDING , 
            SOAPBinding.SOAP12HTTP_BINDING , 
            HTTPBinding.HTTP_BINDING 
           public <T> Dispatch<T> createDispatch(QName portName, 类<T> type, Service.Mode mode)
Dispatch实例,供客户选择的对象使用。 
          portName - 目标服务端点的合格名称 
           type - 用于消息或消息有效载荷的对象类。 
            实现都必须支持javax.xml.transform.Source , javax.xml.soap.SOAPMessage和javax.activation.DataSource ,这取决于所使用的绑定。 
           mode - 控制创建的调度实例是消息还是有效负载,即客户端是否使用完整的协议消息或消息有效载荷。 
            例如,当使用SOAP协议时,此参数控制客户端是否使用SOAP消息或SOAP主体的内容。 
            当类型为SOAPMessage时,模式必须为MESSAGE。 
           WebServiceException - 如果在创建 
            Dispatch对象时有任何错误。 
           Source , SOAPMessage 
           public <T> Dispatch<T> createDispatch(QName portName, 类<T> type, Service.Mode mode, WebServiceFeature... features)
Dispatch实例,供客户选择的对象使用。 
          portName - 目标服务端点的合格名称 
           type - 用于消息或消息有效载荷的对象类。 
            执行需要支持javax.xml.transform.Source和javax.xml.soap.SOAPMessage 。 
           mode - 控制创建的调度实例是消息还是有效负载,即客户端是否使用完整的协议消息或消息有效载荷。 
            例如,当使用SOAP协议时,此参数控制客户端是否使用SOAP消息或SOAP主体的内容。 
            模式必须MESSAGE当类型是SOAPMessage 。 
           features - 要在代理上配置的WebServiceFeatures的列表。 
            支持的功能不是在features参数将其默认值。 
           WebServiceException - 如果创建 
            Dispatch对象时出现任何错误,或启用了与该端口不兼容或不受支持的功能。 
           Source , SOAPMessage , WebServiceFeature 
           public <T> Dispatch<T> createDispatch(EndpointReference endpointReference, 类<T> type, Service.Mode mode, WebServiceFeature... features)
Dispatch实例,供客户选择的对象使用。 
           如果有在任何参考参数endpointReference ,则这些参考参数必须显示为SOAP标头,指示它们是参照参数,对发送到端点的所有消息。 
           endpointReference's地址必须用于端点上的调用。 
           在实现此方法时,JAX-WS运行时系统负责选择协议绑定(和端口),并从与此Service实例相关联的WSDL或从Service的元数据相应地endpointReference 。 
           如果此Service实例具有WSDL,并且endpointReference在其元数据中也具有WSDL,则必须使用此实例的WSDL。 
           如果此Service实例没有WSDL,并且endpointReference确实有WSDL,则可以使用endpointReference的WSDL。 
           一个实现必须能够检索portName从endpointReference元。 
           此方法的行为与调用相同
  dispatch = service.createDispatch(portName, type, mode, features);  
           其中portName从WSDL或检索EndpointReference元数据。 
          endpointReference -该 
            EndpointReference用于将由返回调用的目标服务端点 
            Dispatch对象。 
           type - 用于消息或消息有效载荷的对象类。 
            执行需要支持javax.xml.transform.Source和javax.xml.soap.SOAPMessage 。 
           mode - 控制创建的调度实例是消息还是面向有效负载,即客户端是否使用完整的协议消息或消息有效载荷。 
            例如,当使用SOAP协议时,此参数控制客户端是否使用SOAP消息或SOAP主体的内容。 
            模式必须MESSAGE当类型是SOAPMessage 。 
           features - 要在代理上配置的WebServiceFeatures数组。 
            支持的功能不是在features参数将其默认值。 
           WebServiceException - 
            endpointReference元数据与该Service实例相关portName的WSDL的serviceName或portName不匹配。 portName不能从EndpointReference元数据确定。 Dispatch对象。 Source , SOAPMessage , WebServiceFeature 
           public Dispatch<Object> createDispatch(QName portName, JAXBContext context, Service.Mode mode)
Dispatch实例。 
          portName - 目标服务端点的合格名称 
           context - 用于编组和解组消息或消息有效载荷的JAXB上下文。 
           mode - 控制创建的调度实例是消息还是有效负载,即客户端是否使用完整的协议消息或消息有效载荷。 
            例如,当使用SOAP协议时,此参数控制客户端是否使用SOAP消息或SOAP主体的内容。 
           WebServiceException - 如果在创建 
            Dispatch对象时有任何错误。 
           JAXBContext 
           public Dispatch<Object> createDispatch(QName portName, JAXBContext context, Service.Mode mode, WebServiceFeature... features)
Dispatch实例。 
          portName - 目标服务端点的合格名称 
           context - 用于编组和解组消息或消息有效载荷的JAXB上下文。 
           mode - 控制创建的调度实例是消息还是有效负载,即客户端是否使用完整的协议消息或消息有效负载。 
            例如,当使用SOAP协议时,此参数控制客户端是否使用SOAP消息或SOAP主体的内容。 
           features - 要在代理上配置的WebServiceFeatures的列表。 
            支持的功能不是在features参数将其默认值。 
           WebServiceException - 如果在创建 
            Dispatch对象时出现任何错误,或启用了与该端口不兼容的功能或不支持的功能。 
           JAXBContext , WebServiceFeature 
           public Dispatch<Object> createDispatch(EndpointReference endpointReference, JAXBContext context, Service.Mode mode, WebServiceFeature... features)
Dispatch实例。 
           如果endpointReference中有endpointReference ,那么在发送到端点的所有消息上,这些引用参数必须显示为SOAP头,表示它们是参考参数。 
           endpointReference's地址必须用于端点上的调用。 
           在实现此方法时,JAX-WS运行时系统负责选择协议绑定(和端口),并从与此Service实例相关联的WSDL或从Service的元数据相应地endpointReference 。 
           如果此Service实例具有WSDL,并且endpointReference在其元数据中也具有WSDL,则必须使用此实例的WSDL。 
           如果此Service实例没有WSDL,并且endpointReference确实有一个WSDL,则可以使用endpointReference的WSDL。 
           一个实现必须能够检索portName从endpointReference元。 
           此方法与调用相同
  dispatch = service.createDispatch(portName, context, mode, features);  
           其中portName是从WSDL或endpointReference元数据endpointReference 。 
          endpointReference -该 
            EndpointReference用于将由返回调用的目标服务端点 
            Dispatch对象。 
           context - 用于编组和解组消息或消息有效载荷的JAXB上下文。 
           mode - 控制创建的调度实例是消息还是有效负载,即客户端是否使用完整的协议消息或消息有效载荷。 
            例如,当使用SOAP协议时,此参数控制客户端是否使用SOAP消息或SOAP主体的内容。 
           features -数组WebServiceFeatures配置上的代理。 
            支持的功能不是在features参数将其默认值。 
           WebServiceException - 
            endpointReference元数据与与此Service实例相关portName的WSDL的serviceName或portName不匹配。 portName不能从EndpointReference元数据确定。 Dispatch对象。 JAXBContext , WebServiceFeature 
           public QName getServiceName()
public Iterator<QName> getPorts()
Iterator的 
           QName的服务端点列表 
           QName服务分组 
          java.util.Iterator ,元素类型为 
            javax.xml.namespace.QName 。 
           WebServiceException - 如果此Service类无法访问所需的WSDL元数据。 
           public URL getWSDLDocumentLocation()
public HandlerResolver getHandlerResolver()
HandlerResolver被这个 
            Service实例使用,或者 
            null如果没有一个。 
           public void setHandlerResolver(HandlerResolver handlerResolver)
HandlerResolver这个Service实例。 
           处理程序解析器(如果存在)将为创建的每个代理或分派实例调用一次,并且解析器返回的处理程序链将在实例上设置。
handlerResolver -该 
            HandlerResolver用于所有随后创建的代理/调度对象。 
           HandlerResolver 
           public Executor getExecutor()
Service实例的执行程序。 
           执行器用于需要回调的所有异步调用。 
          java.util.concurrent.Executor 。 
           Executor 
           public void setExecutor(Executor executor)
Service实例的执行器。 
           执行器用于需要回调的所有异步调用。 
          executor - 用于调用回调的 
            java.util.concurrent.Executor 。 
           SecurityException - 如果实例不支持以安全原因设置执行程序(例如缺少必需的权限)。 
           Executor 
           public static Service create(URL wsdlDocumentLocation, QName serviceName)
Service实例。 
           指定的WSDL文档位置和服务限定名必须唯一标识wsdl:service元素。 
          wsdlDocumentLocation - 
            URL为服务的WSDL文档位置 
           serviceName - 
            QName为服务 
           WebServiceException - 创建指定服务时是否有任何错误。 
           public static Service create(URL wsdlDocumentLocation, QName serviceName, WebServiceFeature... features)
Service实例。 
           创建的实例配置了Web服务功能。 
           指定的WSDL文档位置和服务限定名称必须唯一标识wsdl:service元素。 
          wsdlDocumentLocation - 
            URL ,用于服务的WSDL文档位置 
           serviceName - 
            QName为服务 
           features - 必须在服务上配置的Web Service功能。 
            如果提供程序不了解某项功能,则必须抛出WebServiceException。 
           WebServiceException - 创建指定服务时是否有任何错误。 
           public static Service create(QName serviceName)
Service实例。 
          serviceName - 
            QName为服务 
           WebServiceException - 创建指定服务时是否有任何错误 
           public static Service create(QName serviceName, WebServiceFeature... features)
Service实例。 
           创建的实例配置了Web服务功能。 
          serviceName - 
            QName为服务 
           features - 必须在服务上配置的Web Service功能。 
            如果提供程序不了解某项功能,则必须抛出WebServiceException。 
           WebServiceException - 创建指定服务时是否有任何错误 
            Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.