Wso2Esb:使用基于URL的ConditionalRouter中介

时间:2014-05-30 12:14:20

标签: wso2 wso2esb mediator

我有同样的问题,但我无法知道如何调用服务进行测试..

这是我的Proxy.xml和序列,

   <proxy xmlns="http://ws.apache.org/ns/synapse" name="customproxycondroute"   transports="https,http" statistics="disable" trace="disable" startOnLoad="true">
<target>
  <inSequence>
     <log level="full"/>
     <conditionalRouter continueAfter="false">
        <conditionalRoute breakRoute="false">
           <condition>
              <match type="url" regex="/test1/.*"/>
           </condition>
           <target sequence="calltest1"/>
        </conditionalRoute>
        <conditionalRoute breakRoute="false">
           <condition>
              <match type="url" regex="/test2/.*"/>
           </condition>
           <target sequence="calltest2"/>
        </conditionalRoute>
     </conditionalRouter>
  </inSequence>
  <outSequence>
     <log level="full"/>
     <send/>
  </outSequence>
</target>
<description/>

 <sequence xmlns="http://ws.apache.org/ns/synapse" name="calltest1">
    <send>
    <endpoint>
     <http method="get" uri-template="http://destinationserver:8080/rest/test1"></http>
  </endpoint>
    </send>
</sequence>

<sequence xmlns="http://ws.apache.org/ns/synapse" name="calltest2">
  <send>
     <endpoint>
        <http method="get" uri-template="http://destinationserver:8080/rest/test1"></http>
       </endpoint>
   </send>
</sequence>

我尝试使用curl

访问代理
curl http://wso2esbserver:8080/test1/test

但它没有记录任何内容并且没有错误......任何人都可以帮助我找到我错的地方吗?

由于

1 个答案:

答案 0 :(得分:0)

使用/services/customproxycondroute/test1/.*/services/customproxycondroute/test2/.*

更改正则表达式

并使用此url进行测试(如果碳偏移设置为0):http://wso2esbserver:8280/services/customproxycondroute/test1/test