2016-04-25 16 views
0

java azure sdkを使用してサービスバストピックにメッセージを送信しようとすると問題が発生しました。500 Azure Java SDKを使用してサービスバスのトピックにメッセージを送信中に内部サーバーエラーが発生しました

私は、このリンクに基づいてコード作成:https://azure.microsoft.com/en-us/documentation/articles/service-bus-java-how-to-use-topics-subscriptions/をし、私のコードは以下のようになります。

Configuration config = ServiceBusConfiguration.configureWithSASAuthentication(
    "NAMESPACE", 
    "SAS_NAME", 
    "SAS_KEY_VALUE", 
    ".servicebus.windows.net");  
ServiceBusContract service = ServiceBusService.create(config); 
try { 
    BrokeredMessage message = new BrokeredMessage("Message content"); 
    service.sendTopicMessage("TOPIC_NAME", message); 
} catch (ServiceException e) { 
    e.printStackTrace(); 
} 

私は.NETコードと同じ設定値でメッセージを送信することができますよ。

そして、ここで私が受け取る例外である:「com.sun.jersey.api.client.UniformInterfaceException:POST https://NAMESPACE.servicebus.windows.net/TOPIC_NAME/messages?api-version=2013-07 500内部サーバーエラーの応答ステータスを返さ」

私はまた、API-について質問がありますバージョン。なぜライブラリがリクエストに古いAPIバージョンを入れたのですか?私は、Mavenのリポジトリから紺碧のSDKの最新バージョンを使用します。

<dependency> 
    <groupId>com.microsoft.azure</groupId> 
    <artifactId>azure-servicebus</artifactId> 
    <version>0.9.3</version> 
</dependency> 

答えて

0

私は最終的に問題の原因を見つけることができます。実際のエラーは、「メッセージIDと一致するサブスクリプションが見つかりません」です。このエラーは、トピック設定で[公開前にメッセージをフィルタする]オプションがオンで、一致するサブスクリプションが存在しない場合に発生します。

問題は、一致するサブスクリプションに関する情報の代わりに、Azure Java SDKによって使用されるAzure REST APIを呼び出すと、わずか500の内部サーバーエラーが返されることです。Azure .NET SDKからの呼び出しのみ有用なコメント付き例外。

0

私はあなたの問題を再現しようとしましたが、すべてのエラー情報を取得できないために失敗しました。

REST API “Send Message”によれば、ステータスコード500は、クライアントのソースコードに起因しない内部エラーを意味します。

だから、もう一度コードを実行してみてください。

同じエラーやその他のエラーが発生した場合でも、問題の分析に役立つ情報を共有できますか?

ご不明な点がございましたら、お気軽にお問い合わせください。

+0

私はまだこの問題がある、私はそれを数回実行し、常に同じエラーが表示されます。私は紺碧への直接アクセスはありません、私はSASとトピックの詳細だけを持っており、そのトピックにメッセージを送る必要があります。 azure-sdkライブラリのRESTリクエストに追加されているapi-versionによってその理由がわかるのだろうか?私はそれが可能かどうかわからないが、私はazure sdkのないREST APIによって直接トピックにメッセージを入れようとします。 – Rem

関連する問題