在我的用例中我有这个代理:
<?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中有一种方法可以直接执行此操作吗?或者自定义类中介是最好的方法吗?
答案 0 :(得分:0)
据我所知,在seSece中没有办法做到这一点。您必须编写一个自定义类中介来满足您的需求。