ISSUE-33: Assertion 'Protocol-2014' is probably unnecessary [SOAP-JMS Binding specification]
http://www.w3.org/2002/ws/soapjms/tracker/issues/33
Raised by: Phil Adams
On product: SOAP-JMS Binding specification
The 'Protocol-2014' assertion that appears in the binding spec is described in the context of the contentType property definition and is worded like this:
"If no charset parameter is supplied the charset MUST be inferred using the rules defined in appendix F, Autodetection of Character Encodings , [XML 1.0]."
I think this assertion is unnecessary for these reasons:
1) The SOAP 1.1 spec (http://www.w3.org/TR/2000/NOTE-SOAP-20000508/) makes no mention of the "charset" attribute (or of the Content-Type header for that matter), other than within examples of HTTP messages.
2) The SOAP 2.2 spec (http://www.w3.org/TR/2007/REC-soap12-part0-20070427/) makes only a single reference to the "charset" attribute (except for examples):
"When placing SOAP messages in HTTP bodies, the HTTP Content-type header must be chosen as "application/soap+xml" [RFC 3902]. (The optional charset parameter, which can take the value of "utf-8" or "utf-16", is shown in this example, but if it is absent the character set rules for freestanding [XML 1.0] apply to the body of the HTTP request.)"
I think we should back off from our fairly rigid assertion and perhaps use a statement similar to the one above in the SOAP 1.2 spec.
My proposal is that we change the SOAP/JMS binding spec so that this sentence:
"If no charset parameter is supplied the charset MUST be inferred using the rules defined in appendix F, Autodetection of Character Encodings , [XML 1.0]."
now reads as follows:
"The charset parameter is optional and can take the values "utf-8" or "utf-16". If the charset parameter is omitted, the character set rules for freestanding [XML 1.0] apply to the body of the JMS message."