2017-11-05 7 views
0

私はJerseyとJacksonを使用したAzure AppサービスでJetty 9.4.5を実行しています。JSON 415メディアタイプAzure AppでサポートされていないサービスJettyのみ

私のサーバーがAzure App Serviceでホストされているが、サーバーをローカルで実行していないときに、リクエスト処理の問題が発生しました。ローカルでは、Content-Type: application/jsonでPOSTリクエストを正常に送信できます。 Azureで実行している場合、サーバーは415 Media Type Unsupportedエラーを返します。

Azureで実行している場合、リクエストは正常にルートのフィルタに届き、フィルタで問題なくエンティティを読み取ることができます。グローバル化タグを使用してweb.configファイル内のIIS用にUTF-8にエンコードを設定しました。

このリクエストを妨害するためにAzureが行っていることは他にありますか?

+0

メディアタイプがサポートされていないのは、不適切なフォーマットのデータが本体引数としてサービスに渡されたためです。私はこの問題がAzureのサービスとすべてに起因するとは思わない。ありがとう:) –

+0

あなたが書いたコードを投稿してください。ありがとう:) –

答えて

0

Maven Shadeプラグインを使用して配置可能なJARを作成した結果、問題が解決しました。サーバーをローカルで実行すると、Eclipseで実行されていました。 JARをパッケージ化するとき、Maven Shadeプラグインは複数のJerseyライブラリとJacksonライブラリを正しく機能しないように結合していました。

Eclipseを使用してExport > Runnable JAR fileを使用してJARをエクスポートし、Copy required libraries into a sub-folder next to the generated JARオプションを選択すると、デプロイメントはAzureで機能します。

このanswerはMaven Shadeパッケージに関する問題を説明しています。

関連する問題