Mule 自动重写远程wsdl

Mule 自动重写远程wsdl,mule,Mule,Mules基于模式的web服务代理配置(模式:web服务代理)支持自动重写远程wsdl。但这到底是如何工作的呢 远程URL通常根据以下模式建立: http://host1.domain.com:8080/ServicePath 在我看到的示例中,带有域部分的主机名自动重写为主机服务器的主机名/机器名(不带域部分),类似于: http://host2:8080/ServicePath “自动重写”功能是否以某种方式支持处理主机名的域部分,或者这超出了该功能的范围?web服务代理尝试使用出站端点

Mules基于模式的web服务代理配置(模式:web服务代理)支持自动重写远程wsdl。但这到底是如何工作的呢

远程URL通常根据以下模式建立:

http://host1.domain.com:8080/ServicePath
在我看到的示例中,带有域部分的主机名自动重写为主机服务器的主机名/机器名(不带域部分),类似于:

http://host2:8080/ServicePath

“自动重写”功能是否以某种方式支持处理主机名的域部分,或者这超出了该功能的范围?

web服务代理尝试使用出站端点的地址作为源,使用正在运行的请求的地址作为目的地来重写地址。它还尝试处理包含localhost的wsdl的罕见情况,并将其替换为
InetAddress.getLocalHost().getHostName()

因此,如果使用
http://host1.domain.com:8080/ServicePath?wsdl
远程web服务地址为
http://remote.acme.com/service
,代理将重写
http://remote.acme.com/service
在WSDL中找到,以
http://host1.domain.com:8080/ServicePath

但是如果使用
http://host1:8080/ServicePath?wsdl
然后您将获得
http://host1:8080/ServicePath
在WSDL中

总之:它都基于调用方的URL,除非WSDL包含
localhost
URL(不应该是这种情况)