[ 
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: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to