Aha, that's it! Thanks for the pointer, Robbie :-) On Tue, Nov 16, 2021 at 5:10 PM Robbie Gemmell <robbie.gemm...@gmail.com> wrote:
> > 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 > >