我需要编写一个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版本引用正确的存根类/方法?
谢谢
答案 0 :(得分:-1)
是否可以有一个像Client接口这样的接口以及像一个ClientV1和ClientV2这样的两种实现?