Java 调用不同版本的SOAP API(无代码重复)

Java 调用不同版本的SOAP API(无代码重复),java,web-services,design-patterns,soap,jax-ws,Java,Web Services,Design Patterns,Soap,Jax Ws,我需要编写一个java客户机来调用应用程序公开的一些SOAP API 客户机应该能够连接到同一应用程序的不同版本,该应用程序公开不同版本的API和不同的WSDL。 我为生成的存根类提供了不同的包,每个版本的wsdl对应一个包。 调用API的客户端代码在不同版本的API中是相同的。如何实现客户端逻辑而不复制每个api版本的代码 例如,如果客户端逻辑为: callStubMethodApiFoo() callStubMethodApiBar() 我的解决方案是有两个客户端实现,一个用于APIv1:

我需要编写一个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这样的实现吗