java.lang.Object
com.sun.xml.ws.binding.BindingImpl
- All Implemented Interfaces:
WSBinding
,jakarta.xml.ws.Binding
- Direct Known Subclasses:
HTTPBindingImpl
,SOAPBindingImpl
Instances are created by the service, which then
sets the handler chain on the binding impl.
This class is made abstract as we don't see a situation when a BindingImpl has much meaning without binding id. IOW, for a specific binding there will be a class extending BindingImpl, for example SOAPBindingImpl.
The spi Binding interface extends Binding.
- Author:
- WS Development Team
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static class
Experimental: Identify messages based on the name of the message and the operation that uses this message. -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final jakarta.xml.ws.WebServiceFeature[]
protected final Map<BindingImpl.MessageKey,
WebServiceFeatureList> protected final WebServiceFeatureList
protected final Map<QName,
WebServiceFeatureList> protected MessageContextFactory
protected final Map<QName,
WebServiceFeatureList> protected final Map<QName,
WebServiceFeatureList> protected jakarta.xml.ws.Service.Mode
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
BindingImpl
(BindingID bindingId, jakarta.xml.ws.WebServiceFeature... features) -
Method Summary
Modifier and TypeMethodDescriptionboolean
addKnownHeader
(QName headerQName) Adds header QName to set known to be supported by this bindingstatic BindingImpl
static BindingImpl
final Codec
Gets the WS-Addressing version of this binding.Gets the binding ID, which uniquely identifies the binding.static WSBinding
getFaultMessageFeatures
(QName operationName, QName messageName) Experimental: Returns a list of features associated withWSBinding
that apply to one of the fault messages of an operation.<F extends jakarta.xml.ws.WebServiceFeature>
FgetFeature
(Class<F> featureType) Gets aWebServiceFeature
of the specific type.Returns a list of features associated withWSBinding
.List<jakarta.xml.ws.handler.Handler>
getInputMessageFeatures
(QName operationName) Experimental: Returns a list of features associated withWSBinding
that apply to the input message of an operation.Returns set of header QNames known to be supported by this binding.<F extends jakarta.xml.ws.WebServiceFeature>
FgetOperationFeature
(Class<F> featureType, QName operationName) Experimental: Gets aWebServiceFeature
of the specific type that applies to an operation.getOperationFeatures
(QName operationName) Experimental: Returns a list of features associated withWSBinding
that apply to a particular operation.getOutputMessageFeatures
(QName operationName) Experimental: Returns a list of features associated withWSBinding
that apply to the output message of an operation.final SOAPVersion
Gets the SOAP version of this binding.static void
boolean
isFeatureEnabled
(Class<? extends jakarta.xml.ws.WebServiceFeature> feature) Checks if a particularWebServiceFeature
is enabled.boolean
isOperationFeatureEnabled
(Class<? extends jakarta.xml.ws.WebServiceFeature> featureType, QName operationName) Experimental: Checks if a particularWebServiceFeature
on an operation is enabled.void
setFaultMessageFeatures
(QName operationName, QName messageName, jakarta.xml.ws.WebServiceFeature... newFeatures) protected void
setHandlerConfig
(HandlerConfiguration handlerConfig) void
setInputMessageFeatures
(QName operationName, jakarta.xml.ws.WebServiceFeature... newFeatures) void
setMode
(jakarta.xml.ws.Service.Mode mode) void
setOperationFeatures
(QName operationName, jakarta.xml.ws.WebServiceFeature... newFeatures) void
setOutputMessageFeatures
(QName operationName, jakarta.xml.ws.WebServiceFeature... newFeatures) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface jakarta.xml.ws.Binding
setHandlerChain
-
Field Details
-
EMPTY_FEATURES
protected static final jakarta.xml.ws.WebServiceFeature[] EMPTY_FEATURES -
features
-
operationFeatures
-
inputMessageFeatures
-
outputMessageFeatures
-
faultMessageFeatures
-
serviceMode
protected jakarta.xml.ws.Service.Mode serviceMode -
messageContextFactory
-
-
Constructor Details
-
BindingImpl
-
-
Method Details
-
getHandlerChain
- Specified by:
getHandlerChain
in interfacejakarta.xml.ws.Binding
- Specified by:
getHandlerChain
in interfaceWSBinding
-
getHandlerConfig
-
setHandlerConfig
-
setMode
public void setMode(@NotNull jakarta.xml.ws.Service.Mode mode) -
getKnownHeaders
Description copied from interface:WSBinding
Returns set of header QNames known to be supported by this binding.- Specified by:
getKnownHeaders
in interfaceWSBinding
- Returns:
- Set of known QNames
-
addKnownHeader
Description copied from interface:WSBinding
Adds header QName to set known to be supported by this binding- Specified by:
addKnownHeader
in interfaceWSBinding
- Parameters:
headerQName
- Known header QName- Returns:
- true, if new entry was added; false, if known header QName was already known
-
getBindingId
Description copied from interface:WSBinding
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, ...)
- Specified by:
getBindingId
in interfaceWSBinding
- Returns:
- Always non-null same value.
-
getSOAPVersion
Description copied from interface:WSBinding
Gets the SOAP version of this binding. TODO: clarify what to do with XML/HTTP bindingThis is just a short-cut for
getBindingID().getSOAPVersion()
- Specified by:
getSOAPVersion
in interfaceWSBinding
- Returns:
- If the binding is using SOAP, this method returns
a
SOAPVersion
constant. If the binding is not based on SOAP, this method returns null. SeeMessage
for how a non-SOAP binding shall be handled byTube
s.
-
getAddressingVersion
Description copied from interface:WSBinding
Gets the WS-Addressing version of this binding.
TODO: clarify what to do with XML/HTTP binding- Specified by:
getAddressingVersion
in interfaceWSBinding
- Returns:
- If the binding is using SOAP and WS-Addressing is enabled,
this method returns a
AddressingVersion
constant. If binding is not using SOAP or WS-Addressing is not enabled, this method returns null. This might be little slow as it has to go over all the features on binding. Its advisable to cache the addressingVersion wherever possible and reuse it.
-
createCodec
-
initializeJavaActivationHandlers
public static void initializeJavaActivationHandlers() -
create
-
create
public static BindingImpl create(@NotNull BindingID bindingId, jakarta.xml.ws.WebServiceFeature[] features) -
getDefaultBinding
-
getBindingID
- Specified by:
getBindingID
in interfacejakarta.xml.ws.Binding
-
getFeature
@Nullable public <F extends jakarta.xml.ws.WebServiceFeature> F getFeature(@NotNull Class<F> featureType) Description copied from interface:WSBinding
Gets aWebServiceFeature
of the specific type.- Specified by:
getFeature
in interfaceWSBinding
- Parameters:
featureType
- The type of the feature to retrieve.- Returns:
- If the feature is present and enabled, return a non-null instance. Otherwise null.
-
getOperationFeature
@Nullable public <F extends jakarta.xml.ws.WebServiceFeature> F getOperationFeature(@NotNull Class<F> featureType, @NotNull QName operationName) Description copied from interface:WSBinding
Experimental: Gets aWebServiceFeature
of the specific type that applies to an operation.- Specified by:
getOperationFeature
in interfaceWSBinding
- Parameters:
featureType
- The type of the feature to retrieve.operationName
- The WSDL name of the operation.- Returns:
- If the feature is present and enabled, return a non-null instance. Otherwise null.
-
isFeatureEnabled
Description copied from interface:WSBinding
Checks if a particularWebServiceFeature
is enabled.- Specified by:
isFeatureEnabled
in interfaceWSBinding
- Returns:
- true if enabled.
-
isOperationFeatureEnabled
public boolean isOperationFeatureEnabled(@NotNull Class<? extends jakarta.xml.ws.WebServiceFeature> featureType, @NotNull QName operationName) Description copied from interface:WSBinding
Experimental: Checks if a particularWebServiceFeature
on an operation is enabled.- Specified by:
isOperationFeatureEnabled
in interfaceWSBinding
operationName
- The WSDL name of the operation.- Returns:
- true if enabled.
-
getFeatures
Description copied from interface:WSBinding
Returns a list of features associated withWSBinding
.- Specified by:
getFeatures
in interfaceWSBinding
-
getOperationFeatures
Description copied from interface:WSBinding
Experimental: Returns a list of features associated withWSBinding
that apply to a particular operation.- Specified by:
getOperationFeatures
in interfaceWSBinding
- Parameters:
operationName
- The WSDL name of the operation.
-
getInputMessageFeatures
Description copied from interface:WSBinding
Experimental: Returns a list of features associated withWSBinding
that apply to the input message of an operation.- Specified by:
getInputMessageFeatures
in interfaceWSBinding
- Parameters:
operationName
- The WSDL name of the operation.
-
getOutputMessageFeatures
Description copied from interface:WSBinding
Experimental: Returns a list of features associated withWSBinding
that apply to the output message of an operation.- Specified by:
getOutputMessageFeatures
in interfaceWSBinding
- Parameters:
operationName
- The WSDL name of the operation.
-
getFaultMessageFeatures
@NotNull public WebServiceFeatureList getFaultMessageFeatures(@NotNull QName operationName, @NotNull QName messageName) Description copied from interface:WSBinding
Experimental: Returns a list of features associated withWSBinding
that apply to one of the fault messages of an operation.- Specified by:
getFaultMessageFeatures
in interfaceWSBinding
- Parameters:
operationName
- The WSDL name of the operation.messageName
- The WSDL name of the fault message.
-
setOperationFeatures
public void setOperationFeatures(@NotNull QName operationName, jakarta.xml.ws.WebServiceFeature... newFeatures) -
setInputMessageFeatures
public void setInputMessageFeatures(@NotNull QName operationName, jakarta.xml.ws.WebServiceFeature... newFeatures) -
setOutputMessageFeatures
public void setOutputMessageFeatures(@NotNull QName operationName, jakarta.xml.ws.WebServiceFeature... newFeatures) -
setFaultMessageFeatures
-
getMessageContextFactory
- Specified by:
getMessageContextFactory
in interfaceWSBinding
- Returns:
- A MessageContextFactory configured according to the binding's features.
-