Validating soap message
WS-I prohibits the use of DTDs in WSDL definitions. The XML Specification does not require validation from XML processors.
The message / encoding styles rpc/encoded and rpc/literal are not supported (rpc/literal is hardly used). Unfortunately, SOAP:: WSDL can't even parse many rpc/encoded WSDL definitions, and thus cannot inform you about unsupported message styles in some situations. They can be as well-defined and useful as the document/literal variant.
rpc/encoded is prohibited by the WS-I Basic Profile.
SOAP:: WSDL:: Manual:: FAQ - Frequently Asked Questions (and answers) Yes. You should - as always - apply common sense and take appropriate safety measures, especially if running SOAP:: WSDL as a server. Future versions of SOAP:: WSDL may require you to re-generate interfaces in order to use them. rpc/literal is RPC with named parameters, whereas rpc/encoded corresponds to positional parameters.
The difference between rpc and document is that rpc SOAP messages have an additional container named after the remote procedure called.
However, rpc/encoded is still popular, especially for scripting languages like perl, python or php.
You should probably use SOAP:: Lite for rpc/encoded web services.
All the document/rpc literal/encoded discussion will cede with WSDL2.0: These variants are dropped in favour of an extensible operation style mechanism. SOAP:: WSDL can use WSDL definitions containing namespaces, and emits SOAP messages with namespace information.Its SOAP message parser however, is not namespace sensitive but uses the pre-shared information from the WSDL for looking up what each XML node means.Occurrence, ordering, value-spaces, and identity constraints are not checked.No, SOAP:: WSDL does not perform XML Validation (that is, validation against a DTD).
No, SOAP:: WSDL does not perform XML Schema Validation.
It does, however, enforce the correct structure on both XML and perl data.