这是我的Mule 3.3.0流程的一部分:
<flow name="soapService">
<http:inbound-endpoint address="${my.service.address}" exchange-pattern="request-response">
<cxf:proxy-service wsdlLocation="classpath:order.wsdl" namespace="http://abc.com/services/order" service="OrderService"
enableMuleSoapHeaders="false">
</cxf:proxy-service>
</http:inbound-endpoint>
...
</flow>
无论我在order.wsdl <soap:address location="http://server.com/order">
中指定的是什么,都会被${my.service.address}
<http://inbound-endpoint address="${my.service.address}">
值覆盖
如果我在classes
文件夹中检入我的wsdl,它在location
元素的<soap:address>
属性中具有正确的值,但是当尝试从浏览器中查看wsdl时,值将替换为address
<http:inbound-endpoint>
答案 0 :(得分:2)
这是一个不是错误的功能:)
因为您正在使用CXF代理,所以希望将SOAP地址重写为入站HTTP端点地址,以便使用Mule公开的WSDL的客户端将通过代理发送SOAP请求,而不是直接到最初在WSDL中的任何SOAP地址。