我正在重构一个依赖于 SOAP 服务的服务。不幸的是,SOAP 服务会定期更改。我的服务使用从 SOAP 的 wsdl 文档生成的类。没有任何层可以将 SOAP 服务中定义的实体与我的逻辑分开。换句话说,SOAP 服务泄漏到我的内部,并且它的更改会导致问题。
我想解决这个问题。我正在考虑一种方法,在该方法中,我围绕生成的 SOAP 客户端创建包装器,这将符合我定义的接口。包装器将负责:
- 将我的界面转换为/从我的界面转换为来自 SOAP 服务的内容以及代理需要的内容
- 使用包装生成的客户端调用服务
这样,我将限制 SOAP 服务中更改的影响,以便只有包装器受到影响。
我认为这就是它应该根据“端口和适配器”架构工作的方式。这种方法正确吗?我可以做得更好吗?