Class BindingID
- java.lang.Object
-
- com.sun.xml.ws.api.BindingID
-
public abstract class BindingID extends Object
Parsed binding ID string.BindingIDis an immutable object that represents a binding ID, much like howURLis a representation of an URL. LikeURL, this class offers a bunch of methods that let you query various traits/properties of a binding ID.BindingIDis extensible; one can plug in a parser fromStringtoBindingIDto 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,
BindingIDinstances do not necessarily have singleton semantics. Useequals(Object)for the comparison.BindingIDandWSBindingWSBindingis mutable and represents a particular "use" of aBindingID. As such, it has state like a list ofHandlers, 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
Fields Modifier and Type Field Description static com.sun.xml.ws.api.BindingID.SOAPHTTPImplSOAP11_HTTPConstant that represents SOAP1.1/HTTP.static com.sun.xml.ws.api.BindingID.SOAPHTTPImplSOAP11_HTTP_MTOMConstant that represents SOAP1.1/HTTP.static com.sun.xml.ws.api.BindingID.SOAPHTTPImplSOAP12_HTTPConstant that represents SOAP1.2/HTTP.static com.sun.xml.ws.api.BindingID.SOAPHTTPImplSOAP12_HTTP_MTOMConstant that represents SOAP1.2/HTTP.static com.sun.xml.ws.api.BindingID.SOAPHTTPImplX_SOAP12_HTTPConstant that represents implementation specific SOAP1.2/HTTP which is used to generate non-standard WSDLsstatic BindingIDXML_HTTPConstant that represents REST.
-
Constructor Summary
Constructors Constructor Description BindingID()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description booleancanGenerateWSDL()Returns true if this binding can generate WSDL.WSBindingcreateBinding()WSBindingcreateBinding(WSFeatureList features)WSBindingcreateBinding(jakarta.xml.ws.WebServiceFeature... features)WebServiceFeatureListcreateBuiltinFeatureList()Returna a newWebServiceFeatureListinstance that represents the features that are built into this binding ID.abstract CodeccreateEncoder(WSBinding binding)Creates a newCodecfor this binding.booleanequals(Object obj)Compares the equality based ontoString().StringgetParameter(String parameterName, String defaultValue)Returns a parameter of this binding ID.abstract SOAPVersiongetSOAPVersion()Gets the SOAP version of this binding.StringgetTransport()Returns wsdl:binding@transport attribute.inthashCode()static BindingIDparse(Class<?> implClass)Figures out the binding fromBindingTypeannotation.static BindingIDparse(String lexical)Parses a binding ID string into aBindingIDobject.abstract StringtoString()Gets the binding ID, which uniquely identifies the binding.
-
-
-
Field Detail
-
X_SOAP12_HTTP
public static final com.sun.xml.ws.api.BindingID.SOAPHTTPImpl X_SOAP12_HTTP
Constant 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_HTTP
Constant that represents SOAP1.2/HTTP.
-
SOAP11_HTTP
public static final com.sun.xml.ws.api.BindingID.SOAPHTTPImpl SOAP11_HTTP
Constant that represents SOAP1.1/HTTP.
-
SOAP12_HTTP_MTOM
public static final com.sun.xml.ws.api.BindingID.SOAPHTTPImpl SOAP12_HTTP_MTOM
Constant that represents SOAP1.2/HTTP.
-
SOAP11_HTTP_MTOM
public static final com.sun.xml.ws.api.BindingID.SOAPHTTPImpl SOAP11_HTTP_MTOM
Constant that represents SOAP1.1/HTTP.
-
XML_HTTP
public static final BindingID XML_HTTP
Constant that represents REST.
-
-
Method Detail
-
createBinding
@NotNull public final WSBinding createBinding()
- Returns:
- Always a new instance.
-
getTransport
@NotNull public String 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
@NotNull public final WSBinding createBinding(jakarta.xml.ws.WebServiceFeature... features)
-
createBinding
@NotNull public final WSBinding createBinding(WSFeatureList features)
-
getSOAPVersion
public abstract SOAPVersion 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
@NotNull public abstract Codec createEncoder(@NotNull WSBinding binding)
Creates a newCodecfor this binding.
-
toString
public abstract String 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
public WebServiceFeatureList 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
public String getParameter(String parameterName, String defaultValue)
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
public boolean equals(Object obj)
Compares the equality based ontoString().
-
parse
@NotNull public static BindingID parse(String lexical)
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:
jakarta.xml.ws.WebServiceException- If the binding ID is not understood.
-
parse
@NotNull public static BindingID parse(Class<?> implClass)
Figures out the binding fromBindingTypeannotation.- Returns:
- default to
SOAP11_HTTP, if no such annotation is present. - See Also:
parse(String)
-
-