我正在呼叫服务,其中他们具有包含数千个字段的WSDL。我们使用了数百个这些字段。有时,它们会对我们使用的字段之一进行破坏性的WSDL更改。这给我们带来了问题,因为当我们存储有效载荷时,我们通过将它们编组为XML来存储它们。
因此在我们的数据库上,我们有类似的东西
| WSDL VERSION | XML |
|--- |-------|
| 1.1 | BLAH |
| 1.2 | BLAH2 |
| 1.3 | BLAH3 |
问题在于我们的界面必须与任何版本向后兼容。因此,我的问题是解决该问题的解决方案是什么?
我能想到的一些东西
- 在上面的示例中,WSDL2Java运行了3次,为每个版本的WSDL创建了不同的名称空间
- 主要缺点:必须为多个名称空间将映射代码从我的对象写入wsdl
- 使用通用格式并以我的格式存储数据
- 主要缺点:我现在有一个额外的映射层,供应商对象->内部对象->接口
我是否缺少任何潜在的解决方案,或者我的任何一种解决方案都可以消除主要弊端?
谢谢, 布莱恩