2016-07-06 11 views
0

DB CRUD操作中にダイナミクスCRMプラグインを使用して空白キューからメッセージが流出しているPOCを現在作業中です。Javaクライアントを使用したキュードレイン操作は失敗しますメッセージ:azureサービスバスとダイナミクスcrm統合

<Error> 
<Code>500</Code> 
<Detail> 
The service was unable to process the request; please retry the operation. For more information on exception types and proper exception handling, please refer to http://go.microsoft.com/fwlink/?LinkId=761101. TrackingId:add85f1a-a249-4e69-b284-ad879cd29968_G27, SystemTracker:scsqueue1-ns:Queue:scsqueue1, Timestamp:7/6/2016 7:21:49 PM 
</Detail> 
</Error> 

Javaクライアントは、ここで見つけることができます。しかし、C#クライアントを使用して https://github.com/sharpcodes/scs-bus-demo

答えて

0

に動作します私はGitHubの上のあなたのコード内の明白な問題を見ることができません。しかし、私の経験上、Azure Service Bus SDK for Javaは、メッセージを流すためにReceive and Delete Message (Destructive Read)などのREST APIをラップしているため、ツールからFiddlerを使用してコードからの残りの要求をデバッグすることをお勧めします。

一方、Azureの操作Receive and Delete Messageを介してメッセージを流出させるJavaでは、以下の3つの方法があります。 Java用のAzureサービスバスSDKを使用して

  1. 、デフォルトモードReceiveAndDeleteを行うには、「Service Busのキューを使用する方法」チュートリアルのセクションReceive messages from a queueを参照してください。
  2. httpクライアントでAzureサービスバスREST API for Javaを使用する場合は、チュートリアル「サービスバスブローカーメッセージングRESTチュートリアル」のReceive and delete a message from the queueセクションを参照してください。
  3. JavaでAMQP 1.0でJMS APIを使用する場合は、SimpleSenderReceiver()関数を参照するチュートリアル「サービス・バスとAMQP 1.0でJava Message Service(JMS)APIを使用する方法」のCoding Java applicationsセクションを参照してください。
+0

おかげでピーター... JMSのAPIうまく動作するようです。 SDKベースのアプローチは複数のプラットフォーム間で失敗しているようです.https://github.com/Azure/azure-sdk-for-php/issues/823 OOBによって作成されたメッセージでurlが正しくエスケープされていないようですダイナミクスプラグイン.. – sharpcodes

0

これに案内するためのピーターのおかげで...

のSDKやRESTfulな呼び出しを使用してキューを排出からのJava /ノード-jsのクライアントを防ぐダイナミクスCRM-紺碧バスプラグインとの問題があるように見えます。

JMSクライアントを使用することは、このトリックを行うようです。別の方法は、Java/NodeでラップすることができるC#ミドルウェアを用意することです。ここで

が問題への参照です:修正プログラムが正しく文字をエスケープするアズールのJava SDKチームによって行われなければならなかったようhttps://github.com/Azure/azure-sdk-for-php/issues/823

関連する問題