WSO2 API マネージャー 1.3.1 を使用します。API Manager を使用して REST サービスにプロキシしようとしています。API Mgr でサービスをセットアップし、通常は json の応答を正常に投稿および取得できますが、一部はテキストです。
ただし、バイナリ コンテンツ (zip "ファイル"、content-type:application/octet-stream) を返すリソースを取得しようとすると、API Manager が応答しないようで、コンソール ウィンドウにエラーが表示されます (コンソールで wso2server.bat を実行しています):
[2013-07-03 11:52:05,048] 警告 - 応答の書き込み中に SourceHandler 接続タイムアウト: 173.21.1.22:1268->173.21.1.22:8280
内部サービスに HTTPModule があり、適切なコンテンツで応答しているようです (GET および応答データがログに記録されていることがわかります)。また、内部サービスを直接呼び出して応答を取得することもできるため、問題が解決したように見えます。しかし、API Manager を経由すると失敗するようです。
他のコンテンツ タイプの有効化に関する情報を見つけました。
WSO2 API Manager - 非 XML 応答で API を公開
その情報を使用して、バイナリリレーを使用して messageFormatter と messageBuilder のアプリケーション/オクテットストリームを有効にしようとしましたが、役に立ちませんでした (または違いがあるようです)。他のすべてのコンテンツ タイプを無効にし、すべてのコンテンツ タイプにバイナリ リレーを使用しましたが、役に立ちません。
現在、axis2.xml と axis2_client.xml の両方 (適切なセクション) で次のように実行しています。
<messageBuilder contentType=".*" class="org.wso2.carbon.relay.BinaryRelayBuilder"/
<messageFormatter contentType=".*" class="org.wso2.carbon.relay.ExpandingMessageFormatter"/>
json とテキストの応答は引き続き取得できますが、WSO2 は zip コンテンツの取得にタイムアウトします。「.*」リレーの有効化について axis2.xml で参照されている JIRA を見ましたが、他の要求は機能しているように見えるので、それが私にとって問題であるかどうかはわかりません。API 定義に 'format="rest"' を追加しようとしましたが、以前は機能していたものも含めてすべての操作が壊れているように見えたので、元に戻しました。
何が起こっているのか、またはこれを掘り下げてデバッグする方法についてのアイデアが役立ちます。ありがとう!