soap - 如果我更改 WSDL 的 targetNamespace,是否会破坏现有的使用者?

标签 soap wsdl soa

我目前正在为我的组织制定 SOA 版本控制策略。我正在尝试确定应该在 WSDL 中的何处存储版本号(Major.Minor)。将对服务接口(interface)进行非破坏性更改(即添加新操作),对于这些非破坏性更改,我们只需增加次要编号。我们正在考虑使用 WSDL 的 targetNamespace 来存储版本,但我们担心将 WSDL 的 targetNamespace 从 1.0 更改为 1.1 可能会导致某些客户端发生重大更改。

谁能告诉我更改 WSDL 的 targetNamespace 会对特定 Web 服务的现有使用者产生什么影响。我使用 WCF 运行了一些测试,发现它不会破坏使用该服务的现有应用程序。但是,我想知道其他非 .NET 客户端是否仍然如此?

注意:我确实意识到更改 WSDL 引用的 XSD 的 targetNamespace 确实会导致重大更改。

最佳答案

将主版本号放入命名空间中。将主要和次要放在文档元素中。 Thomas Erl 有一本很棒的书涵盖了此类内容:Web Service Contract Design and Versioning for SOA 。这本书最好的一点是,它会让你思考你可能没有考虑过的事情,比如你是否计划/想要使用严格的、向后兼容或向前兼容的版本控制策略,以及每种策略的含义是什么。

关于soap - 如果我更改 WSDL 的 targetNamespace,是否会破坏现有的使用者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9500854/

相关文章:

php - 多个 NuSOAP 客户端导致 "Undefined index: _transient"错误

ruby - 有哪些方法可以从 WSDL 文件自动生成 ruby​​ 客户端 stub ?

c# - 这两个 XML 相同吗?

java - UsernameToken 的 SOAP wsdl 规范

java - 尝试运行 irca.bat 时未找到 ojdbc14.jar

web-services - 微服务架构中的消息传递

architecture - 具有多个数据源的工作单元?

php - 发出soap请求时数组到字符串的转换错误

soap - 通过互连连接到 Epic Medical System

c# - 如何在 WPF 应用程序中的 SOAP 客户端的 "Cookie" header 响应的新请求中设置 "Set-Cookie" header