- java.lang.Object
-
- jakarta.xml.ws.wsaddressing.W3CEndpointReferenceBuilder
-
public final class W3CEndpointReferenceBuilder extends Object
This class is used to buildW3CEndpointReferenceinstances. The intended use of this clsss is for an application component, for example a factory component, to create anW3CEndpointReferencefor a web service endpoint published by the same Jakarta EE application. It can also be used to createW3CEndpointReferencesfor an Java SE based endpoint by providing theaddressproperty.When creating a
W3CEndpointReferencefor an endpoint that is not published by the same Jakarta EE application, theaddressproperty MUST be specified.When creating a
W3CEndpointReferencefor an endpoint published by the same Jakarta EE application, theaddressproperty MAY benullbut then theserviceNameandendpointNameMUST specify an endpoint published by the same Jakarta EE application.When the
wsdlDocumentLocationis specified it MUST refer to a valid WSDL document and theserviceNameandendpointName(if specified) MUST match a service and port in the WSDL document.
-
-
Constructor Summary
Constructors Constructor Description W3CEndpointReferenceBuilder()Creates a newW3CEndpointReferenceBuilderinstance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description W3CEndpointReferenceBuilderaddress(String address)Sets theaddressto theW3CEndpointReferenceinstance'swsa:Address.W3CEndpointReferenceBuilderattribute(QName name, String value)Adds an extension attribute to theW3CEndpointReferenceinstance'swsa:EndpointReferenceelement.W3CEndpointReferencebuild()Builds aW3CEndpointReferencefrom the accumulated properties set on thisW3CEndpointReferenceBuilderinstance.W3CEndpointReferenceBuilderelement(Element element)Adds an extension element to theW3CEndpointReferenceinstance'swsa:EndpointReferenceelement.W3CEndpointReferenceBuilderendpointName(QName endpointName)Sets theendpointNameaswsam:ServiceName/@EndpointNamein thewsa:Metadataelement.W3CEndpointReferenceBuilderinterfaceName(QName interfaceName)Sets theinterfaceNameas thewsam:InterfaceNameelement in thewsa:Metadataelement.W3CEndpointReferenceBuildermetadata(Element metadataElement)Adds themetadataElementto theW3CEndpointReferenceinstance'swsa:Metadataelement.W3CEndpointReferenceBuilderreferenceParameter(Element referenceParameter)Adds thereferenceParameterto theW3CEndpointReferenceinstancewsa:ReferenceParameterselement.W3CEndpointReferenceBuilderserviceName(QName serviceName)Sets theserviceNameas thewsam:ServiceNameelement in thewsa:Metadataelement.W3CEndpointReferenceBuilderwsdlDocumentLocation(String wsdlDocumentLocation)Sets thewsdlDocumentLocationthat will be referenced aswsa:Metadata/@wsdli:wsdlLocation.
-
-
-
Method Detail
-
address
public W3CEndpointReferenceBuilder address(String address)
Sets theaddressto theW3CEndpointReferenceinstance'swsa:Address.The
addressMUST be set to a non-nullvalue when building aW3CEndpointReferencefor a web service endpoint that is not published by the same Jakarta EE application or when running on Java SE.- Parameters:
address- The address of the endpoint to be targeted by the returnedW3CEndpointReference.- Returns:
- A
W3CEndpointReferenceBuilderinstance with theaddressset to thewsa:Address.
-
interfaceName
public W3CEndpointReferenceBuilder interfaceName(QName interfaceName)
Sets theinterfaceNameas thewsam:InterfaceNameelement in thewsa:Metadataelement. See 2.1 Referencing WSDL Metadata from an EPR for more details.- Parameters:
interfaceName- The port type name of the endpoint to be targeted by the returnedW3CEndpointReference.- Returns:
- A
W3CEndpointReferenceBuilderinstance with theinterfaceNameaswsam:InterfaceNameelement added to thewsa:Metadataelement
-
serviceName
public W3CEndpointReferenceBuilder serviceName(QName serviceName)
Sets theserviceNameas thewsam:ServiceNameelement in thewsa:Metadataelement. See 2.1 Referencing WSDL Metadata from an EPR for more details.- Parameters:
serviceName- The service name of the endpoint to be targeted by the returnedW3CEndpointReference. This property may also be used with theendpointName(portName) property to lookup theaddressof a web service endpoint that is published by the same Jakarta EE application.- Returns:
- A
W3CEndpointReferenceBuilderinstance with theserviceNameaswsam:ServiceNameelement added to thewsa:Metadataelement
-
endpointName
public W3CEndpointReferenceBuilder endpointName(QName endpointName)
Sets theendpointNameaswsam:ServiceName/@EndpointNamein thewsa:Metadataelement. This method can only be called after theserviceName(QName)method has been called.See 2.1 Referencing WSDL Metadata from an EPR for more details.
- Parameters:
endpointName- The name of the endpoint to be targeted by the returnedW3CEndpointReference. TheendpointName(portName) property may also be used with theserviceNameproperty to lookup theaddressof a web service endpoint published by the same Jakarta EE application.- Returns:
- A
W3CEndpointReferenceBuilderinstance with theendpointNameaswsam:ServiceName/@EndpointNamein thewsa:Metadataelement. - Throws:
IllegalStateException- if theserviceNamehas not been setIllegalArgumentException- if theendpointName's Namespace URI doesn't matchserviceName's Namespace URI
-
wsdlDocumentLocation
public W3CEndpointReferenceBuilder wsdlDocumentLocation(String wsdlDocumentLocation)
Sets thewsdlDocumentLocationthat will be referenced aswsa:Metadata/@wsdli:wsdlLocation. The namespace name for the wsdli:wsdlLocation's value can be taken from the WSDL itself.See 2.1 Referencing WSDL Metadata from an EPR for more details.
- Parameters:
wsdlDocumentLocation- The location of the WSDL document to be referenced in thewsa:Metadataof theW3CEndpointReference.- Returns:
- A
W3CEndpointReferenceBuilderinstance with thewsdlDocumentLocationthat is to be referenced.
-
referenceParameter
public W3CEndpointReferenceBuilder referenceParameter(Element referenceParameter)
Adds thereferenceParameterto theW3CEndpointReferenceinstancewsa:ReferenceParameterselement.- Parameters:
referenceParameter- The element to be added to thewsa:ReferenceParameterselement.- Returns:
- A
W3CEndpointReferenceBuilderinstance with thereferenceParameteradded to thewsa:ReferenceParameterselement. - Throws:
IllegalArgumentException- ifreferenceParameterisnull.
-
metadata
public W3CEndpointReferenceBuilder metadata(Element metadataElement)
Adds themetadataElementto theW3CEndpointReferenceinstance'swsa:Metadataelement.- Parameters:
metadataElement- The element to be added to thewsa:Metadataelement.- Returns:
- A
W3CEndpointReferenceBuilderinstance with themetadataElementadded to thewsa:Metadataelement. - Throws:
IllegalArgumentException- ifmetadataElementisnull.
-
element
public W3CEndpointReferenceBuilder element(Element element)
Adds an extension element to theW3CEndpointReferenceinstance'swsa:EndpointReferenceelement.- Parameters:
element- The extension element to be added to theW3CEndpointReference- Returns:
- A
W3CEndpointReferenceBuilderinstance with the extensionelementadded to theW3CEndpointReferenceinstance. - Throws:
IllegalArgumentException- ifelementisnull.
-
attribute
public W3CEndpointReferenceBuilder attribute(QName name, String value)
Adds an extension attribute to theW3CEndpointReferenceinstance'swsa:EndpointReferenceelement.- Parameters:
name- The name of the extension attribute to be added to theW3CEndpointReferencevalue- extension attribute value- Returns:
- A
W3CEndpointReferenceBuilderinstance with the extension attribute added to theW3CEndpointReferenceinstance. - Throws:
IllegalArgumentException- ifnameorvalueisnull.
-
build
public W3CEndpointReference build()
Builds aW3CEndpointReferencefrom the accumulated properties set on thisW3CEndpointReferenceBuilderinstance.This method can be used to create a
W3CEndpointReferencefor any endpoint by specifying theaddressproperty along with any other desired properties. This method can also be used to create aW3CEndpointReferencefor an endpoint that is published by the same Jakarta EE application. This method can automatically determine theaddressof an endpoint published by the same Jakarta EE application that is identified by theserviceNameandendpointNameproperties. If theaddressisnulland theserviceNameandendpointNamedo not identify an endpoint published by the same Jakarta EE application, ajava.lang.IllegalStateExceptionMUST be thrown.- Returns:
W3CEndpointReferencefrom the accumulated properties set on thisW3CEndpointReferenceBuilderinstance. This method never returnsnull.- Throws:
IllegalStateException-- If the
address,serviceNameandendpointNameare allnull. - If the
serviceNameservice isnulland theendpointNameis NOTnull. - If the
addressproperty isnulland theserviceNameandendpointNamedo not specify a valid endpoint published by the same Jakarta EE application. - If the
serviceNameis NOTnulland is not present in the specified WSDL. - If the
endpointNameport is notnulland it is not present inserviceNameservice in the WSDL. - If the
wsdlDocumentLocationis NOTnulland does not represent a valid WSDL.
- If the
WebServiceException- If an error occurs while creating theW3CEndpointReference.
-
-