You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@qpid.apache.org by jjw tectec <jj...@gmail.com> on 2015/09/04 23:41:46 UTC

Trying to connect Qpid broker to Windows/Azure Service Bus

I've asked a couple of questions regarding this activity recently in this
mailing list and got some suggestions. Unfortunately I've not had the luck
to get this to work yet. So I'll try to be more specific and provide more
details on my tests.

We would like to have AMQP clients on an embedded device send messages to
Windows and/or Azure Service Bus. A Qpid broker is being considered on the
embedded device to provide store-and-forward mechanism. So our desired
configuration should look like:
publisher -> Qpid broker ---------------------------------------> Service
Bus

I have qpidd running on port 5672 (with an empty qpidd.conf):
./qpidd -p 5672 --config ../../etc/qpidd.conf --auth=no

Below is information about my Windows server SB:
topic name: mytopic
namespace:  mynamespace
windows server address: myserver:myport
username: myname
password: mypassword

First, I tried to establish link using qpid-route, with no success:
./qpid-config -a localhost:5672 add exchange topic mytopic
./qpid-route -d route add mylogin/mypassword@myserver:myport localhost:5672
mytopic "" [Error - Failed: ValueError]
./qpid-route -d route add myserver:myport localhost:5672 mytopic "" [Error
- Failed: Closed]

Then I tried creating domain and add a link, with no luck either:
./qpid-config -b localhost:5672 add domain mydomain --argument
url=mynamespace.myserver:myport --argument username=myname --argument
password=mypassword --argument sasl_mechanisms=PLAIN  [Successful]
./qpid-config add outgoing mylink --argument domain=mydomain --argument
target=mynamespace.myserver:myport --argument source=localhost:5672
Failed: Exception: Exception from Agent: {u'error_code': 7, u'error_text':
'Bad file descriptor
(/home/mmos/qpid/qpid-cpp-0.34/src/qpid/sys/posix/BSDSocket.cpp:249)'}

I had tried a variety of options besides the above, so far no luck.
Wireshark captures have not provided much insight to me. Please let me know
if you have any suggestions. The above test used Windows Server Service
Bus. We also need to make the similar work with Azure Service Bus (which
can be accessed through sas policy and sas key), I got "Version Error"
messages so far. Both Qpid broker (latest version) and Azure SB are talking
AMQP1.0, so there shouldn't be such errors I think.

Besides trying the above, I had also tried to use a dispatch router
(following Alan's earlier suggestion, to solve our connection problem)
between Qpid broker and SB, like below:
publisher -> Qpid broker -> Dispatch
Router--------------------------------------> Service Bus
Without success.

At this moment, I'm not sure if any of the above solutions is supposed to
work. Please let me know if you have any insights.

Thank you so much,

jjw

Re: Trying to connect Qpid broker to Windows/Azure Service Bus

Posted by Gordon Sim <gs...@redhat.com>.
On 09/04/2015 10:41 PM, jjw tectec wrote:
> I have qpidd running on port 5672 (with an empty qpidd.conf):
> ./qpidd -p 5672 --config ../../etc/qpidd.conf --auth=no
>
> Below is information about my Windows server SB:
> topic name: mytopic
> namespace:  mynamespace
> windows server address: myserver:myport
> username: myname
> password: mypassword
>
> First, I tried to establish link using qpid-route, with no success:
> ./qpid-config -a localhost:5672 add exchange topic mytopic
> ./qpid-route -d route add mylogin/mypassword@myserver:myport localhost:5672
> mytopic "" [Error - Failed: ValueError]
> ./qpid-route -d route add myserver:myport localhost:5672 mytopic "" [Error
> - Failed: Closed]

The above won't work as the original federation capability in qpidd is 
still AMQP 0-10 only.


> Then I tried creating domain and add a link, with no luck either:
> ./qpid-config -b localhost:5672 add domain mydomain --argument
> url=mynamespace.myserver:myport --argument username=myname --argument
> password=mypassword --argument sasl_mechanisms=PLAIN  [Successful]
> ./qpid-config add outgoing mylink --argument domain=mydomain --argument
> target=mynamespace.myserver:myport --argument source=localhost:5672
> Failed: Exception: Exception from Agent: {u'error_code': 7, u'error_text':
> 'Bad file descriptor
> (/home/mmos/qpid/qpid-cpp-0.34/src/qpid/sys/posix/BSDSocket.cpp:249)'}

In the second of the commands above, the source and target should be a 
local queue on qpidd and the topic on the windows server respectively.

If you start qpidd with additional arguments --log-enable notice+ 
--log-enable trace+:Protocol it will give some more information about 
the protocol exchange which can help spot any further issues.



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org