首页 文章

本地WSDL vs从服务器远程下载?

提问于
浏览
0

我最近在SOAP Web服务上工作了很多,在这种情况下我遇到了一个问题 . 什么会更好?

A.获取WSDL并将其存储在客户端本地,然后仅调用该服务

  • 如果服务器保持向后兼容性,即使服务器端提供了新版本(服务和WSDL),客户端仍将使用旧的WSDL .

  • 您无法从WSDL获取 endpoints URL,因此如果服务 endpoints 位置已更改(但不是WSDL),则需要重新配置客户端 .

  • 没有对服务器的额外调用

B.使用WSDL位置作为远程资源(HTTP)并在每次创建客户端实例时下载WSDL?

有什么优点和缺点?

1 回答

  • 2

    哪个更好取决于您的设置和您的需求,但我个人更喜欢在客户端内部使用WSDL,原因如下:

    • 没有额外调用服务器来获取WSDL(正如你所提到的);

    • 如果服务器保持向后兼容性,本地WSDL仍然可以使用(如你所提到的);

    • 如果服务WSDL以不兼容的方式更改并且您的客户端突然开始失败,您仍然在本地拥有旧的WSDL,您可以将其与新的WSDL进行比较以查看不同的内容 .

    以下几点通常不是问题:

    您无法从WSDL获取 endpoints URL,因此如果服务 endpoints 位置已更改(但不是WSDL),则需要重新配置客户端 .

    The endpoint URL in the WSDL is not always correct,即使它是,你通常可以在与服务相同的URL访问WSDL,只需在它之后粘贴一个 ?wsdl 参数,这样如果位置发生变化,你将找不到服务,但你也找不到WSDL . 无论如何,服务 endpoints URL都需要在您的客户端中进行配置 .

相关问题