https://qpid.apache.org/releases/qpid-proton-0.36.0/proton/python/docs/proton.html#proton.int32
?

On Tue, 16 Nov 2021 at 15:54, Kai <sophokles...@gmail.com> wrote:
>
> Hi Gorden,
> I have set the PN_TRACE_FRM=1 environment variable and I can see that the
> "status" property is indeed included in the message sent. However, it seems
> to be encoded as a 64bit integer, i.e. as an AMQP 1.0 long. The consumer,
> however, expects it to be an AMQP 1.0 int. Is there a way to specify that
> the value (200) should be encoded as an int instead of a long?
>
> Kai
>
> On Tue, Nov 16, 2021 at 2:21 PM Gordon Sim <g...@redhat.com> wrote:
>
> > On Tue, Nov 16, 2021 at 12:17 PM Kai <sophokles...@gmail.com> wrote:
> > > I am trying to set some application properties on a message to be sent
> > > using Qpid Python 0.36 using the following code:
> > > msg = Message(
> > >                 body="the body",
> > >                 properties={
> > >                     "status": 200
> > >                 },
> > >                 address="reply-to-address",
> > >                 correlation_id="correlationId",
> > >                 content_type="text/plain"
> > >             )
> > >
> > > when I send this message then at the consumer side I am not able to
> > > retrieve the "status" from the message's application properties.
> >
> > It works for me (sending message above, I can print out the properties
> > in a receiver and see the status set as expected). If you run the
> > python program with PN_TRACE_FRM=1, what do you see for the transfer
> > content?
> >
> >
> > (I see "\x00SpE\x00Ss\xd0\x00\x00\x005\x00\x00\x00\x07@
> > @\xa1\x10reply-to-address@
> > @\xa1\x0dcorrelationId\xa3\x0atext/plain\x00St\xd1\x00\x00\x00\x15\x00\x00\x00\x02\xa1\x06status\x81\x00\x00\x00\x00\x00\x00\x00\xc8\x00Sw\xa1\x08the
> > body" using
> >
> > #!/usr/bin/env python
> >
> > from proton import Message
> > from proton.handlers import MessagingHandler
> > from proton.reactor import Container
> >
> > class Test(MessagingHandler):
> >     def __init__(self, url):
> >         super(Test, self).__init__()
> >         self.url = url
> >         self.sent = False
> >
> >     def on_start(self, event):
> >         event.container.create_sender(self.url)
> >         event.container.create_receiver(self.url)
> >
> >     def on_sendable(self, event):
> >         if not self.sent:
> >             msg = Message(
> >                 body="the body",
> >                 properties={
> >                     "status": 200
> >                 },
> >                 address="reply-to-address",
> >                 correlation_id="correlationId",
> >                 content_type="text/plain"
> >             )
> >             event.sender.send(msg)
> >             self.sent = True
> >
> >     def on_message(self, event):
> >         print("properties:", event.message.properties)
> >         print("body:", event.message.body)
> >         event.receiver.close()
> >         event.connection.close()
> >
> >     def on_accepted(self, event):
> >         event.connection.close()
> >
> > try:
> >     Container(Test("localhost/examples")).run()
> > except KeyboardInterrupt:
> >     pass
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
> > For additional commands, e-mail: users-h...@qpid.apache.org
> >
> >

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org

Reply via email to