Java Reference
In-Depth Information
Use literal message encoding
Use literal message encoding
You must use literal message encoding, not SOAP encoding.
Use 0 or 1 in the
Use 0 or 1 in the mustUnderstand
mustUnderstand attribute
attribute
If you use the soap:mustUnderstand attribute, use 0 to indicate “no” or “false” and 1 to
indicate “yes” or “true”.
Do not use dot notation in SOAP fault codes
Do not use dot notation to refine the meaning of a faultcode element, as allowed in
SOAP 1.1. For example, some implementations allow the following:
<soap:Fault...>
<faultcode>soap:Server.ProcessingError</faultcode>
</soap:Fault>
In this case, the ProcessingError it narrows the meaning of the error. The profile urges
you to instead leave all such detail information to the <faultstring> element.
Use HTTP 1.0 or 1.1
SOAP 1.1 indicates a binding for HTTP only, and the profile follows suit. You must use
HTTP POST, and not the HTTP Extension Framework, which the SOAP 1.1 spec allows.
Do not rely on SOAP Action
Do not rely on SOAP Action
While SOAP Action is intended to help indicate what operation to route messages to, it
must be used only as a hint. The service disallows use of SOAP Action, so that all pertin-
ent information is carried in the SOAP envelope, and not HTTP headers.
Use quoted strings for SOAP Action
Use quoted strings for SOAP Action
All SOAP actions must be specified in the WSDL using a quoted string. But even if you
do notspecify a SOAP action for an operation, you must use an empty string for its value,
like this:
<soap:operation soapAction="" />
Use HTTP status codes
Use HTTP status codes
If the service processed a request properly and does not contain a fault, the 200 OK HTTP
status code should be used in the response.
Services should return the 307 Temporary Redirect HTTP status code to indicate to the
user agent whether to use the original method or HTTP GET. It is optional for service con-
Search WWH ::




Custom Search