将Mule ESB服务的请求传递给条件路由器
我正在使用Mule ESB公开CXF服务,我需要将请求传递给条件路由器。我看到的大多数示例都将响应传递给条件路由器。将Mule ESB服务的请求传递给条件路由器
如何在不更改wsdl的情况下向前传递请求?
我所用骡子ESB 3
<pattern:web-service-proxy name="theProxy"
outboundAddress="vm://theProxyFlow"
wsdlFile="classpath:wsdl/MyWsWSDL.wsdl" inboundAddress="${inbound.url}" transformer-refs="RequestToString">
</pattern:web-service-proxy>
,并提供了网络服务的代理模式的VM端点实际上没有使用XPath表达式条件的路由。但是我必须编写一个“RequestToString”自定义转换器,以便我可以将xpath应用于传入的SOAP有效内容。
我用在变压器下面的转型 -
if (src instanceof InputStream)
{
InputStream input = (InputStream) src;
try
{
reqAsString = IOUtils.toString(input);
}
finally
{
IOUtils.closeQuietly(input);
}
}
当实现Web服务组件后,OP会给予更高的精度
放置一个choice routing message processor我会修改这个答案。
感谢您的回答。为了完整性目的,我记录了我在答案中做了什么(如果有更好的方法,请告诉我)。 – Pushkar 2012-01-19 10:30:17
很酷。您应该能够使用标准的对象到字符串转换器来代替您的自定义RequestToString。否则,这是相当不错的:) – 2012-01-19 16:42:09
这真的很难理解你在找什么:你有,你可以共享配置的任何一点吗?这会帮助你。 – 2011-12-29 03:06:02