ISSUE-69: Ambiguity in spec. and potential interoperability problem with BytesMessage payload

Ambiguity in spec. and potential interoperability problem with BytesMessage payload

State:
CLOSED
Product:
SOAP-JMS Binding specification
Raised by:
Mark Phillips
Opened on:
2010-12-16
Description:
The binding specification states that the JMS Message should be either BytesMessage or TextMessage, but it is not specific about which JMS API methods are used to read and write the message payload. For TextMessage this is not a problem because there are only two methods (setText and getText) but there are many different methods for composing and reading a BytesMessage.

The choice of methods on BytesMessage leads to a potential interoperability problem. For example, in IBM we have seen problems where one system writes a BytesMessage payload with the writeBytes() method, and another system attempts to read the message with the readUTF() method. The readUTF() fails or produces unpredictable results because the payload has not been formatted as a length-prefixed Java UTF8 string.

This is a simple problem to solve for organisations that own (and can modify) both sending and receiving applications to ensure that they write and read the BytesMessage in a consistent way, but if the message is written or read inconsistently by different vendor's middleware stacks (as could be the case with SOAP/JMS) then it will lead to incompatible implementations.

Proposal
========
To remove this ambiguity I propose the following amendment to the SOAP JMS binding spec.:

In section 2.4, after the sentence...

"The contents of the JMS Message body MUST be the SOAP payload as a JMS BytesMessage or TextMessage."

...add a new sentence which reads:

"If the message is formatted as a JMS BytesMessage then the sender MUST write the payload with a writeBytes() method, and the receiver MUST read the payload with a readBytes() method.".

Related Actions Items:
No related actions
Related emails:
  1. Agenda for 2011-01-04 conference call - Regrets (from peaston@progress.com on 2011-01-04)
  2. Agenda for 2011-01-04 conference call (from eric@tibco.com on 2011-01-03)
  3. ACTION-236 complete (from M8PHILLI@uk.ibm.com on 2010-12-21)
  4. Agenda for 2010-12-21 conference call (from eric@tibco.com on 2010-12-20)
  5. Agenda for 2010-12-14 conference call (from eric@tibco.com on 2010-12-20)
  6. Completion of ACTION-235 (from M8PHILLI@uk.ibm.com on 2010-12-16)
  7. ISSUE-69: Ambiguity in spec. and potential interoperability problem with BytesMessage payload [SOAP-JMS Binding specification] (from sysbot+tracker@w3.org on 2010-12-16)

Related notes:

Opened as per:
http://www.w3.org/2010/12/21-soap-jms-minutes.html

Eric Johnson, 3 Jan 2011, 22:33:11

Amended proposal accepted as per:
http://www.w3.org/2010/12/21-soap-jms-minutes.html

Eric Johnson, 3 Jan 2011, 22:33:35

Application of resolution approved:
http://www.w3.org/2011/01/04-soap-jms-minutes.html

Eric Johnson, 10 Jan 2011, 18:52:56

Display change log ATOM feed


Chair, Staff Contact
Tracker: documentation, (configuration for this group), originally developed by Dean Jackson, is developed and maintained by the Systems Team <w3t-sys@w3.org>.
$Id: 69.html,v 1.1 2013-09-16 14:06:37 carine Exp $