所以我对 Web 服务有点陌生,最近出现了一种情况,我们向返回给客户端的数据类型添加了一个元素。客户抱怨这破坏了他们的实施,因为它阻塞了它没想到的新元素。(我们通过 Axis2 提供服务)。
对我来说,这似乎是一个无害的更改,客户端应该能够优雅地处理(我使用过一些非 Web 服务框架,在这些框架中添加可选信息是完全可以接受的)。如果我们删除或重命名了一些会导致客户出现问题的字段,我可以理解。
基本上我希望 wsdl 像一个接口一样工作。如果我们进行实质上为该接口子类型的更改,我希望客户端会愉快地忽略无关元素。这只是 Web 服务的一个短板,还是有一种理智的方式对服务进行被动更改,以便新客户可以获得额外的数据,而老客户可以在闲暇时更新?