Apache CXF с JAX-WS — различия WSDL с WSDL, созданным Axis2

У нас есть устаревшее приложение, использующее подход Java-first для веб-сервисов SOAP. До сих пор мы использовали axis2, но решили перейти на Apache CXF с JAX-WS. Мы переписали код и внесли необходимые изменения в Spring XML для генерации WSDL. Но мы столкнулись с одной серьезной проблемой в сгенерированном WSDL, которая мало чем отличается от проблемы Axis2, что, в свою очередь, приводит к разрыву контрактов с клиентами. Например, у нас есть API ниже, представленный в интерфейсе:

      public OTPB2BResponse validateOTP(@WebParam(name = "otpB2BRequest") OTPB2BRequest otpB2BRequest);

В сгенерированном WSDL это выглядит так:

Ось2:

CXF с JAX-WS:

Для входного сообщения ось2 отображается как имя операции. Запрос с действием в качестве имени операции , где, как и в CXF, отображается только имя операции без какого-либо действия.

Но я хочу сгенерировать WSDL так же, как Axis 2. Я понятия не имею, что пошло не так, и пробовал различные варианты@WebParamаннотация, но ни один из них не работает. Я даже пробовал с@RequestWrapperаннотация, но не повезло.

У меня есть десятки веб-сервисов, которые создаются таким образом, что приводит к разрыву контрактов с клиентами. Есть ли способ сгенерировать WSDL так же, как Axis2?

0 ответов

Другие вопросы по тегам