https://issues.apache.org/jira/browse/AMQCPP-595

Use sync call to create a producer in order to capture exceptions from
the broker on create
diff --git a/activemq-cpp/src/main/activemq/core/kernels/ActiveMQSessionKernel.cpp b/activemq-cpp/src/main/activemq/core/kernels/ActiveMQSessionKernel.cpp
index f486964..a7cb9b6 100644
--- a/activemq-cpp/src/main/activemq/core/kernels/ActiveMQSessionKernel.cpp
+++ b/activemq-cpp/src/main/activemq/core/kernels/ActiveMQSessionKernel.cpp
@@ -686,7 +686,7 @@
 
         try {
             this->addProducer(producer);
-            this->connection->oneway(producer->getProducerInfo());
+            this->connection->syncRequest(producer->getProducerInfo());
         } catch (Exception& ex) {
             this->removeProducer(producer);
             throw;