java - 调用不同版本的 SOAP API(无代码重复)
问题描述
我需要编写一个 java 客户端来调用应用程序公开的一些 SOAP API。
客户端应该能够连接到同一应用程序的不同版本,该应用程序公开不同版本的 API 和不同的 WSDL。对于生成的存根类,我有不同的包,每个版本的 wsdl 都有一个。调用 API 的客户端代码在不同版本的 API 中是相同的。如何在不重复每个 api 版本的代码的情况下实现客户端逻辑?
例如,如果客户端逻辑是:
callStubMethodApiFoo()
callStubMethodApiBar()
我的解决方案是为 APIv1 提供两个客户端实现:
com.application.api.v1.stub.Client.callStubMethodApiFoo()
com.application.api.v1.stub.Client.callStubMethodApiBar()
一个用于 APIv2:
com.application.api.v2.stub.Client.callStubMethodApiFoo()
com.application.api.v2.stub.Client.callStubMethodApiBar()
是否有可能没有重复的代码在运行时为所需的 API 版本引用正确的存根类/方法?
谢谢
解决方案
是否有可能有一个像客户端接口这样的接口和像一个 ClientV1 和一个 ClientV2 这样的两个实现?
推荐阅读
- python - MySQL 查询在 Django 上没有提供足够的参数错误
- image - Xamarin Forms 选择多个图像,取消并重新排列
- visual-studio-code - 如何更改 vscode-server 目录
- javascript - 比较 2 个对象数组并找到匹配的颜色 ID,然后创建一个新数组 Javascript
- android - Unity 5.6.7 - UnityWebRequest SSL/HTTPS
- algorithm - 给定一个数字 k 和一个图表是否有一个 DFS 运行将使森林大于 k
- r - 如何在 R 代码中的两级标题上旋转数据框
- c# - 如何在后台进程中拥有 HttpContext
- flutter - 如何禁用按钮自身颤动
- css - 具有第 n 个类型的嵌套样式组件