Java Reference
In-Depth Information
Do not use encoding
Do not use encoding
The BP does not allow use of the RPC/encoded or document/encoded style, as they are not
interoperable. You should only use document/Literal or RPC/literal in the wsdl:binding
element.
The SOAP body element should only contain a single child, and RPC/encoded allows
for multiple children. Also, it does not allow for message validation, and children are not
namespace-qualified.
Modular WSDLs
The WSDL spec and the WS-I recommend separating WSDL files into modular compon-
ents such as external schema definitions, and creating separate physical files for the con-
crete and abstract WSDLs. This is illustrated in Using Modular WSDLs .
Use SOAP binding
Use SOAP binding
Though web services are often touted as having the ability to abstract message and opera-
tion content away from the underlying transport layer, only SOAP is supported by the BP
in wsdl:binding elements.
Beware of SOAP Actor
Beware of SOAP Actor
The SOAP Actor attribute represents a private agreement between the service consumer
and the service provider, unless you're using http://schemas.xmlsoap.org/soap/act-
or/next as a pass-through.
There are all sorts of common-sense directives in the BP, including things like “your WSDL
has to be valid according to the WSDL schema” (section 4.2). Hopefully this overview has
saved you some time by covering the less obvious points.
JAX-WS 2.x does a great job of conforming with BP 1.1, so in general a lot of interoperability
issues are solved for us. The .NET 3.5 framework does a good job of generating compliant
WSDLs as well.
Search WWH ::




Custom Search