wso2esb从uri

时间:2017-04-27 21:12:57

标签: wso2esb

我在wso2esb中为其中一个租户定义了一个API。在定义API时,此租户会自动获取自己的上下文路径(例如http://127.0.0.1:8280/tenant1/api-identifier/)。

下一步是将此请求转发到http端点(例如http://127.0.0.1:9191/v1/)。但是当查看日志时,esb会尝试将此请求发送到http://127.0.0.1:9191/v1/tenant1/api-identifier/,但无法给出响应。我可以从网址中删除此部分吗?感觉这应该是开箱即用的。

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://ws.apache.org/ns/synapse">
    <registry provider="org.wso2.carbon.mediation.registry.WSO2Registry">
        <parameter name="cachableDuration">1500</parameter>
    </registry>
    <taskManager provider="org.wso2.carbon.mediation.ntask.NTaskTaskManager"/>
    <sequence name="In">
        <log category="TRACE" level="full"/>
        <send>
            <endpoint key="gov:/HelloWorld"/>
        </send>
    </sequence>
    <sequence name="fault">
        <log level="full"/>
    </sequence>
    <sequence name="main">
        <in>
            <log/>
            <sequence key="conf:/InSecure"/>
        </in>
        <out>
            <send/>
        </out>
     </sequence>
     <sequence name="Out">
         <send/>
     </sequence>
     <sequence name="InSecure">
        <log/>
        <send>
            <endpoint key="gov:/HelloWorld"/>
         </send>
     </sequence>
     <api context="/lensworld.be/hw" hostname="192.168.1.100"
    name="HelloWorld" port="9191">
         <resource inSequence="InSecure" methods="GET" outSequence="Out"/>
    </api>

1 个答案:

答案 0 :(得分:2)

尝试删除REST_URL_POSTFIX属性:

<property name="REST_URL_POSTFIX" action="remove" scope="axis2"/>

来自the docs

  

当通过地址端点以RESTful方式发送消息时,此属性的值将附加到目标URL。当您需要在RESTful调用的情况下将上下文附加到目标URL时,这非常有用。如果您使用的是HTTP端点而不是地址端点,请以&#34; uri.var。*&#34;的格式指定变量。而不是使用这个属性。