【发布时间】:2013-06-04 07:10:42
【问题描述】:
我们在现有的 WSDL 中为新客户端做了一些修改。修改就像在请求和响应中添加了一些参数。如下所述,getDetails 响应仅包含地址字段,现在添加了 firstName:
之前:
<wsdl:message name="getDetails_response">
<wsdl:part name="address" type="tns:addType"></wsdl:part>
</wsdl:message>
稍后:
<wsdl:message name="getDetails_response">
<wsdl:part name="firstName" type="tns:nameType"></wsdl:part>
<wsdl:part name="address" type="tns:addType"></wsdl:part>
</wsdl:message>
我担心旧客户端不会受到上述更改的影响,或者只是重新编译 WSDL 就可以完成工作吗?我不希望那个旧客户端因为这个 WSDL 更改而不得不更改它的源代码?如何使其向后兼容?
【问题讨论】:
-
我认为您必须考虑对系统进行版本控制。这里有一篇关于 WCF 的好帖子:codeproject.com/Articles/352586/…