Module  java.xml.ws
软件包  javax.xml.ws.spi

Class Provider



  • public abstract class Provider
    extends Object
    ServiceDelegateEndpoint对象的服务提供商。
    从以下版本开始:
    1.6,JAX-WS 2.0
    • 构造方法详细信息

      • Provider

        protected Provider​()
        创建一个新的Provider实例
    • 方法详细信息

      • provider

        public static Provider provider​()
        创建一个新的提供者对象。

        用于定位要使用的提供者子类的算法包括以下步骤:

        • 使用由ServiceLoader类定义的服务提供商加载工具,尝试使用default loading mechanism查找并加载Provider服务的实现
        • 使用配置文件“jaxws.properties”。 该文件采用标准Properties格式,通常位于Java安装的conf目录中。 它包含具有密钥javax.xml.ws.spi.Provider的实现类的完全限定名称。
        • 如果定义了名称为javax.xml.ws.spi.Provider的系统属性,则将其值用作实现类的名称。
        • 最后,使用平台默认实现。
        结果
        提供者对象
      • createServiceDelegate

        public abstract ServiceDelegate createServiceDelegate​(URL wsdlDocumentLocation,
                                                              QName serviceName,
                                                              Class<? extends Service> serviceClass)
        创建服务委托对象。
        参数
        wsdlDocumentLocation - 指向服务的WSDL文档的URL,如果没有, null
        serviceName - 服务的合格名称。
        serviceClass - 服务类,必须是 javax.xml.ws.Service或其子类。
        结果
        新创建的服务委托。
      • createServiceDelegate

        public ServiceDelegate createServiceDelegate​(URL wsdlDocumentLocation,
                                                     QName serviceName,
                                                     Class<? extends Service> serviceClass,
                                                     WebServiceFeature... features)
        创建服务委托对象。
        参数
        wsdlDocumentLocation - 指向服务的WSDL文档的URL,如果没有, null
        serviceName - 服务的限定名称。
        serviceClass - 服务类,必须是 javax.xml.ws.Service或其子类。
        features - 必须在服务上配置的Web Service功能。 如果提供程序不了解某项功能,则必须抛出WebServiceException异常。
        结果
        新创建的服务委托。
        从以下版本开始:
        1.7,JAX-WS 2.2
      • createEndpoint

        public abstract Endpoint createEndpoint​(String bindingId,
                                                Object implementor)
        使用提供的绑定和实现对象创建端点对象。
        参数
        bindingId - 指定所需绑定的URI(例如SOAP / HTTP)
        implementor - 将要调度传入请求的服务实现对象。 相应的类必须使用所有必要的Web服务注释进行注释。
        结果
        新创建的端点。
      • createAndPublishEndpoint

        public abstract Endpoint createAndPublishEndpoint​(String address,
                                                          Object implementor)
        创建并发布具有指定地址和实现对象的端点对象。
        参数
        address - 指定要使用的地址和传输/协议的URI。 http:URI必须导致使用SOAP 1.1 / HTTP绑定。 实现可能支持其他URI方案。
        implementor - 将要调度传入请求的服务实现对象。 相应的类必须使用所有必要的Web服务注释进行注释。
        结果
        新创建的端点。
      • readEndpointReference

        public abstract EndpointReference readEndpointReference​(Source eprInfoset)
        eprInfoset包含的信息集读取一个EndpointReference。
        参数
        eprInfoset - 用于EndpointReference的信息集
        结果
        EndpointReferenceeprInfoseteprInfoset 此方法永远不会返回null
        异常
        WebServiceException - 如果从指定的 eprInfoset创建 EndpointReference有错误。
        NullPointerException - 如果给出了 null eprInfoset值。
        从以下版本开始:
        1.6,JAX-WS 2.1
      • getPort

        public abstract <T> T getPort​(EndpointReference endpointReference,
                                      Class<T> serviceEndpointInterface,
                                      WebServiceFeature... features)
        getPort方法返回代理。 如果endpointReference有任何参考参数,那么这些参考参数必须在发送到端点的所有消息上显示为SOAP头,表示它们是参考参数。 参数serviceEndpointInterface指定返回的代理支持的服务端点接口。 参数endpointReference指定将由返回的代理调用的端点。 在实现此方法时,JAX-WS运行时系统负责从serviceEndpointInterfaceEndpointReference的WSDL元数据中选择协议绑定(和端口)并配置代理。 对于成功返回代理的方法,WSDL元数据必须可用,并且endpointReference必须包含一个理解为serviceName元数据的实现。
        参数类型
        T - 服务端点接口
        参数
        endpointReference - 返回的代理将调用的EndpointReference。
        serviceEndpointInterface - 服务端点接口
        features - 要在代理上配置的WebServiceFeatures的列表。 features参数中不支持的功能将具有默认值。
        结果
        支持指定服务端点接口的Object Proxy实例
        异常
        WebServiceException -
        • 如果在创建代理时出现错误
        • 如果这个方法需要有任何遗漏的WSDL元数据}
        • 如果这个endpointReference是非法的
        • 如果指定了非法的serviceEndpointInterface
        • 如果启用了与该端口不兼容或不受支持的功能。
        从以下版本开始:
        1.6,JAX-WS 2.1
        另请参见:
        WebServiceFeature
      • createW3CEndpointReference

        public abstract W3CEndpointReference createW3CEndpointReference​(String address,
                                                                        QName serviceName,
                                                                        QName portName,
                                                                        List<Element> metadata,
                                                                        String wsdlDocumentLocation,
                                                                        List<Element> referenceParameters)
        工厂方法创建一个W3CEndpointReference

        通过指定address属性以及任何其他所需的属性,可以使用此方法为任何端点创建一个W3CEndpointReference 此方法也可用于为同一Java EE应用程序发布的端点创建一个W3CEndpointReference 这样做address可以提供财产或这种方法能自动判断address由同一个Java EE应用程序公布,并通过识别端点的serviceNameportName性能。 如果addressnull ,而serviceNameportName不能识别同一Java EE应用程序发布的端点, javax.lang.IllegalStateException必须抛出一个javax.lang.IllegalStateException

        参数
        address - 指定目标端点的地址
        serviceName - WSDL中服务的合格名称。
        portName - WSDL中端点的合格名称。
        metadata -应该被添加到元素列表 W3CEndpointReference实例 wsa:metadata元件。
        wsdlDocumentLocation - 服务的WSDL文档位置的URL。
        referenceParameters - 与返回的 EndpointReference实例相关联的参考参数。
        结果
        W3CEndpointReference从创建serviceNameportNamemetadatawsdlDocumentLocationreferenceParameters 此方法从不返回null
        异常
        IllegalStateException -
        • 如果addressserviceNameportName都是null
        • 如果serviceName服务是null ,而portName不是null
        • 如果address属性为null ,并且serviceNameportName未指定由同一Java EE应用程序发布的有效端点。
        • 如果serviceName不是null并且不在指定的WSDL中。
        • 如果portName端口不是null并且它不存在于WSDL中的serviceName服务中。
        • 如果wsdlDocumentLocation不是null ,并不代表有效的WSDL。
        WebServiceException - 如果在创建 W3CEndpointReference时发生错误。
        从以下版本开始:
        1.6,JAX-WS 2.1
      • createW3CEndpointReference

        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属性以及任何其他所需的属性。 此方法也可用于为同一Java EE应用程序发布的端点创建一个W3CEndpointReference 这样做address可以提供财产或这种方法能自动判断address由同一个Java EE应用程序公布,并通过识别端点的serviceNameportName化子性质。 如果addressnull ,而serviceNameportName没有标识同一Java EE应用程序发布的端点, javax.lang.IllegalStateException必须抛出一个javax.lang.IllegalStateException

        参数
        address - 指定目标端点的地址
        interfaceName - wsam:InterfaceName元素中的 wsa:Metadata元素。
        serviceName - WSDL中服务的合格名称。
        portName - WSDL中端点的合格名称。
        metadata - 应该添加到 W3CEndpointReference实例的元素的 W3CEndpointReference wsa:metadata元素。
        wsdlDocumentLocation - 服务的WSDL文档位置的URL。
        referenceParameters - 与返回的 EndpointReference实例关联的引用参数。
        elements - 与返回的 EndpointReference实例关联的扩展元素。
        attributes - 与返回的 EndpointReference实例关联的扩展属性。
        结果
        W3CEndpointReference从创建serviceNameportNamemetadatawsdlDocumentLocationreferenceParameters 此方法从不返回null
        异常
        IllegalStateException -
        • 如果addressserviceNameportName都是null
        • 如果serviceName服务是null ,而portName不是null
        • 如果address属性为null ,并且serviceNameportName不指定由同一Java EE应用程序发布的有效端点。
        • 如果serviceName不是null并且不在指定的WSDL中。
        • 如果portName端口不是null并且在WSDL中不存在serviceName服务。
        • 如果wsdlDocumentLocation不是null并且不表示有效的WSDL。
        • 如果wsdlDocumentLocation不是null但wsdli:wsdlLocation的命名空间名称无法从可用的元数据中获取。
        WebServiceException - 如果在创建 W3CEndpointReference时发生错误。
        从以下版本开始:
        1.7,JAX-WS 2.2
      • createAndPublishEndpoint

        public Endpoint createAndPublishEndpoint​(String address,
                                                 Object implementor,
                                                 WebServiceFeature... features)
        创建并发布具有指定地址,实现对象和Web服务功能的端点对象。 Provider实现必须覆盖默认实现。
        参数
        address - 指定要使用的地址和传输/协议的URI。 http:URI必须导致使用SOAP 1.1 / HTTP绑定。 实现可能支持其他URI方案。
        implementor - 将要调度传入请求的服务实现对象。 相应的类必须使用所有必要的Web服务注释进行注释。
        features - 要在端点上配置的WebServiceFeatures的列表。 features参数中不支持的功能将具有默认值。
        结果
        新创建的端点。
        从以下版本开始:
        1.7,JAX-WS 2.2
      • createEndpoint

        public Endpoint createEndpoint​(String bindingId,
                                       Object implementor,
                                       WebServiceFeature... features)
        使用提供的绑定,实现对象和Web服务功能创建端点对象。 Provider实现必须覆盖默认实现。
        参数
        bindingId - 指定所需绑定的URI(例如SOAP / HTTP)
        implementor - 将要调度传入请求的服务实现对象。 相应的类必须使用所有必要的Web服务注释进行注释。
        features - 要在端点上配置的WebServiceFeatures的列表。 features参数中不支持的功能将具有默认值。
        结果
        新创建的端点。
        从以下版本开始:
        1.7,JAX-WS 2.2
      • createEndpoint

        public Endpoint createEndpoint​(String bindingId,
                                       Class<?> implementorClass,
                                       Invoker invoker,
                                       WebServiceFeature... features)
        使用提供的绑定,实现类,调用者和Web服务功能创建端点对象。 容器通常使用它来创建Endpoint对象。 Provider实现必须覆盖默认实现。
        参数
        bindingId - 指定所需绑定(例如SOAP / HTTP)的URI。 可以为null。
        implementorClass - 必须使用所有必需的Web服务注释注释的服务实现类。
        invoker - 对服务实例进行实际调用。
        features - 要在端点上配置的WebServiceFeatures的列表。 features参数中不支持的功能将具有默认值。
        结果
        新创建的端点。
        从以下版本开始:
        1.7, JAX-WS 2.2