什么被认为是对 WSDL 合同的非破坏性或向后兼容的更改? [英] What are considered non-breaking or backwards-compatible changes to a WSDL contract?

查看:19
本文介绍了什么被认为是对 WSDL 合同的非破坏性或向后兼容的更改?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

此页面列出了以下示例:

  • 向现有 WSDL 文档添加新的 WSDL 操作
  • 在 WSDL 文档中添加新的 XML 模式类型,这些类型不包含在先前存在的类型中

但是有没有定义或者标准哪些更改被认为是向后兼容的指南.或者换句话说,您可以对合同进行哪些更改,并且仍然希望不会破坏您的客户.

But is there a definition or standard guideline for what changes are considered backwards-compatible. Or in other words, what changes can you make to your contract, and still expect not to break your clients.

推荐答案

我在这个特定主题上花了一些时间,并在 Thomas Erl 的一本书中找到了一些指南,我在底部引用了这些指南.这是他们要说的;

I have spent some time on this particular subject, and found some guidelines in a book by Thomas Erl which I refer to at the bottom. Here is what they have to say;

兼容的变化

  • 添加新的 WSDL 操作定义和关联的消息定义
  • 添加新的 WSDL 端口类型定义和关联的操作定义
  • 添加新的 WSDL 绑定和服务定义
  • 向消息定义添加新的可选 XML 架构元素或属性声明
  • 减少消息定义类型的 XML 架构元素或属性的约束粒度
  • 向消息定义类型添加新的 XML 架构通配符
  • 添加新的可选 WS-Policy 断言
  • 添加新的 WS-Policy 替代方案

不兼容的更改

  • 重命名现有的 WSDL 操作定义
  • 删除现有的 WSDL 操作定义
  • 更改现有 WSDL 操作定义的 MEP
  • 向现有 WSDL 操作定义添加错误消息
  • 向消息添加新的必需 XML 架构元素或属性声明定义
  • 增加 XML Schema 元素或属性声明的约束粒度消息定义
  • 重命名消息中的可选或必需的 XML 架构元素或属性定义
  • 删除可选或必需的 XML 架构元素或属性或通配符来自消息定义
  • 添加新的必需 WS-Policy 断言或表达式
  • 添加一个新的可忽略的 WS-Policy 表达式(大部分时间)

Thomas Erl 等人写了一本关于这个特定主题的好书;名称是 Web Service Contract Design &SOA 的版本控制.

There is a great book on this particular subject from Thomas Erl et al; The name is Web Service Contract Design & Versioning for SOA.

HTH.

免责声明:正如我所提到的,这是本书作者所做的工作,我只是分享它.无论如何,我也没有隶属关系;只是喜欢这本书 :)

Disclaimer: As I've mentioned, this is work done by the authors of the book and I'm merely sharing it. I'm also not affiliated in anyway; just liked the book :)

这篇关于什么被认为是对 WSDL 合同的非破坏性或向后兼容的更改?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆