public class Service extends Object
Service
对象提供Web服务的客户端视图。
Service
作为下面的工厂:
Dispatch
实例。在提供服务的端口,可以使用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)
创建一个使用
Dispatch JAXB生成的对象实例。
|
<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)
创建一个使用
Dispatch JAXB生成的对象实例。
|
Dispatch<Object> |
createDispatch(QName portName, JAXBContext context, Service.Mode mode, WebServiceFeature... features)
创建一个使用
Dispatch JAXB生成的对象实例。
|
Executor |
getExecutor()
返回此
Service instance遗嘱执行人。
|
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()
返回的服务端点按此服务
QName s列表
Iterator
|
QName |
getServiceName()
获取此服务的名称。
|
URL |
getWSDLDocumentLocation()
获取此服务的WSDL文档的位置。
|
void |
setExecutor(Executor executor)
设置此
Service 实例的执行器。
|
void |
setHandlerResolver(HandlerResolver handlerResolver)
设置此
Service 实例的
HandlerResolver 。
|
protected Service(URL wsdlDocumentLocation, QName serviceName, WebServiceFeature... features)
public <T> T getPort(QName portName, 类<T> serviceEndpointInterface)
getPort
方法返回一个代理。服务客户端使用此代理来调用目标服务端点上的操作。
serviceEndpointInterface
指定的服务端点接口是由创建动态代理实例支持。
portName
限定名称。
serviceEndpointInterface
-服务端点接口,支持动态代理实例。
WebServiceException
-抛出该异常在下列情况下:
serviceEndpointInterface
或portName
指定。Proxy
,
InvocationHandler
public <T> T getPort(QName portName, 类<T> serviceEndpointInterface, WebServiceFeature... features)
getPort
方法返回一个代理。服务客户端使用此代理来调用目标服务端点上的操作。
serviceEndpointInterface
指定的服务端点接口是由创建动态代理实例支持。
portName
限定名称。
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
参考参数,那么这些参数必须出现在SOAP头,示意他们可以参考参数,在所有的消息发送到终点。的
endpointReference's
地址必须用于在端点调用。参数
serviceEndpointInterface
指定服务端点接口,通过返回的代理支持。在这种方法的实施,JAX-WS运行时系统将选择一个协议绑定的责任(和端口)和配置相应的代理从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
和这个
Service
实例关联的WSDL。
endpointReference
-目标服务端点,将返回到调用
EndpointReference
代理。
serviceEndpointInterface
-服务端点接口。
features
-目录
WebServiceFeatures
配置代理。支持的功能不在
features
参数有默认值。
WebServiceException
-
endpointReference
元数据不匹配,这Service
实例的serviceName
。portName
不能提取或endpointReference
WSDL元数据。endpointReference
。serviceEndpointInterface
。public void addPort(QName portName, String bindingId, String endpointAddress)
Dispatch
instances。
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
-控制是否创建调度实例消息或负载型,即该客户是否将与完整的协议消息或消息有效载荷。当使用此参数时,此参数将控制客户端是否会使用“消息”或“皂体”的内容。模式必须的信息时,是SOAPMessage。
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
-控制是否创建调度实例消息或负载型,即该客户是否将与完整的协议消息或消息有效载荷。当使用此参数时,此参数将控制客户端是否会使用“消息”或“皂体”的内容。模式必须
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运行时系统将选择一个协议绑定的责任(和端口)和配置调度相应的WSDL与此相关的
Service
实例或从
endpointReference
元数据。如果这
Service
实例有一个WSDL和
endpointReference
也在其元数据的wsdl,然后从这个实例必须使用WSDL。如果这
Service
实例没有WSDL和
endpointReference
确实有一个wsdl,然后从
endpointReference
WSDL可。实现必须能够检索从
endpointReference
元数据的
portName
。
此方法的行为与调用相同
dispatch = service.createDispatch(portName, type, mode, features);
在
portName
检索从WSDL或
EndpointReference
元数据。
endpointReference
-目标服务端点,将返回的对象调用
EndpointReference
Dispatch
。
type
-类对象使用消息或消息有效载荷。实现都必须支持
javax.xml.transform.Source
和
javax.xml.soap.SOAPMessage
。
mode
-控制是否创建调度实例消息或负载型,即该客户是否将与完整的协议消息或消息有效载荷。当使用此参数时,此参数将控制客户端是否会使用“消息”或“皂体”的内容。模式必须
MESSAGE
当类型
SOAPMessage
。
features
-
WebServiceFeatures
配置代理上的数组。支持的功能不在
features
参数有默认值。
WebServiceException
-
endpointReference
元数据不匹配,与此Service
实例关联的WSDL serviceName
或portName
。portName
不能从EndpointReference
元数据确定。Dispatch
任何错误。Source
,
SOAPMessage
,
WebServiceFeature
public Dispatch<Object> createDispatch(QName portName, JAXBContext context, Service.Mode mode)
Dispatch
JAXB生成的对象实例。
portName
限定的名称为目标服务端点
context
- JAXB上下文用于马歇尔和解组的消息或消息有效载荷。
mode
-控制是否创建调度实例消息或负载型,即该客户是否将与完整的协议消息或消息有效载荷。当使用此参数时,此参数将控制客户端是否会使用“消息”或“皂体”的内容。
WebServiceException
-如果在
Dispatch
对象创建的任何错误。
JAXBContext
public Dispatch<Object> createDispatch(QName portName, JAXBContext context, Service.Mode mode, WebServiceFeature... features)
Dispatch
JAXB生成的对象实例。
portName
限定的名称为目标服务端点
context
- JAXB上下文用于马歇尔和解组的消息或消息有效载荷。
mode
-控制是否创建调度实例消息或负载型,即该客户是否将与完整的协议消息或消息有效载荷。当使用此参数时,此参数将控制客户端是否会使用“消息”或“皂体”的内容。
features
-目录
WebServiceFeatures
配置代理。支持的功能不在
features
参数有默认值。
WebServiceException
-如果在
Dispatch
对象的创建或启用,如果不是这个端口兼容或是不支持的是一个功能的任何错误。
JAXBContext
,
WebServiceFeature
public Dispatch<Object> createDispatch(EndpointReference endpointReference, JAXBContext context, Service.Mode mode, WebServiceFeature... features)
Dispatch
JAXB生成的对象实例。如果有任何的
endpointReference
参考参数,那么这些参数必须出现在SOAP头,示意他们可以参考参数,在所有的消息发送到终点。的
endpointReference's
地址必须用于在端点调用。在这种方法的实施,JAX-WS运行时系统将选择一个协议绑定的责任(和端口)和配置调度相应的WSDL与此相关的
Service
实例或从
endpointReference
元数据。如果这
Service
实例有一个WSDL和
endpointReference
也在其元数据的wsdl,然后从这个实例必须使用WSDL。如果这
Service
实例没有WSDL和
endpointReference
确实有一个wsdl,然后从
endpointReference
WSDL可。实现必须能够检索从
endpointReference
元数据的
portName
。
这种方法称为相同侵权
dispatch = service.createDispatch(portName, context, mode, features);
在
portName
检索从WSDL或
endpointReference
元数据。
endpointReference
-目标服务端点,将返回的对象调用
EndpointReference
Dispatch
。
context
- JAXB上下文用于马歇尔和解组的消息或消息有效载荷。
mode
-控制是否创建调度实例消息或负载型,即该客户是否将与完整的协议消息或消息有效载荷。当使用此参数时,此参数将控制客户端是否会使用“消息”或“皂体”的内容。
features
-
WebServiceFeatures
配置代理上的数组。支持的功能不在
features
参数有默认值。
WebServiceException
-
endpointReference
元数据不匹配,与此Service
实例关联的WSDL serviceName
或portName
。portName
不能从EndpointReference
元数据确定。Dispatch
任何错误。JAXBContext
,
WebServiceFeature
public QName getServiceName()
public Iterator<QName> getPorts()
QName
s列表
Iterator
java.util.Iterator
与
javax.xml.namespace.QName
元素类型。
WebServiceException
-如果此服务类不能访问所需的WSDL元数据。
public URL getWSDLDocumentLocation()
public HandlerResolver getHandlerResolver()
HandlerResolver
被这
Service
实例使用,或
null
如果没有。
public void setHandlerResolver(HandlerResolver handlerResolver)
Service
实例的
HandlerResolver
。
该处理程序解析,如果存在,将被调用一次,每个代理或调度实例被创建,并由解析器返回的句柄链将被设置在实例。
handlerResolver
-
HandlerResolver
用于所有随后创建代理/调度对象。
HandlerResolver
public Executor getExecutor()
Service
instance遗嘱执行人。执行器是用于异步调用需要回调。
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
为Web服务的WSDL文件的位置
URL
serviceName
-服务
QName
WebServiceException
-如果在指定的服务产生的任何错误。
public static Service create(URL wsdlDocumentLocation, QName serviceName, WebServiceFeature... features)
Service
实例。所创建的实例配置与Web服务功能。指定的WSDL文件的位置和服务名称必须唯一地标识一个
wsdl:service
元。
wsdlDocumentLocation
为Web服务的WSDL文件的位置
URL
serviceName
-服务
QName
features
Web服务的功能,必须配置的服务。如果供应商不了解的一个特点,它必须把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服务的功能,必须配置的服务。如果供应商不了解的一个特点,它必须把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.