在Mule中使用web服务代理模式时,您可以通过一个或多个转换器传递消息。是否存在避免传递的方法?例如,Wsdl获取或在内容类型上过滤的其他消息?在将XML有效负载传递给web服务之前,我的转换器正在操作XML有效负载,但我发现转换程序也在处理wsdl调用,并且失败了。
我已经在我的转换器代码中做了一个检查,但是这似乎不是解决这个问题的正确方法。
if(message.getOriginalPayload().toString().endsWith("wsdl")||!(xmlString.startsWith("<") && xmlString.endsWith(">"))){return message; }代理配置:
<pattern:web-service-proxy name="SR-Proxy"
doc:name="SR-Proxy"
transformer-refs="enrichPayloadWithSFSession"
wsdlFile="service/SR_Webservice.wsdl">
<http:inbound-endpoint exchange-pattern="request-response" host="${hostname}" port="${http.port}" path="service/SRProxy" doc:name="HTTP" />
<https:outbound-endpoint exchange-pattern="request-response" address="${sfdc.wsUrl}SR_Webservice" />
</pattern:web-service-proxy>发布于 2014-08-15 02:27:33
使用http.query.string入站消息属性检测?wsdl请求。
有关在入站HTTP消息中可以找到的可用入站属性的更多信息,请参见http://www.mulesoft.org/documentation/display/current/HTTP+Transport+Reference#HTTPTransportReference-HTTPProperties。
https://stackoverflow.com/questions/25315486
复制相似问题