This feature clarifies the use of the wsdl:binding
in a JAX-WS runtime.
This feature is only useful with web services that have an
associated WSDL. Enabling this feature requires that a JAX-WS
implementation inspect the wsdl:binding for an
endpoint at runtime to make sure that all wsdl:extensions
that have the required attribute set to true
are understood and are being used.
The following describes the affects of this feature with respect
to be enabled or disabled:
ENABLED: In this Mode, a JAX-WS runtime MUST assure that all
required wsdl:binding extensions are either understood
and used by the runtime, or explicitly disabled by the web service
application. A web service application can disable a particular
extension that has a known WebServiceFeature using either the appropriate
annotation associated with that WebServiceFeature on the server, or one of
the following methods on the client:
One of the getXXXPort(WebServiceFeatures...) methods on a
generated Service.
The runtime MUST also make sure that binding of
SEI parameters/return values respect the wsdl:binding.
With this feature enabled, if a required (wsdl:required="true")
wsdl:binding extension is in the WSDL and it is not
supported by a JAX-WS runtime and it has not
been explicitly turned off by the web service developer, then
that JAX-WS runtime MUST behave appropriately based on whether it is
on the client or server:
Client: runtime MUST throw a
WebServiceException no sooner than when one of the methods
above is invoked but no later than the first invocation of an endpoint
operation.
Server: throw a WebServiceException and the endpoint MUST fail to deploy
DISABLED: In this Mode, an implementation may choose whether
to inspect the wsdl:binding or not and to what degree
the wsdl:binding will be inspected. For example,
one implementation may choose to behave as if this feature is enabled,
another implementation may only choose to verify the SEI's
parameter/return type bindings.
Submit a bug or feature For further API reference and developer documentation, see Java SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.