Module  java.xml.ws

Class W3CEndpointReferenceBuilder



  • public final class W3CEndpointReferenceBuilder
    extends Object
    此类用于构建W3CEndpointReference实例。 此clsss的预期用途是为应用程序组件(例如工厂组件)为同一Java EE应用程序发布的Web服务端点创建一个W3CEndpointReference 它还可以用于通过提供address属性为基于Java SE的端点创建W3CEndpointReferences

    为未由同一Java EE应用程序发布的端点创建W3CEndpointReference ,必须指定address属性。

    为同一Java EE应用程序发布的端点创建W3CEndpointReferenceaddress属性可能为nullserviceNameendpointName必须指定由同一Java EE应用程序发布的端点。

    当指定了wsdlDocumentLocation时,它必须参考有效的WSDL文档,而serviceNameendpointName (如果指定)必须匹配WSDL文档中的服务和端口。

    从以下版本开始:
    1.6,JAX-WS 2.1
    • 构造方法详细信息

      • W3CEndpointReferenceBuilder

        public W3CEndpointReferenceBuilder​()
        创建一个新的 W3CEndpointReferenceBuilder实例。
    • 方法详细信息

      • address

        public W3CEndpointReferenceBuilder address​(String address)
        设置addressW3CEndpointReference实例的wsa:Address

        当为未由同一Java EE应用程序发布的Web服务端点构建W3CEndpointReference或在Java SE上运行时, address必须设置为非null值。

        参数
        address - 返回的 W3CEndpointReference要定位的端点的地址。
        结果
        一个 W3CEndpointReferenceBuilder实例与 address设置为 wsa:Address
      • interfaceName

        public W3CEndpointReferenceBuilder interfaceName​(QName interfaceName)
        设置interfaceNamewsam:InterfaceName的元素wsa:Metadata元素。 详见2.1 Referencing WSDL Metadata from an EPR
        参数
        interfaceName - 返回的 W3CEndpointReference要定位的端点的端口类型名称。
        结果
        A W3CEndpointReferenceBuilder实例用 interfaceName作为 wsam:InterfaceName元素添加到 wsa:Metadata元素
        从以下版本开始:
        1.7
      • serviceName

        public W3CEndpointReferenceBuilder serviceName​(QName serviceName)
        wsam:ServiceName元素中设置serviceNamewsa:Metadata元素。 详见2.1 Referencing WSDL Metadata from an EPR
        参数
        serviceName - 返回的W3CEndpointReference要定位的端点的服务名称。 此属性也可以与endpointName (portName)属性一起使用,以查找由同一Java EE应用程序发布的Web服务端点的address
        结果
        A W3CEndpointReferenceBuilder实例与 serviceName作为 wsam:ServiceName元素添加到 wsa:Metadata元素
      • endpointName

        public W3CEndpointReferenceBuilder endpointName​(QName endpointName)
        设置endpointNamewsam:ServiceName/@EndpointNamewsa:Metadata元素。 此方法只能在调用serviceName方法后调用。

        详见2.1 Referencing WSDL Metadata from an EPR

        参数
        endpointName - 返回的W3CEndpointReference要定位的端点的名称。 endpointName (portName)属性也可以与serviceName属性一起使用,以查找同一Java EE应用程序发布的Web服务端点的address
        结果
        A W3CEndpointReferenceBuilder实例中的 endpointName作为 wsam:ServiceName/@EndpointNamewsa:Metadata元素中。
        异常
        IllegalStateException - 如果 serviceName尚未设置
        IllegalArgumentException - 如果 endpointName的命名空间URI不符合 serviceName的命名空间URI
      • wsdlDocumentLocation

        public W3CEndpointReferenceBuilder wsdlDocumentLocation​(String wsdlDocumentLocation)
        设置wsdlDocumentLocation ,将作为被引用wsa:Metadata/@wsdli:wsdlLocation wsdli:wsdlLocation的值的命名空间名称可以从WSDL本身获取。

        详见2.1 Referencing WSDL Metadata from an EPR

        参数
        wsdlDocumentLocation - 要在 wsa:MetadataW3CEndpointReference引用的WSDL文档的位置。
        结果
        一个 W3CEndpointReferenceBuilder实例与要引用的 wsdlDocumentLocation
      • referenceParameter

        public W3CEndpointReferenceBuilder referenceParameter​(Element referenceParameter)
        referenceParameter添加到 W3CEndpointReference实例 wsa:ReferenceParameters元素。
        参数
        referenceParameter - 要添加到 wsa:ReferenceParameters元素的元素。
        结果
        一个 W3CEndpointReferenceBuilder实例与 referenceParameter添加到 wsa:ReferenceParameters元素。
        异常
        IllegalArgumentException - 如果 referenceParameternull
      • metadata

        public W3CEndpointReferenceBuilder metadata​(Element metadataElement)
        metadataElement添加到 W3CEndpointReference实例的 wsa:Metadata元素中。
        参数
        metadataElement - 要添加到 wsa:Metadata元素的元素。
        结果
        一个 W3CEndpointReferenceBuilder实例与 metadataElement添加到 wsa:Metadata元素。
        异常
        IllegalArgumentException - 如果 metadataElementnull
      • element

        public W3CEndpointReferenceBuilder element​(Element element)
        W3CEndpointReference实例的 wsa:EndpointReference元素中添加一个扩展元素。
        参数
        element - 要添加到 W3CEndpointReference的扩展元素
        结果
        一个 W3CEndpointReferenceBuilder实例,扩展名为 element添加到 W3CEndpointReference实例。
        异常
        IllegalArgumentException - 如果 elementnull
        从以下版本开始:
        1.7,JAX-WS 2.2
      • attribute

        public W3CEndpointReferenceBuilder attribute​(QName name,
                                                     String value)
        W3CEndpointReference实例的 wsa:EndpointReference元素添加扩展属性。
        参数
        name - 要添加到 W3CEndpointReference的扩展名属性的 W3CEndpointReference
        value - 扩展属性值
        结果
        一个 W3CEndpointReferenceBuilder实例与扩展属性添加到 W3CEndpointReference实例。
        异常
        IllegalArgumentException - 如果 namevaluenull
        从以下版本开始:
        1.7,JAX-WS 2.2
      • build

        public W3CEndpointReference build​()
        根据这个W3CEndpointReferenceBuilder实例设置的累积属性构建一个W3CEndpointReference

        通过指定address属性以及任何其他所需的属性,此方法可用于为任何端点创建一个W3CEndpointReference 此方法也可用于为同一Java EE应用程序发布的端点创建一个W3CEndpointReference 这种方法可以自动判断address由被识别的同一Java EE应用程序发布端点的serviceNameendpointName性能。 如果addressnull ,而serviceNameendpointName没有标识同一Java EE应用程序发布的端点, java.lang.IllegalStateException必须抛出一个java.lang.IllegalStateException

        结果
        W3CEndpointReference从这个W3CEndpointReferenceBuilder实例中设置的累积属性。 此方法从不返回null
        异常
        IllegalStateException -
        • 如果addressserviceNameendpointName都是null
        • 如果serviceName服务是null ,而endpointName不是null
        • 如果address属性为null ,并且serviceNameendpointName未指定由同一Java EE应用程序发布的有效端点。
        • 如果serviceName不是null ,并且不在指定的WSDL中。
        • 如果endpointName端口不是null并且它不存在于WSDL中的serviceName服务中。
        • 如果wsdlDocumentLocation不是null ,并不代表有效的WSDL。
        WebServiceException - If an error occurs while creating the W3CEndpointReference.