Dim*_* C. 5 soap wsdl backwards-compatibility
使用IPC库时,重要的是它提供了客户端和服务器即使在其API版本不同时也可以进行通信的可能性.由于我正在考虑将SOAP用于我们的客户端/服务器应用程序,我想知道SOAP/WSDL解决方案是否可以很好地处理API更改.
例如:
注意:"struct"我指的是复合类型
据我所知,没有符合 SOAP/WSDL 标准的东西。但存在解决此类问题的工具。例如,在 Glassfish 中,您可以指定XSL样式表来转换 Web 服务的请求/响应。其他解决方案(例如 Oracle SOA 套件)提供了更精细的工具来管理 Web 服务的版本控制和组件集成。消息可以自动路由到不同版本的网络服务和/或转换。您将需要检查您的目标基础设施提供什么。
编辑:
XML 和 XSD 在模式的演变方面比面向对象语言中的类型和序列化更加灵活。有些东西可以通过简单地将它们声明为可选来向后兼容,例如
null如果客户端不发送它,您会得到一个值null则在客户端不提供它时您会得到请注意,我不能 100% 确定该列表。但一些测试可以告诉您什么有效,什么无效。要点是 XML 是通过线路发送的,因此它提供了一定的灵活性。