【问题标题】:Backward compatibility of SOAP WSDLSOAP WSDL 的向后兼容性
【发布时间】: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 更改而不得不更改它的源代码?如何使其向后兼容?

【问题讨论】:

标签: java soap wsdl


【解决方案1】:

如果您修改响应,这将对 wsdl 产生影响。如果你不想要这个,你可以返回旧的 wsdl(你需要把它放在你的 war/ear 的 /resources 文件夹中)。我做过一次,所以这是可能的。 但这有点脏……

【讨论】:

【解决方案2】:

不应使用 WSDL 描述中的部分来实现业务信息。 它应该尽可能保持静止。 这些字段用于定义标题、正文、自定义签名等部分......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多