我正在尝试使用选择流控制来路由SOAP web服务,它依赖于有效负载来更改为匹配的web服务。这是我的流程
<flow name="ProxyServiceFlow1" doc:name="ProxyServiceFlow1">
<http:inbound-endpoint exchange-pattern="request-response"
address="http://localhost:8081/hrManagerServiceProxy" doc:name="HTTP" />
<set-variable variableName="clientType"
value="#[message.inboundProperties['http.query.params']['clientType']]"
doc:name="Set clientType" />
<choice doc:name="Choice">
<when expression="#[clientType == 'unsecure']">
<cxf:proxy-service namespace="http://service.freetalk.viettel.com/"
service="RegisterServiceService" payload="body" wsdlLocation="unsecure.wsdl"
enableMuleSoapHeaders="false" doc:name="SOAP" />
<http:outbound-endpoint exchange-pattern="request-response" method="POST" address="http://localhost:8081/HR/hrManagerService" doc:name="HTTP"/>
</when>
<otherwise>
<cxf:proxy-service namespace="http://service.freetalk.viettel.com/"
service="RegisterServiceService" payload="body" wsdlLocation="unsecure2.wsdl"
enableMuleSoapHeaders="false" doc:name="SOAP" />
<http:outbound-endpoint exchange-pattern="request-response" method="POST" address="http://localhost:8081/HR/hrManagerService" doc:name="HTTP"/>
</otherwise>
</choice>
</flow>这只是我的想法,因为我搜索了很多次,但仍然没有得到任何结果。有人能给我一些建议吗?
发布于 2013-11-06 23:25:45
它不是需要与HTTP一起使用的cxf:proxy-service。
应该是cxf:proxy-client
尝试对您的http:outbound-端点使用cxf:proxy-client。
<choice doc:name="Choice">
<when expression="#[clientType == 'unsecure']">
<http:outbound-endpoint exchange-pattern="request-response" method="POST" address="http://localhost:8081/HR/hrManagerService" doc:name="HTTP">
<cxf:proxy-client payload="body" enableMuleSoapHeaders="true">
</cxf:proxy-client>
</http:outbound-endpoint>
</when>
<otherwise>
<http:outbound-endpoint exchange-pattern="request-response" method="POST" address="http://localhost:8081/HR/hrManagerService" doc:name="HTTP">
<cxf:proxy-client payload="body" enableMuleSoapHeaders="true">
</cxf:proxy-client>
</http:outbound-endpoint>
</otherwise>
</choice>希望这能有所帮助。
https://stackoverflow.com/questions/19813849
复制相似问题