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

问题是 - 为什么我/VALUE在 URL 的末尾附加了“”以及如何摆脱它?

谢谢!

4

1 回答 1

2

另一个问题所述,它与REST_URL_POSTFIX变量有关。在端点解决问题之前清除它。

于 2013-11-14T16:40:31.263 回答