向webservice添加方法:旧客户端是否需要更新Web引用?

lan*_*nce 18 soap wsdl web-services signatures

ProductA使用我们唯一的Web服务,它是ProductA的单独部署.我们将两者部署到生产中.

后来,我们正在编写ProductB.在此过程中,我们为我们唯一的Web服务添加了一种新方法.当ProductA发布时,该新方法不在WSDL中.我们在开发过程中不对ProductA进行任何更改.

当我们将ProductB部署到生产环境时,我们还部署(生产)我们唯一的Web服务的新版本(到ProductA期望找到它的同一端点URL).我们不会将ProductA重新部署到生产环境中.

我们唯一的Web服务的WSDL在生产中已经改变,但ProductA使用的方法的签名没有改变.他们仍然在WSDL中.

由于我们以这种方式升级我们唯一的网络服务,ProductA会有任何问题吗?

如果Web服务改变了原来的客户端方法不变,你是否必须升级webservice的客户端?

ben*_*njy 16

不会.只要您离开了产品A单独使用的方法,您就不必更新产品A的WebReference副本.


Aar*_*ght 14

只是为现有答案添加更多细节,对需要对客户端代理进行相应更改的Web服务的唯一更改是:

  • 删除方法;
  • 改变方法签名;
  • 更改绑定/行为(即使用加密).

添加新方法或向类型添加新字段/属性几乎总是不间断的更改(仍然,使用客户端测试并不会有害).

当然,请记住,客户端在重建之前实际上无法使用这些新方法或属性.但它不会破坏现有的功能.