[ 
https://issues.apache.org/jira/browse/ARTEMIS-536?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15298560#comment-15298560
 ] 

Robbie Gemmell commented on ARTEMIS-536:
----------------------------------------

FWIW while the changing of body section type within the broker is indeed a 
defect (it being an immutable section per the spec, which a server might not 
even bother to decode as result) and so maintaining the section type in transit 
as this will is definitely correct, what it was doing before likely isn't 
sending 'a list within a sequence' as such.

An amqp-sequence section is essentially another kind of list with an expanded 
descriptor, its a section that you can send more than one of in a message 
(unlike amqp-value which might contain a single list), and its implementation 
in proton-j is just as a class that takes a list of the elements in the 
sequence. Unless you feed it a list that itself contains another list, its just 
an amqp-sequence of elements going out on the wire. Some receiving clients of 
course might handle a sequence section type completely differently than a 
value+list, while others might not.

> AMQP List messages are decoded properly on outbound
> ---------------------------------------------------
>
>                 Key: ARTEMIS-536
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-536
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>            Reporter: Martyn Taylor
>
> The AMQP-JMS transformer does not distinguish between amqp:sequence and 
> amqp:list types.  This can result in decoding of incorrect message body.  If 
> a list type is sent from a client, the decoder may decode it as a sequence 
> type, with a single list element.
> This can result in:
> Client sends [foo, bar]
> Client receives [[foo, bar]]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to