Apache Qpid Messaging C++ rejection
I'm trying to write a small program using the Apache Qpid Messaging C++ library to send AMQP1.0 messages to a Solace broker.
When I send a message to the broker, it looks like I'm getting a reject:
delivery 0 refused: amqp:not-allowed: SMF AD ack response error
I get the same result if I use the examples provided with the library. I don't understand what the error is trying to tell me. Is it saying that AMQP is not allowed? I did write something using Apache Qpid Proton, and that was able to send and receive just fine. The management interface confirms that AMQP is enabled, and when my program connects it's classified as an AMQP connection.
This is the code from my send function. sender_
is a qpid::messaging::Sender
bool sendMessage(const Message& msg) { qpid::messaging::Message qpid_msg; qpid_msg.setContent(reinterpret_cast<const char*>(&msg), sizeof(msg)); sender_.send(qpid_msg, true); return true; }
Answers
-
Hi @rwiskow, the broker is sending you a negative acknowledgement, so the chances are it's a configuration issue on the broker. Check:
1) You're sending to the right port. Are you sending to the AMQP port, or the normal messaging port? The normal SMF port is 55555 or 55443. You can look up the ports associated with a service by looking at the "Service" tab in PubSub+ Broker Manager
2) The Broker is configured to accept Guaranteed (AD) messages. Check the client profile settings ("Send/Receive Guaranteed Messages") for the client username that your code is using to connect (which could be "default")
0