如何在防火墙后面公开wsdl?
Mule生成的WSDL将端点连接到运行它的服务器,但将其暴露在外需要更改此端点。
当前的解决方法我们使用的是使用SOAPUI导出内部服务wsdl,在文本编辑器中编辑它替换外部模拟的所有内部地址,打包此wsdl并将其发送给外部消费者。
有更好的方法吗?也许某个组件的某个参数会生成定义端点服务器名称的WSDL?
根据评论更新:
这不是关于WSDL的一般问题。这是Mulesoft相关的问题。 Mule自动生成WSDL。以下是我感兴趣的部分:
<port binding="tns:Hello_Binding" name="Hello_Port">
<soap:address>
location="http://mule.server.internal.local/SayHello/" />
</port>
它是生成的,因为Mule服务器位于内部框mule.server.internal.local
但是当这个服务器暴露在外部时,它会被托管&#34;在外部站点service.mycompany.com上,所以WSDL应该说
<port binding="tns:Hello_Binding" name="Hello_Port">
<soap:address>
location="http://service.mycompany.com/SayHello/" />
</port>
但是Mule不知道它,因此WSDL无效。