Вызвать другую версию SOAP API (без дублирования кода) - PullRequest
0 голосов
/ 22 октября 2018

Мне нужно написать Java-клиент для вызова некоторых API-интерфейсов SOAP, предоставляемых приложением.

Клиент должен иметь возможность подключаться к другой версии одного и того же приложения, которая предоставляет разные версии 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 во время выполнения?

Спасибо

1 Ответ

0 голосов
/ 22 октября 2018

Возможно ли иметь интерфейс, подобный интерфейсу клиента, и две реализации, например, один ClientV1 и ClientV2?

...