Class BindingID
BindingID is an immutable object that represents a binding ID,
much like how URL is a representation of an URL.
Like URL, this class offers a bunch of methods that let you
query various traits/properties of a binding ID.
BindingID is extensible; one can plug in a parser from
String to BindingID to interpret binding IDs that
the JAX-WS RI does no a-priori knowledge of.
Technologies such as Tango uses this to make the JAX-WS RI understand
binding IDs defined in their world.
Such technologies are free to extend this class and expose more characterstics.
Even though this class defines a few well known constants, BindingID
instances do not necessarily have singleton semantics. Use equals(Object)
for the comparison.
BindingID and WSBinding
WSBinding is mutable and represents a particular "use" of a BindingID.
As such, it has state like a list of Handlers, which are inherently local
to a particular usage. For example, if you have two proxies, you need two instances.
BindingID, OTOH, is immutable and thus the single instance
that represents "SOAP1.2/HTTP" can be shared and reused by all proxies in the same VM.
- Author:
- Kohsuke Kawaguchi
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final com.sun.xml.ws.api.BindingID.SOAPHTTPImplConstant that represents SOAP1.1/HTTP.static final com.sun.xml.ws.api.BindingID.SOAPHTTPImplConstant that represents SOAP1.1/HTTP.static final com.sun.xml.ws.api.BindingID.SOAPHTTPImplConstant that represents SOAP1.2/HTTP.static final com.sun.xml.ws.api.BindingID.SOAPHTTPImplConstant that represents SOAP1.2/HTTP.static final com.sun.xml.ws.api.BindingID.SOAPHTTPImplConstant that represents implementation specific SOAP1.2/HTTP which is used to generate non-standard WSDLsstatic final BindingIDConstant that represents REST. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanReturns true if this binding can generate WSDL.final WSBindingfinal WSBindingcreateBinding(WSFeatureList features) final WSBindingcreateBinding(javax.xml.ws.WebServiceFeature... features) Returna a newWebServiceFeatureListinstance that represents the features that are built into this binding ID.abstract CodeccreateEncoder(WSBinding binding) Creates a newCodecfor this binding.booleanCompares the equality based ontoString().getParameter(String parameterName, String defaultValue) Returns a parameter of this binding ID.abstract SOAPVersionGets the SOAP version of this binding.Returns wsdl:binding@transport attribute.inthashCode()static BindingIDFigures out the binding fromBindingTypeannotation.static BindingIDParses a binding ID string into aBindingIDobject.abstract StringtoString()Gets the binding ID, which uniquely identifies the binding.
-
Field Details
-
X_SOAP12_HTTP
public static final com.sun.xml.ws.api.BindingID.SOAPHTTPImpl X_SOAP12_HTTPConstant that represents implementation specific SOAP1.2/HTTP which is used to generate non-standard WSDLs -
SOAP12_HTTP
public static final com.sun.xml.ws.api.BindingID.SOAPHTTPImpl SOAP12_HTTPConstant that represents SOAP1.2/HTTP. -
SOAP11_HTTP
public static final com.sun.xml.ws.api.BindingID.SOAPHTTPImpl SOAP11_HTTPConstant that represents SOAP1.1/HTTP. -
SOAP12_HTTP_MTOM
public static final com.sun.xml.ws.api.BindingID.SOAPHTTPImpl SOAP12_HTTP_MTOMConstant that represents SOAP1.2/HTTP. -
SOAP11_HTTP_MTOM
public static final com.sun.xml.ws.api.BindingID.SOAPHTTPImpl SOAP11_HTTP_MTOMConstant that represents SOAP1.1/HTTP. -
XML_HTTP
Constant that represents REST.
-
-
Constructor Details
-
BindingID
public BindingID()
-
-
Method Details
-
createBinding
- Returns:
- Always a new instance.
-
getTransport
Returns wsdl:binding@transport attribute. Sub classes are expected to override this method to provide their transport attribute.- Returns:
- wsdl:binding@transport attribute
- Since:
- JAX-WS RI 2.1.6
-
createBinding
-
createBinding
-
getSOAPVersion
Gets the SOAP version of this binding. TODO: clarify what to do with XML/HTTP binding- Returns:
- If the binding is using SOAP, this method returns
a
SOAPVersionconstant. If the binding is not based on SOAP, this method returns null. SeeMessagefor how a non-SOAP binding shall be handled byTubes.
-
createEncoder
Creates a newCodecfor this binding. -
toString
Gets the binding ID, which uniquely identifies the binding.The relevant specs define the binding IDs and what they mean. The ID is used in many places to identify the kind of binding (such as SOAP1.1, SOAP1.2, REST, ...)
-
createBuiltinFeatureList
Returna a newWebServiceFeatureListinstance that represents the features that are built into this binding ID.For example,
BindingIDfor"{@value SOAPBinding#SOAP11HTTP_MTOM_BINDING}"would always return a list that hasMTOMFeatureenabled. -
canGenerateWSDL
public boolean canGenerateWSDL()Returns true if this binding can generate WSDL.For e.g.: SOAP 1.1 and "XSOAP 1.2" is supposed to return true from this method. For SOAP1.2, there is no standard WSDL, so the runtime is not generating one and it expects the WSDL is packaged.
-
getParameter
Returns a parameter of this binding ID.Some binding ID, such as those for SOAP/HTTP, uses the URL query syntax (like
?mtom=true) to control the optional part of the binding. This method obtains the value for such optional parts.For implementors of the derived classes, if your binding ID does not define such optional parts (such as the XML/HTTP binding ID), then you should simply return the specified default value (which is what this implementation does.)
- Parameters:
parameterName- The parameter name, such as "mtom" in the above example.defaultValue- If this binding ID doesn't have the specified parameter explicitly, this value will be returned.- Returns:
- the value of the parameter, if it's present (such as "true"
in the above example.) If not present, this method returns
the
defaultValue.
-
equals
Compares the equality based ontoString(). -
hashCode
public int hashCode() -
parse
Parses a binding ID string into aBindingIDobject.This method first checks for a few known values and then delegate the parsing to
BindingIDFactory.If parsing succeeds this method returns a value. Otherwise throws
WebServiceException.- Throws:
javax.xml.ws.WebServiceException- If the binding ID is not understood.
-
parse
Figures out the binding fromBindingTypeannotation.- Returns:
- default to
SOAP11_HTTP, if no such annotation is present. - See Also:
-