[
https://issues.apache.org/jira/browse/QPID-6952?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15057838#comment-15057838
]
Håkan Johansson commented on QPID-6952:
---------------------------------------
After doing some experiments I now believe that the error lies in the
{{Address}} class.
Example code (C++)
{code}
Address addr1;
addr1.setName("temp-queue://ID:myhost-48781-1447769813910-2:47564:0");
std::cout << "addr1.name: " << addr1.getName() << std::endl;
std::cout << "addr1.subject: " << addr1.getSubject() << std::endl;
Address addr2(addr1.str());
std::cout << "addr2.name: " << addr2.getName() << std::endl;
std::cout << "addr2.subject: " << addr2.getSubject() << std::endl;
{code}
Output:
{noformat}
addr1.name: temp-queue://ID:myhost-48781-1447769813910-2:47564:0
addr1.subject:
addr2.name: temp-queue:
addr2.subject: /ID:myhost-48781-1447769813910-2:47564:0
{noformat}
> [AMQP 1.0 C++ and Python Client] Temporary queues broken if using queue name
> instead of Address.
> ------------------------------------------------------------------------------------------------
>
> Key: QPID-6952
> URL: https://issues.apache.org/jira/browse/QPID-6952
> Project: Qpid
> Issue Type: Bug
> Environment: Red Hat Enterprise Linux Server release 6.7 (Santiago)
> The _qpid-cpp_ code has been built with _qpid-proton_ version 0.10.
> The broker is ActiveMQ 5.12.1.
> The protocol used in AMQP 1.0.
> Reporter: Håkan Johansson
> Attachments: cpp_experiment.cc, experiment.py
>
>
> I create a temporary queue by creating a receiver with {{"#"}} as queue name.
> So far so good. The problem comes when I try to send a reply on that queue.
> If I use the {{Address}}, then it works, but not if I use the resulting queue
> name.
> In C++ this is easy to work around, just use the result from
> {{receiver.getAddress()}} when setting the reply-to queue and use the sender
> constructor that takes an {{Address}} object.
> In Python this becomes a bit of a problem since the SWIG:ed methods gets rid
> of the {{Address}} object and returns a string instead. I have to call the
> private method {{message._getReplyTo()}} to get it to work. If I use
> {{message.reply_to}} or {{message.getReplyTo()}} I get a string instead,
> which does not work.
> If I use the reply-to queue name when creating the sender, a queue named
> {{"temp-queue:"}} is created (the actual queue name is something like
> {{"temp-queue://ID:myhostname-48781-1447769813910-2:47564:0"}}).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]