Note that there are some explanatory texts on larger screens.

plurals
  1. POAzure ServiceBus returns null on Client.Receive()
    primarykey
    data
    text
    <p>I have a problem with receiving messages from a queue i have set up in azure. I have done this successfully using the same code before but now i just get null when i try to fetch messages. When i view the queue in azure management console i clearly see that the queue contains 5 messages.</p> <p>Here is the code:</p> <pre><code>ServiceBus SB = new ServiceBus(); Microsoft.ServiceBus.Messaging.BrokeredMessage message; while (true) { message = SB.ReceiveMessage("orders"); if (message == null) { break; } Procurement.Order order = message.GetBody&lt;Procurement.Order&gt;(); order.id = Guid.NewGuid().ToString(); order.remindercount = 0; using (DbManager db = new DbManager()) { if (db.SetSpCommand("CreateOrderHead", db.Parameter("@companyId", order.companyId), db.Parameter("@orderId", order.orderId), db.Parameter("@suppliercode", order.suppliercode), db.Parameter("@supplierorderId", order.supplierorderId), db.Parameter("@orderdate", order.orderdate), db.Parameter("@desireddate", order.desireddate), db.Parameter("@ordertext", order.ordertext), db.Parameter("@name", order.name), db.Parameter("@street", order.street), db.Parameter("@zip", order.zip), db.Parameter("@city", order.city), db.Parameter("@country", order.country), db.Parameter("@countrycode", order.countrycode), db.Parameter("@deliveryterms", order.deliveryterms), db.Parameter("@reference", order.reference), db.Parameter("@deliveryinstruction", order.deliveryinstruction), db.Parameter("@id", order.id), db.Parameter("@partycode", order.partyCode) ).ExecuteNonQuery() == 1) { message.Complete(); message = null; } db.SetSpCommand("DeleteOrderRows", db.Parameter("@orderid", order.orderId), db.Parameter("@companyId", order.companyId) ).ExecuteNonQuery(); foreach (Procurement.Orderrow r in order.Orderrows) { db.SetSpCommand("CreateOrderRow", db.Parameter("@companyId", r.companyId), db.Parameter("@orderId", r.orderId), db.Parameter("@orderrowId", r.orderrowId), db.Parameter("@itemId", r.itemId), db.Parameter("@itemdesc", r.itemdesc), db.Parameter("@orderqty", r.orderqty), db.Parameter("@desireddate", r.desireddate), db.Parameter("@rowtext", r.rowtext), db.Parameter("@supplieritemId", r.supplieritemId), db.Parameter("@unit", r.unit), db.Parameter("@id", order.id), db.Parameter("@unitprice", r.unitprice), db.Parameter("@rowprice", r.rowprice) ).ExecuteNonQuery(); } } } Thread.Sleep(new TimeSpan(0, 1, 0)); </code></pre> <p>And this is the ServiceBus-class:</p> <pre><code>public class ServiceBus { TokenProvider TokenProvider; MessagingFactory Factory; public ServiceBus() { TokenProvider = TokenProvider.CreateSharedSecretTokenProvider(GetIssuerName(), GetSecret()); Factory = MessagingFactory.Create( GetURINameSpace(), TokenProvider ); } public void SendMessage(string queue, BrokeredMessage message) { var client = Factory.CreateQueueClient(queue); client.Send(message); } public BrokeredMessage ReceiveMessage(string queue) { var client = Factory.CreateQueueClient(queue, ReceiveMode.ReceiveAndDelete); BrokeredMessage message = client.Receive(); return message; } private static Uri GetURINameSpace() { return ServiceBusEnvironment.CreateServiceUri("sb", GetNamespace(), string.Empty); } private static string GetNamespace() { return "Namespace i have verified its the right one"; } private static string GetIssuerName() { return "Issuer i have verified its the right one"; } private static string GetSecret() { return "Key i have verified its the right one"; } } </code></pre> <p>I think this should be pretty straight forward but i cant find out what im doing wrong. Its probably something small that im missing...</p> <p>Anyways, thanks in advance!</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload