WSO2 ESB在消息传输期间将字符串附加到端点URL

时间:2014-01-19 22:59:04

标签: url-rewriting wso2 wso2esb endpoint

在我的用例中我有这个代理:

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
   name="MIOProxy"
   transports="https,http"
   statistics="disable"
   trace="disable"
   startOnLoad="true">
   <target>
      <inSequence>
         <sequence name="blackListCheck"/>
         <send>
             <failover>
        <enpoint key="workerClusterTest" />
                <enpoint key="replica_test" />
              </failover>
         </send>
      </inSequence>
      <outSequence>
         <send/>
      </outSequence>
   </target>
   <description/>
</proxy>

端点workerClusterTest具有此配置:

<endpoint xmlns="http://ws.apache.org/ns/synapse" name="workerClusterTest">
   <property name="class" value="worker" scope="axis2"/>
   <loadbalance algorithm="org.apache.synapse.endpoints.algorithms.RoundRobin">
      <endpoint>
         <address url="http://localhost:8080/myservice1" />
      </endpoint>
      <endpoint>
         <address url="http://localhost:8080/myservice2" />
      </endpoint>
      <endpoint>
         <address url="http://localhost:8080/myservice3" />
      </endpoint>
   </loadbalance>
</endpoint>

当消息到达workerClusterTest端点或replicaTest时,我想在其地址url中插入一个字符串:“MyString”。 确切地说,如果消息被发送到workerClusterTest端点,我想要它的URL

url="http://localhost:8080/myservice1"

成为

url="http://localhost:8080/MyString/myservice1"

在inSequence中有一种方法可以直接执行此操作吗?或者自定义类中介是最好的方法吗?

1 个答案:

答案 0 :(得分:0)

据我所知,在seSece中没有办法做到这一点。您必须编写一个自定义类中介来满足您的需求。