public abstract class Provider extends Object
ServiceDelegate
和
Endpoint
对象的服务提供商。
Modifier and Type | Field and Description |
---|---|
static String |
JAXWSPROVIDER_PROPERTY
表示用于查找
Provider 实现类的名称的属性的常量。
|
Modifier | Constructor and Description |
---|---|
protected |
Provider()
创建一个新的Provider实例
|
Modifier and Type | Method and Description |
---|---|
abstract Endpoint |
createAndPublishEndpoint(String address, Object implementor)
创建并发布具有指定地址和实现对象的端点对象。
|
Endpoint |
createAndPublishEndpoint(String address, Object implementor, WebServiceFeature... features)
创建并发布具有指定地址,实现对象和Web服务功能的端点对象。
|
Endpoint |
createEndpoint(String bindingId, 类<?> implementorClass, Invoker invoker, WebServiceFeature... features)
使用提供的绑定,实现类,调用者和Web服务功能创建端点对象。
|
abstract Endpoint |
createEndpoint(String bindingId, Object implementor)
使用提供的绑定和实现对象创建端点对象。
|
Endpoint |
createEndpoint(String bindingId, Object implementor, WebServiceFeature... features)
使用提供的绑定,实现对象和Web服务功能创建端点对象。
|
abstract ServiceDelegate |
createServiceDelegate(URL wsdlDocumentLocation, QName serviceName, 类<? extends Service> serviceClass)
创建服务委托对象。
|
ServiceDelegate |
createServiceDelegate(URL wsdlDocumentLocation, QName serviceName, 类<? extends Service> serviceClass, WebServiceFeature... features)
创建服务委托对象。
|
abstract W3CEndpointReference |
createW3CEndpointReference(String address, QName serviceName, QName portName, List<Element> metadata, String wsdlDocumentLocation, List<Element> referenceParameters)
工厂方法创建一个
W3CEndpointReference 。
|
W3CEndpointReference |
createW3CEndpointReference(String address, QName interfaceName, QName serviceName, QName portName, List<Element> metadata, String wsdlDocumentLocation, List<Element> referenceParameters, List<Element> elements, Map<QName,String> attributes)
工厂方法创建一个
W3CEndpointReference 。
|
abstract <T> T |
getPort(EndpointReference endpointReference, 类<T> serviceEndpointInterface, WebServiceFeature... features)
getPort方法返回代理。
|
static Provider |
provider()
创建一个新的提供者对象。
|
abstract EndpointReference |
readEndpointReference(Source eprInfoset)
从eprInfoset中的信息集读取
eprInfoset 。
|
public static final String JAXWSPROVIDER_PROPERTY
Provider
实现类名称的属性。
public static Provider provider()
用于定位要使用的提供者子类的算法包括以下步骤:
META-INF/services/javax.xml.ws.spi.Provider
的资源,则将其第一行(如果存在)用作实现类的UTF-8编码名称。 java.util.Properties.load(InputStream)
方法读取,并且它包含一个条目,其密钥为javax.xml.ws.spi.Provider
,则该条目的值将用作实现类的名称。 javax.xml.ws.spi.Provider
的系统属性,则将其值用作实现类的名称。 public abstract ServiceDelegate createServiceDelegate(URL wsdlDocumentLocation, QName serviceName, 类<? extends Service> serviceClass)
wsdlDocumentLocation
- 指向服务的WSDL文档的URL,如果没有,
null
。
serviceName
- 服务的限定名称。
serviceClass
- 服务类,必须是
javax.xml.ws.Service
或其子类。
public ServiceDelegate createServiceDelegate(URL wsdlDocumentLocation, QName serviceName, 类<? extends Service> serviceClass, WebServiceFeature... features)
wsdlDocumentLocation
- 指向服务的WSDL文档的URL,如果没有一个
null
。
serviceName
- 服务的限定名称。
serviceClass
- 服务类,必须是
javax.xml.ws.Service
或其子类。
features
- 必须在服务上配置的Web Service功能。
如果提供程序不了解某项功能,则必须抛出WebServiceException。
public abstract Endpoint createEndpoint(String bindingId, Object implementor)
bindingId
- 指定所需绑定的URI(例如SOAP / HTTP)
implementor
- 将要调度传入请求的服务实现对象。
相应的类必须使用所有必要的Web服务注释进行注释。
public abstract Endpoint createAndPublishEndpoint(String address, Object implementor)
address
- 指定要使用的地址和传输/协议的URI。
http:URI必须导致使用SOAP 1.1 / HTTP绑定。
实现可能支持其他URI方案。
implementor
- 将要调度传入请求的服务实现对象。
相应的类必须使用所有必要的Web服务注释进行注释。
public abstract EndpointReference readEndpointReference(Source eprInfoset)
eprInfoset
的信息集读取
eprInfoset
。
eprInfoset
- 用于EndpointReference的信息集
EndpointReference
从解组eprInfoset
。
此方法从不返回null
。
WebServiceException
-如果有错误创建
EndpointReference
从指定的
eprInfoset
。
NullPointerException
- 如果给出了
null
eprInfoset
值。
public abstract <T> T getPort(EndpointReference endpointReference, 类<T> serviceEndpointInterface, WebServiceFeature... features)
endpointReference
,则这些参考参数必须显示为SOAP标头,指示它们是参照参数,对发送到端点的所有消息。
参数serviceEndpointInterface
指定返回代理支持的服务端点接口。
参数endpointReference
指定返回的代理将调用的端点。
在此方法的实施中,JAX-WS运行时系统需要选择协议绑定(和端口)和来自的WSDL元数据相应地配置代理的责任serviceEndpointInterface
和EndpointReference
。
为了成功返回代理的方法,WSDL元数据必须可用,并且endpointReference
必须包含一个理解为serviceName
元数据的实现。
endpointReference
- 返回的代理将调用的EndpointReference。
serviceEndpointInterface
- 服务端点接口
features
- 要在代理上配置的WebServiceFeatures列表。
支持的功能不是在features
参数将其默认值。
WebServiceException
-
endpointReference
是非法的 serviceEndpointInterface
指定 WebServiceFeature
public abstract W3CEndpointReference createW3CEndpointReference(String address, QName serviceName, QName portName, List<Element> metadata, String wsdlDocumentLocation, List<Element> referenceParameters)
W3CEndpointReference
。
该方法可用于为任何端点创建W3CEndpointReference
,方法是指定address
属性以及任何其他所需的属性。 这种方法也可以用来创建一个W3CEndpointReference
对于由同一个Java EE应用程序发布的端点。 这样做address
可以提供财产或这种方法能自动判断address
由同一个Java EE应用程序公布,并通过识别端点的serviceName
个portName
化子性质。 如果address
为null
,并且serviceName
和portName
未标识同一Java EE应用程序发布的端点, javax.lang.IllegalStateException
必须抛出javax.lang.IllegalStateException
。
address
- 指定目标端点的地址
serviceName
- WSDL中服务的合格名称。
portName
- WSDL中端点的合格名称。
metadata
- 应添加到
W3CEndpointReference
实例
wsa:metadata
元素的元素列表。
wsdlDocumentLocation
- 服务的WSDL文档位置的URL。
referenceParameters
- 与返回的
EndpointReference
实例相关联的
EndpointReference
参数。
W3CEndpointReference
从创建serviceName
, portName
, metadata
, wsdlDocumentLocation
和referenceParameters
。
这种方法永远不会返回null
。
IllegalStateException
-
address
, serviceName
和portName
都null
。 serviceName
服务是null
和portName
不是null
。 address
属性为null
,并且serviceName
和portName
未指定由同一Java EE应用程序发布的有效端点。 serviceName
不是null
并且不在指定的WSDL中。 portName
端口不是null
,并且它不存在于WSDL中的serviceName
服务中。 wsdlDocumentLocation
不是null
并且不表示有效的WSDL。 WebServiceException
- 如果在创建
W3CEndpointReference
时发生错误。
public W3CEndpointReference createW3CEndpointReference(String address, QName interfaceName, QName serviceName, QName portName, List<Element> metadata, String wsdlDocumentLocation, List<Element> referenceParameters, List<Element> elements, Map<QName,String> attributes)
W3CEndpointReference
。
使用此方法,可以使用扩展元素和属性创建W3CEndpointReference
实例。
Provider
实现必须覆盖默认实现。
这种方法可以被用来创建一个W3CEndpointReference
通过指定任何端点address
与任何其它所需的性质沿属性。 这种方法也可以用来创建一个W3CEndpointReference
对于由同一个Java EE应用程序发布的端点。 这样做address
可以提供财产或这种方法能自动判断address
由同一个Java EE应用程序公布,并通过识别端点的serviceName
个portName
化子性质。 如果address
为null
,并且serviceName
和portName
未标识同一Java EE应用程序发布的端点, javax.lang.IllegalStateException
必须抛出javax.lang.IllegalStateException
。
address
- 指定目标端点的地址
interfaceName
-
wsam:InterfaceName
元素在
wsa:Metadata
元素。
serviceName
- WSDL中服务的合格名称。
portName
- WSDL中端点的合格名称。
metadata
- 应添加到
W3CEndpointReference
实例
wsa:metadata
元素的元素列表。
wsdlDocumentLocation
- 服务的WSDL文档位置的URL。
referenceParameters
- 与返回的
EndpointReference
实例相关联的
EndpointReference
参数。
elements
- 与返回的
EndpointReference
实例相关联的扩展元素。
attributes
- 与返回的
EndpointReference
实例相关联的
EndpointReference
属性。
W3CEndpointReference
从创建serviceName
, portName
, metadata
, wsdlDocumentLocation
和referenceParameters
。
这种方法永远不会返回null
。
IllegalStateException
-
address
, serviceName
和portName
都null
。 serviceName
服务是null
和portName
不是null
。 address
属性为null
,并且serviceName
和portName
未指定由同一Java EE应用程序发布的有效端点。 serviceName
不是null
并且不在指定的WSDL中。 portName
端口不是null
,并且它不存在于WSDL中的serviceName
服务中。 wsdlDocumentLocation
不是null
并且不表示有效的WSDL。 wsdlDocumentLocation
不是null
但是wsdli:wsdlLocation的命名空间名称不能从可用的元数据获得。 WebServiceException
- 如果在创建
W3CEndpointReference
时发生错误。
public Endpoint createAndPublishEndpoint(String address, Object implementor, WebServiceFeature... features)
Provider
实现必须覆盖默认实现。
address
- 指定要使用的地址和传输/协议的URI。
http:URI必须导致使用SOAP 1.1 / HTTP绑定。
实现可能支持其他URI方案。
implementor
- 要发送传入请求的服务实现对象。
相应的类必须使用所有必要的Web服务注释进行注释。
features
- 要在端点上配置的WebServiceFeatures列表。
支持的功能不是在features
参数将其默认值。
public Endpoint createEndpoint(String bindingId, Object implementor, WebServiceFeature... features)
Provider
实现必须覆盖默认实现。
bindingId
- 指定所需绑定的URI(例如SOAP / HTTP)
implementor
- 将要调度传入请求的服务实现对象。
相应的类必须使用所有必要的Web服务注释进行注释。
features
- 要在端点上配置的WebServiceFeatures的列表。
支持的功能不是在features
参数将其默认值。
public Endpoint createEndpoint(String bindingId, 类<?> implementorClass, Invoker invoker, WebServiceFeature... features)
Provider
实现必须覆盖默认实现。
bindingId
- 指定所需绑定的URI(例如SOAP / HTTP)。
可以为null。
implementorClass
- 必须使用所有必需的Web服务注释注释的服务实现类。
invoker
- 对服务实例进行实际调用。
features
- 要在端点上配置的WebServiceFeatures列表。
支持的功能不是在features
参数将其默认值。