Azure Service Bus ASQP exception

I am using the sample from this URL http://azure.microsoft.com/en-us/documentation/articles/service-bus-java-how-to-use-jms-api-amqp/ . I have 2 questions:

1. ACS or SAS

Connection url,

amqps://[username]:[password]@[namespace].servicebus.windows.net

      

Username and password from ACS authentication, but Azure Service Bus changed its authentication from ACS to SAS. Does it also support SAS authentication? Like the username is the SAS policy, the password is the SAS policy key.

2. Eliminating the launch of the throw

Even if I use ACS (if I create namespace with powershell it is still ACS) or SAS, when running the example code from http://azure.microsoft.com/en-us/documentation/articles/service-bus-java -how-to-use-jms-api-amqp / , they all throw an exception and fail.

Exception:"org.apache.qpid.amqp_1_0.client.Sender$SenderCreationException:
Peer did not create remote endpoint for link". 

      

Is there a way to fix this problem?

By the way, I am not connecting a Service Bus for Windows (in place), this is for the Azure Service Bus (Cloud). Thank.

+3


source to share


2 answers


RE: 1. ACS or SAS

Yes, you can use SAS with AMQP. Policy name instead of username and URL instead of password. URL encoding is required to treat any non-alphanumeric characters in the keyword value as +, / or =.

URL format:

amqps://<policyname>:<urlencoded(key)>@<namespace>.servicebus.windows.net

      

RE: 2. Browser startup exception



Make sure your queue is not enabled. ServiceBus does not support AMQP with partitioned queues, however, queues are created with partitioning enabled by default.

I had the same error and re-creating the queue with "Enable Split" enabled did not resolve this for me.

See the Split Entity Nodes section at the bottom of this article: https://msdn.microsoft.com/en-us/library/azure/dn520246.aspx

Split queues and topics are only accessible via SBMP or HTTP / HTTPS. AMQP support will be added in the future.

+1


source


To be sure, you've created a "queue1" named queue inside the Service Bus namespace. From the tutorial:

This tutorial assumes that you already have a Service Bus namespace containing a queue named "queue1."



Paolo

0


source







All Articles