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

时间:2015-06-02 13:16:49

标签: soap wsdl

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

一个。获取WSDL并将其存储在客户端本地,然后仅调用服务

  • 如果服务器保持向后兼容性,即使服务器端提供了新版本(服务和WSDL),客户端仍将使用旧的WSDL。
  • 您无法从WSDL获取端点URL,因此如果服务端点位置已更改(但不是WSDL),则需要重新配置客户端。
  • 无需额外调用服务器

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

有什么优点和缺点?

1 个答案:

答案 0 :(得分:2)

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

  • 没有额外调用服务器来获取WSDL(正如你所提到的);
  • 如果服务器保持向后兼容性,则本地WSDL仍然可以使用(如您所述);
  • 如果服务WSDL以不兼容的方式更改并且您的客户端突然开始失败,那么您仍然可以在本地使用旧的WSDL,并且可以将其与新的WSDL进行比较,以查看它们的不同之处。

以下几点通常不是问题:

  

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

The endpoint URL in the WSDL is not always correct即使是这样,您通常只需在服务的同一URL上访问WSDL,只需在其后面加上?wsdl参数,这样如果位置发生变化,您就赢了找到服务,但你也找不到WSDL。无论如何,服务端点URL都需要在您的客户端中进行配置。