[
https://issues.apache.org/jira/browse/PROTON-2574?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17563052#comment-17563052
]
Robbie Gemmell commented on PROTON-2574:
----------------------------------------
You are correct about what the spec says, this has been noted before by myself
and others many years ago. In discussion at the time however both of the
primary authors of the AMQP 1.0 spec, who both also wrote the initial versions
of Proton, said it was unintended from the wording i.e they intended to allow
no-body section the same as all the other sections do. Between that and the
fact clients had already been doing it for many years before the issue was
first pointed out, it was decided not to change it as doing so wouldnt stop
recipients needing to deal with it anyway for all the existing clients. I'll
leave this open for now in case any of the devs feel differently now but I
would guess not.
> ProtonPython3 doesn't include body session in message if body is set to null
> ----------------------------------------------------------------------------
>
> Key: PROTON-2574
> URL: https://issues.apache.org/jira/browse/PROTON-2574
> Project: Qpid Proton
> Issue Type: Bug
> Components: python-binding
> Affects Versions: proton-c-0.37.0
> Environment: Ubuntu 20.04 in WSL2, python3-qpid-proton/focal,now
> 0.37.0-1focal+qpid1 amd64, Python 3.8.10, broker is vromero/activemq-artemis
> running in docker
> Reporter: Minghua Wu
> Priority: Minor
> Attachments: simple_sender.py
>
>
> According to page 82 of the specification
> {quote}• The body consists of one of the following three choices: one or more
> data sections, one or more amqp-sequence sections, or a single amqp-value
> section
> {quote}
> There should be *at least one* body section. However, when the body of the
> message is set to None (which probably should be encoded as amqp-value),
> there is not any body section found the in receiver side (ie. the payload
> doesn't come with any section that has the descriptor code 0x75, 0x76 or 0x77)
> A modified "simple_sender.py" example, which is attached, is used as the
> sender, and the payload bytes received by the receiver are w[ 0x0, 0x53,
> 0x70, 0x45, 0x0, 0x53, 0x73, 0x45 ] which contains one empty header section
> (0x70), one empty properties section (0x73) but no body section (any of 0x75,
> 0x76 or 0x77).
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]