python3 using qpid::proton with Solace pubsub+ broker

coz787
coz787 Member Posts: 6
edited April 2023 in PubSub+ Event Broker #1

Hello all,

In the european aviation community a well know provider of flight data has change its internal AMQP1.0 broker, switching from Apache ActiveMQ to Solace PubSub+.

A set of our application but very few in fact use Python3 and interrogate this AMQP broker.So we have too few experience in this matter. I use to maintain a library built above Apache qpid::proton which has work very well while we were accessing Apache ActiveMQ.

Reaching/requesting Solace PubSub+, i face some insidious error :

ERROR:proton:SMF AD open flow response error

(which seems linked to "credential") but i do not succeed to localize .

Has someone an experience in this matter ?

I saw that Solace provides also a Python binding . So, but before to give up with Apache:qpid , i throw a bottle in the digital ocean .

Many thanks .

Didier

Tagged:

Best Answer

  • Aaron
    Aaron Member, Administrator, Moderator, Employee Posts: 508 admin
    #2 Answer ✓

    Hi there Didier / @coz787, welcome to the Community!

    Ok, so the Solace broker is complaining about something in the AMQP exchange, but not sure what. Solace QA used other QPid APIs to test our AMQP interoperability, so hopefully this is something that we can resolve.

    Is it possible for you to take a packet capture from your client-side? There are more details about the error emitted by the Solace broker, but these are not exposed in the QPid client. You'd be looking for an info map inside the error.

    It's been a while since I've used WireShark, but there's an AMQP display filter which should help! https://wiki.wireshark.org/AMQP.md Keep us posted if you can get a packet capture.

Answers

  • Aaron
    Aaron Member, Administrator, Moderator, Employee Posts: 508 admin
    #3 Answer ✓

    Hi there Didier / @coz787, welcome to the Community!

    Ok, so the Solace broker is complaining about something in the AMQP exchange, but not sure what. Solace QA used other QPid APIs to test our AMQP interoperability, so hopefully this is something that we can resolve.

    Is it possible for you to take a packet capture from your client-side? There are more details about the error emitted by the Solace broker, but these are not exposed in the QPid client. You'd be looking for an info map inside the error.

    It's been a while since I've used WireShark, but there's an AMQP display filter which should help! https://wiki.wireshark.org/AMQP.md Keep us posted if you can get a packet capture.

  • coz787
    coz787 Member Posts: 6

    Hello all. Reading the doc., hum hum, I discovered the Solace Broker requires some values in the creation of a "sender" object . Those lines with the two "default" are compulsory and solve this ("rookie") problem of credentials, I succeed to consume message from Solace using qpid::proton … 😀

    ## Solace pubsub en impératif de positionner user,password à "default","default"
    self.sender = event.container.create_sender(conn,None,None,"default","default")

    But my way forward is to use python solace binding , lightweight, more recent. Kind regards to all .