如何从Web服务的使用者隐藏Soap地址的详细信息

时间:2016-08-13 07:51:56

标签: java web-services soap

我刚刚开始学习Web服务(地铁实施),我将有一个疑问,如下所述 -

<service name="PurchaseAppService">
<port name="PurchaseAppPort" binding="tns:PurchaseAppPortBinding">
<soap:address location="http://xxxxx:8088/WebStore/PurchaseAppService"/>
</port>
</service>

如果我以这种方式向消费者提供此Web服务,那么将来如果我将服务部署在不同的容器上,那么我必须再次与消费者分享合同,那么有什么方法可以让它独立用于更改内部服务器地址。我的意思是,如果地址位置的任何变化都不需要再次分享合同。

1 个答案:

答案 0 :(得分:0)

您可以编辑wsdl并将位置属性中的值替换为“BASE_URL_WS”等,然后再将其发送给您的消费者。 我很少见到这种做法。事实上,通常会发送WSDL,例如生成 wsdl的提供者有责任为部署WS的每个现有且有效的环境向其客户端提供位置URL。
客户端有责任根据目标环境使用正确的URL。通常,从客户端,应在打包的应用程序(外部文件,数据库等)之外配置URL位置,以便易于处理任何WS URL更改。