David Ansari created QPIDJMS-633:
------------------------------------

             Summary: Qpid JMS client sends bodiless AMQP message
                 Key: QPIDJMS-633
                 URL: https://issues.apache.org/jira/browse/QPIDJMS-633
             Project: Qpid JMS
          Issue Type: Bug
          Components: qpid-jms-client
    Affects Versions: 2.11.0
            Reporter: David Ansari


A JMS Message created with {{Session.createMessage()}} carries no body, and the 
Qpid JMS client encodes it as an AMQP 1.0 message with no body section at all.

[AMQP 1.0 section 
3.2|https://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#section-message-format]
 is unambiguous that this is not allowed: it lists every other section as "zero 
or one", but the body as one of three mandatory choices (one or more data 
sections, one or more amqp-sequence sections, or a single amqp-value section).

Additionally, the AMQP JMS Mapping is explicit about which of those a bodiless 
JMS Message maps to - section 3.2.4.7 states that "a Message is encoded as a 
single amqp-value section containing null".

Brokers that enforce this requirement therefore reject every message sent by 
{{{}Session.createMessage(){}}}; RabbitMQ, for instance, refuses the transfer 
with `amqp:decode-error "missing_amqp_message_body".

[https://github.com/apache/qpid-jms/pull/73] suggests a fix to this bug.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to