NPEからメッセージを受信しているときに、NPE。 (メッセージがキューに存在する場合のみ)。メッセージのデシリアライズに問題があるような気がします。キューからメッセージを受信しているときに、Azureサービスバスのキュー
com.microsoft.windowsazure.services.servicebus.implementation.ServiceBusRestProxy.receiveMessageでcom.sun.jersey.api.client.ClientResponse.getResponseDateでjava.lang.NullPointerExceptionが (ClientResponse.java:738) ( ServiceBusRestProxy.java:288)com.microsoft.windowsazure.services.servicebus.implementation.ServiceBusExceptionProcessor.receiveQueueMessage(ServiceBusExceptionProcessorでcom.microsoft.windowsazure.services.servicebus.implementation.ServiceBusRestProxy.receiveQueueMessage(ServiceBusRestProxy.java:225) で 。 java:142)
RECEIVE_AND_DELETEオプションdメッセージを受信してNPEをスローします。
他のすべての操作は、キューの作成、メッセージの送信などをうまく処理します。これはどんな考えですか?それは実際の問題が欠落しているjarファイルとあったNPEを投げていたにもかかわらずメッセージ
public void receiveMessage(String queueName) {
try {
ReceiveMessageOptions opts = ReceiveMessageOptions.DEFAULT;
opts.setReceiveMode(ReceiveMode.PEEK_LOCK);
while (true) {
ReceiveQueueMessageResult resultQM
= service.receiveQueueMessage(queueName, opts);
BrokeredMessage message = resultQM.getValue();
if (message != null && message.getMessageId() != null) {
log.println("MessageID: " + message.getMessageId());
// Display the queue message.
log.print("From queue: ");
byte[] b = new byte[200];
String s = null;
int numRead = message.getBody().read(b);
while (-1 != numRead) {
s = new String(b);
s = s.trim();
System.out.print(s);
numRead = message.getBody().read(b);
}
log.println("");
log.println("Custom Property: "
+ message.getProperty("MyProperty"));
// Remove message from queue.
log.println("Deleting this message.");
//service.deleteMessage(message);
} else {
log.println("Finishing up - no more messages.");
break;
// Added to handle no more messages.
// Could instead wait for more messages to be added.
}
}
} catch (Exception e) {
log.print(e);
}
}