2

WSO2 ESB (バージョン 4.7.0) で定義された単純な API があります。

<api xmlns="http://ws.apache.org/ns/synapse" context="/test" name="TestAPI">
    <resource methods="GET" uri-template="/{param1}">
        <inSequence>
            <log category="INFO" level="custom" separator=",">
                <property expression="get-property('uri.var.param1')" name="Param1"/>
            </log>
            <send>
                <endpoint>
                    <http trace="enable" uri-template="http://localhost:8080/myservice/{uri.var.param1}/?aa=bb"/>
                </endpoint>
            </send>
        </inSequence>
        <outSequence>
            <send/>
        </outSequence>
        <faultSequence/>
    </resource>
</api>

それを呼び出すとき:

http://localhost:8280/test/VALUE

ESB からのログでは、正しいパラメーターがログに記録され、正しいアドレスが呼び出されているようです。

INFO {org.apache.synapse.mediators.builtin.LogMediator} -  Param1 = VALUE {org.apache.synapse.mediators.builtin.LogMediator}
INFO TRACE_LOGGER Sending message through endpoint : endpoint_d8f2411c6ce735d2f6cca8d2a23af16a89c0d34f6b95d560 resolving to address = http://localhost:8080/myservice/VALUE/?aa=bb

サービス側でアクセス ログを有効にするとバグが発生します。リクエストが少し異なっていることがわかります。

"127.0.0.1" "NULL-AUTH-USER" "GET /myservice/VALUE/?aa=bb/VALUE HTTP/1.1" 200 220

問題は、なぜ/VALUEURL の末尾に " " が追加されるのですか? また、それを取り除く方法を教えてください。

ありがとう!

4

1 に答える 1

2

別の質問で説明されているように、 REST_URL_POSTFIX変数に関連しています。エンドポイントが問題を解決する前にそれをクリアします。

于 2013-11-14T16:40:31.263 に答える