1

这就是我的 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}">

如果我在文件夹中检入我的 wsdl ,它在元素的属性中classes具有正确的值,但是当尝试从浏览器查看 wsdl 时,值被替换为oflocation<soap:address>address<http:inbound-endpoint>

4

1 回答 1

2

这是一个功能而不是错误:)

因为您使用的是 CXF 代理,所以您希望将 SOAP 地址重写为入站 HTTP 端点地址,以便使用 Mule 公开的 WSDL 的客户端将通过代理发送 SOAP 请求,而不是直接发送到最初在 WSDL 中的任何 SOAP 地址。

于 2013-04-29T17:24:41.003 回答