javax.xml.ws.wsaddressing

## Class W3CEndpointReferenceBuilder

- java.lang.Object
- - javax.xml.ws.wsaddressing.W3CEndpointReferenceBuilder

-     public final class W3CEndpointReferenceBuilder
      extends Object

  This class is used to build `W3CEndpointReference` instances. The intended use of this clsss is for an application component, for example a factory component, to create an `W3CEndpointReference` for a web service endpoint published by the same Java EE application. It can also be used to create `W3CEndpointReferences` for an Java SE based endpoint by providing the `address` property.

  When creating a `W3CEndpointReference` for an endpoint that is not published by the same Java EE application, the `address` property MUST be specified.

  When creating a `W3CEndpointReference` for an endpoint published by the same Java EE application, the `address` property MAY be `null` but then the `serviceName` and `endpointName` MUST specify an endpoint published by the same Java EE application.

  When the `wsdlDocumentLocation` is specified it MUST refer to a valid WSDL document and the `serviceName` and `endpointName` (if specified) MUST match a service and port in the WSDL document.

  Since:
    JAX-WS 2.1

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `W3CEndpointReferenceBuilder()` Creates a new `W3CEndpointReferenceBuilder` instance.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `W3CEndpointReferenceBuilder` | `address(String address)` Sets the `address` to the `W3CEndpointReference` instance's `wsa:Address`.
    `W3CEndpointReference` | `build()` Builds a `W3CEndpointReference` from the accumulated properties set on this `W3CEndpointReferenceBuilder` instance.
    `W3CEndpointReferenceBuilder` | `endpointName(QName endpointName)` Sets the `endpointName` of the endpoint to be targeted by the returned `W3CEndpointRefernce`.
    `W3CEndpointReferenceBuilder` | `metadata(Element metadataElement)` Adds the `metadataElement` to the `W3CEndpointReference` instance's `wsa:Metadata` element.
    `W3CEndpointReferenceBuilder` | `referenceParameter(Element referenceParameter)` Adds the `referenceParameter` to the `W3CEndpointReference` instance `wsa:ReferenceParameters` element.
    `W3CEndpointReferenceBuilder` | `serviceName(QName serviceName)` Sets the `serviceName` of the endpoint to be targeted by the returned `W3CEndpointReference`.
    `W3CEndpointReferenceBuilder` | `wsdlDocumentLocation(String wsdlDocumentLocation)` Sets the `wsdlDocumentLocation` associated with the targeted `W3CEndpointReference`.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### W3CEndpointReferenceBuilder

          public W3CEndpointReferenceBuilder()

      Creates a new `W3CEndpointReferenceBuilder` instance.

  - ### Method Detail

    - #### address

          public W3CEndpointReferenceBuilder address(String address)

      Sets the `address` to the `W3CEndpointReference` instance's `wsa:Address`.

      The `address` MUST be set to a non-`null` value when building a `W3CEndpointReference` for a web service endpoint that is not published by the same Java EE application or when running on Java SE.

      Parameters:
        `address` - The address of the endpoint to be targeted by the returned `W3CEndpointReference`.``
      Returns:
        A `W3CEndpointReferenceBuilder` instance with the `address` set to the `wsa:Address`.

    - #### serviceName

          public W3CEndpointReferenceBuilder serviceName(QName serviceName)

      Sets the `serviceName` of the endpoint to be targeted by the returned `W3CEndpointReference`.
      Parameters:
        `serviceName` - The service name of the endpoint to be targeted by the returned `W3CEndpointReference`. This property may also be used with the `endpointName` (portName) property to lookup the `address` of a web service endpoint that is published by the same Java EE application.``
      Returns:
        A `W3CEndpointReferenceBuilder` instance with the `serviceName` property set.

    - #### endpointName

          public W3CEndpointReferenceBuilder endpointName(QName endpointName)

      Sets the `endpointName` of the endpoint to be targeted by the returned `W3CEndpointRefernce`. This method can only be called after the `serviceName` method has been called.
      Parameters:
        `endpointName` - The name of the endpoint to be targeted by the returned `W3CEndpointReference`. The `endpointName` (portName) property may also be used with the `serviceName` property to lookup the `address` of a web service endpoint published by the same Java EE application.``
      Returns:
        A `W3CEndpointReferenceBuilder` instance with the `endpointName` property set.
      Throws:
        `IllegalStateException` - If the `serviceName` has not been set.

    - #### wsdlDocumentLocation

          public W3CEndpointReferenceBuilder wsdlDocumentLocation(String wsdlDocumentLocation)

      Sets the `wsdlDocumentLocation` associated with the targeted `W3CEndpointReference`.
      Parameters:
        `wsdlDocumentLocation` - The location of the WSDL document associated with the targeted `W3CEndpointReference`.
      Returns:
        A `W3CEndpointReferenceBuilder` instance with the `wsdlDocumentLocation` property set.

    - #### referenceParameter

          public W3CEndpointReferenceBuilder referenceParameter(Element referenceParameter)

      Adds the `referenceParameter` to the `W3CEndpointReference` instance `wsa:ReferenceParameters` element.
      Parameters:
        `referenceParameter` - The element to be added to the `wsa:ReferenceParameters` element.
      Returns:
        A `W3CEndpointReferenceBuilder` instance with the `referenceParameter` added to the `wsa:ReferenceParameters` element.
      Throws:
        `IllegalArgumentException` - if `referenceParameter` is `null`.

    - #### metadata

          public W3CEndpointReferenceBuilder metadata(Element metadataElement)

      Adds the `metadataElement` to the `W3CEndpointReference` instance's `wsa:Metadata` element.
      Parameters:
        `metadataElement` - The element to be added to the `wsa:Metadata` element.
      Returns:
        A `W3CEndpointReferenceBuilder` instance with the `metadataElement` added to the `wsa:Metadata` element.
      Throws:
        `IllegalArgumentException` - if `metadataElement` is `null`.

    - #### build

          public W3CEndpointReference build()

      Builds a `W3CEndpointReference` from the accumulated properties set on this `W3CEndpointReferenceBuilder` instance.

      This method can be used to create a `W3CEndpointReference` for any endpoint by specifying the `address` property along with any other desired properties. This method can also be used to create a `W3CEndpointReference` for an endpoint that is published by the same Java EE application. This method can automatically determine the `address` of an endpoint published by the same Java EE application that is identified by the `serviceName` and `endpointName` properties. If the `address` is `null` and the `serviceName` and `endpointName` do not identify an endpoint published by the same Java EE application, a `java.lang.IllegalStateException` MUST be thrown.

      Returns:
        `W3CEndpointReference` from the accumulated properties set on this `W3CEndpointReferenceBuilder` instance. This method never returns `null`.
      Throws:
        `IllegalStateException` -
        - If the `address`, `serviceName` and `endpointName` are all `null`.
        - If the `serviceName` service is `null` and the `endpointName` is NOT `null`.
        - If the `address` property is `null` and the `serviceName` and `endpointName` do not specify a valid endpoint published by the same Java EE application.
        - If the `serviceName` is NOT `null` and is not present in the specified WSDL.
        - If the `endpointName` port is not `null`and it is not present in `serviceName` service in the WSDL.``
        - If the `wsdlDocumentLocation` is NOT `null` and does not represent a valid WSDL.
        `WebServiceException` - If an error occurs while creating the `W3CEndpointReference`.

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.