1

wso2 api マネージャーを使用して、RESTful サービスの一部にアクセスしようとしています。残りのサービスは、json ペイロードを想定しています。json リクエストが api manager に送信されると、json リクエストを xml に変換し、実際のエンドポイントに転送するときに json に変換して戻します。結果のjsonは、私たちのケースの1つで元のリクエストと正確に一致しません. たとえば、rquest に要素の配列が含まれていて、1 つの要素のみが配列に渡された場合、API マネージャーがリクエストをエンドポイントに転送するときに、配列文字 ([,]) が削除されます。例えば。私たちの最初のリクエストは

{
    "entities": [
    {
        "name":"KK71CP20000523A1",
        "descr":"VaS",
        "mnf":"BCT",
        "mdlyr":"2012"
    }
    ]
}

APIマネージャーから送信されたリクエストは

{
    "entities": 
    {
        "name":"KK71CP20000523A1",
        "descr":"VaS",
        "mnf":"BCT",
        "mdlyr":"2012"
    }

}

エンティティ要素の下の配列のラッピングが削除されます。要素数が複数の場合、配列文字は保持されます。

以前、ESB でも同じ問題に直面しました。しかし、デフォルトの JSONMessageFormatter を拡張し、jettison ライブラリで利用可能な seriliazeAsArray メソッドを使用することで、この問題を回避しました。しかし、API Manager でこのカスタマイズを行いたくありません。この問題を修正するより良い方法はありますか? これを修正するために wso2 から入手できるパッチはありますか?

4

1 に答える 1