SOAP WSDL的向后兼容性

时间:2013-06-04 07:10:42

标签: java soap wsdl

我们已在现有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更改而必须更改其源代码?如何使其向后兼容?

2 个答案:

答案 0 :(得分:0)

如果修改响应,则会对wsdl产生影响。如果您不想这样,您可以返回旧的wsdl(您需要将其放入war / ear中的/ resources文件夹中)。我做了一次,所以有可能。 但这有点污垢......

答案 1 :(得分:0)

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