public abstract class ServiceDelegate extends Object
Service对象使用,以允许JAX-WS实现的可插拔性。
每个Service对象都有自己的委托,使用Provider.createServiceDelegate(java.net.URL, javax.xml.namespace.QName, java.lang.Class<? extends javax.xml.ws.Service>)方法创建。 Service对象将其所有实例方法委托给其委托。
| Modifier | Constructor and Description |
|---|---|
protected |
ServiceDelegate() |
| Modifier and Type | Method and Description |
|---|---|
abstract void |
addPort(QName portName, String bindingId, String endpointAddress)
为服务创建一个新的端口。
|
abstract <T> Dispatch<T> |
createDispatch(EndpointReference endpointReference, 类<T> type, Service.Mode mode, WebServiceFeature... features)
创建一个
Dispatch实例,供用户选择的对象使用。
|
abstract Dispatch<Object> |
createDispatch(EndpointReference endpointReference, JAXBContext context, Service.Mode mode, WebServiceFeature... features)
创建一个用于JAXB生成的对象的
Dispatch实例。
|
abstract <T> Dispatch<T> |
createDispatch(QName portName, 类<T> type, Service.Mode mode)
创建一个
Dispatch实例,供用户选择的对象使用。
|
abstract <T> Dispatch<T> |
createDispatch(QName portName, 类<T> type, Service.Mode mode, WebServiceFeature... features)
创建一个
Dispatch实例,供用户选择的对象使用。
|
abstract Dispatch<Object> |
createDispatch(QName portName, JAXBContext context, Service.Mode mode)
创建一个用于JAXB生成的对象的
Dispatch实例。
|
abstract Dispatch<Object> |
createDispatch(QName portName, JAXBContext context, Service.Mode mode, WebServiceFeature... features)
创建一个用于JAXB生成的对象的
Dispatch实例。
|
abstract Executor |
getExecutor()
返回此
Service实例的执行程序。
|
abstract HandlerResolver |
getHandlerResolver()
返回配置的处理程序解析器。
|
abstract <T> T |
getPort(类<T> serviceEndpointInterface)
getPort方法返回一个代理。
|
abstract <T> T |
getPort(类<T> serviceEndpointInterface, WebServiceFeature... features)
getPort方法返回一个代理。
|
abstract <T> T |
getPort(EndpointReference endpointReference, 类<T> serviceEndpointInterface, WebServiceFeature... features)
getPort方法返回一个代理。
|
abstract <T> T |
getPort(QName portName, 类<T> serviceEndpointInterface)
getPort方法返回一个代理。
|
abstract <T> T |
getPort(QName portName, 类<T> serviceEndpointInterface, WebServiceFeature... features)
getPort方法返回代理。
|
abstract Iterator<QName> |
getPorts()
返回
Iterator ,用于
QName服务分组的
QName个服务端点列表
|
abstract QName |
getServiceName()
获取此服务的名称。
|
abstract URL |
getWSDLDocumentLocation()
获取此服务的WSDL文档的位置。
|
abstract void |
setExecutor(Executor executor)
设置此
Service实例的执行程序。
|
abstract void |
setHandlerResolver(HandlerResolver handlerResolver)
设置
HandlerResolver这个
Service实例。
|
public abstract <T> T getPort(QName portName, 类<T> serviceEndpointInterface)
getPort方法返回代理。
服务客户端使用此代理来调用目标服务端点上的操作。
serviceEndpointInterface指定创建的动态代理实例支持的服务端点接口。
portName - WSDL服务描述中服务端点的合格名称
serviceEndpointInterface - 动态代理支持的服务端点接口
WebServiceException - 在以下情况下抛出此异常:
serviceEndpointInterface或portName指定 Proxy , InvocationHandler
public abstract <T> T getPort(QName portName, 类<T> serviceEndpointInterface, WebServiceFeature... features)
getPort方法返回代理。
服务客户端使用此代理来调用目标服务端点上的操作。
serviceEndpointInterface指定创建的动态代理实例支持的服务端点接口。
portName - WSDL服务描述中服务端点的合格名称
serviceEndpointInterface - 动态代理或实例支持的服务端点接口
features - 要在代理上配置的WebServiceFeatures的列表。
支持的功能不是在features参数将其默认值。
WebServiceException - 在以下情况下抛出此异常:
serviceEndpointInterface或portName指定 Proxy , InvocationHandler , WebServiceFeature
public abstract <T> T getPort(EndpointReference endpointReference, 类<T> serviceEndpointInterface, WebServiceFeature... features)
getPort方法返回代理。
参数endpointReference 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和与此相关的WSDL Service实例。
endpointReference - 将由返回的代理调用的目标服务端点的
EndpointReference 。
serviceEndpointInterface - 服务端点接口。
features - 要在代理上配置的WebServiceFeatures的列表。
支持的功能不是在features参数将其默认值。
WebServiceException -
endpointReference元数据与此Service实例的serviceName不匹配。 portName不能从WSDL或提取endpointReference元数据。 endpointReference指定。 serviceEndpointInterface指定。 public abstract <T> T getPort(类<T> serviceEndpointInterface)
getPort方法返回代理。
参数serviceEndpointInterface指定返回的代理支持的服务端点接口。
在实现该方法时,JAX-WS运行时系统负责选择协议绑定(和端口)并相应地配置代理。
返回的代理不应由客户机重新配置。
serviceEndpointInterface - 服务端点接口
WebServiceException -
serviceEndpointInterface指定 public abstract <T> T getPort(类<T> serviceEndpointInterface, WebServiceFeature... features)
getPort方法返回代理。
参数serviceEndpointInterface指定返回的代理支持的服务端点接口。
在实现该方法时,JAX-WS运行时系统负责选择协议绑定(和端口)并相应地配置代理。
返回的代理不应由客户机重新配置。
serviceEndpointInterface - 服务端点接口
features -数组WebServiceFeatures配置上的代理。
支持的功能不是在features参数将其默认值。
WebServiceException -
serviceEndpointInterface指定 WebServiceFeature
public abstract void addPort(QName portName, String bindingId, String endpointAddress)
Dispatch实例。
portName - 目标服务端点的合格名称
bindingId - 绑定的URI标识符。
endpointAddress - 作为URI的目标服务端点的地址
WebServiceException - 如果端口创建有任何错误
SOAPBinding.SOAP11HTTP_BINDING ,
SOAPBinding.SOAP12HTTP_BINDING ,
HTTPBinding.HTTP_BINDING
public abstract <T> Dispatch<T> createDispatch(QName portName, 类<T> type, Service.Mode mode)
Dispatch实例,供用户选择的对象使用。
portName - 目标服务端点的合格名称
type - 用于消息或消息有效载荷的对象类。
需要实现支持javax.xml.transform.Source和javax.xml.soap.SOAPMessage 。
mode - 控制创建的调度实例是消息还是有效负载,即用户是否使用完整的协议消息或消息有效载荷。
例如,当使用SOAP协议时,此参数控制用户是否使用SOAP消息或SOAP主体的内容。
模式必须MESSAGE当类型是SOAPMessage 。
WebServiceException - 如果在创建
Dispatch对象时有任何错误
Source , SOAPMessage
public abstract <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 abstract <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 abstract Dispatch<Object> createDispatch(QName portName, JAXBContext context, Service.Mode mode)
Dispatch实例。
portName - 目标服务端点的合格名称
context - 用于编组和解组消息或消息有效载荷的JAXB上下文。
mode - 控制创建的调度实例是消息还是有效负载,即用户是否使用完整的协议消息或消息有效载荷。
例如,当使用SOAP协议时,此参数控制用户是否使用SOAP消息或SOAP主体的内容。
WebServiceException - 如果在创建
Dispatch对象时有任何错误
JAXBContext
public abstract 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 abstract Dispatch<Object> createDispatch(EndpointReference endpointReference, JAXBContext context, 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, 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 abstract QName getServiceName()
public abstract Iterator<QName> getPorts()
Iterator的
QName s服务端点列表
QName服务分组
java.util.Iterator ,元素类型为
javax.xml.namespace.QName
WebServiceException - 如果此Service类无法访问所需的WSDL元数据
public abstract URL getWSDLDocumentLocation()
public abstract HandlerResolver getHandlerResolver()
HandlerResolver被这个
Service实例使用,如果没有一个
null 。
public abstract void setHandlerResolver(HandlerResolver handlerResolver)
HandlerResolver这个Service实例。
处理程序解析器(如果存在)将为创建的每个代理或分派实例调用一次,并且解析器返回的处理程序链将在实例上设置。
handlerResolver -该
HandlerResolver用于所有随后创建的代理/调度对象。
HandlerResolver
public abstract Executor getExecutor()
Service实例的执行程序。
执行器用于需要回调的所有异步调用。
java.util.concurrent.Executor用于调用回调。
Executor
public abstract void setExecutor(Executor executor)
Service实例的执行程序。
执行器用于需要回调的所有异步调用。
executor - 用于调用回调的
java.util.concurrent.Executor 。
SecurityException - 如果实例不支持以安全原因设置执行程序(例如缺少必需的权限)。
Executor
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.