Wsdl2java – как заставить возвращаемый тип ответа обернутого вместо использования параметров, заключенных в держатели?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Wsdl2java – как заставить возвращаемый тип ответа обернутого вместо использования параметров, заключенных в держатели?

Сообщение Anonymous »


Используя инструмент wsdl2java для создания клиентских классов, я не могу принудительно обернуть ответ веб-службы в тип возвращаемого значения — тип возвращаемого значения всегда void и параметры OUT, заключенные в Holder, генерируются. Auth.java автоматически созданный клиентский интерфейс выглядит следующим образом:

@WebService(targetNamespace = "http://xml.kamsoft.pl/ws/auth", name = "Auth") @XmlSeeAlso({pl.kamsoft.xml.ws.common.ObjectFactory.class, pl.kamsoft.xml.ws.kaas.login_types.ObjectFactory.class}) @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) публичный интерфейс Auth { // [...] - методы `logout`, `changePassword`, `changePasswordLog` @WebMethod(действие = «вход») публичный недействительный логин( @WebParam(partName = «запрос», name = «логин», targetNamespace = «http://xml.kamsoft.pl/ws/kaas/login_types») запрос pl.kamsoft.xml.ws.kaas.login_types.LoginRequest, @WebParam(partName = «ответ», режим = WebParam.Mode.OUT, name = «loginReturn», targetNamespace = «http://xml.kamsoft.pl/ws/kaas/login_types») ответ jakarta.xml.ws.Holder, @WebParam(partName = «сеанс», режим = WebParam.Mode.OUT, имя = «сеанс», targetNamespace = «http://xml.kamsoft.pl/ws/common», заголовок = true) сеанс jakarta.xml.ws.Holder, @WebParam(partName = «токен», режим = WebParam.Mode.OUT, имя = «authToken», targetNamespace = «http://xml.kamsoft.pl/ws/common», заголовок = true) токен jakarta.xml.ws.Holder ) выдает pl.kamsoft.wsdl.common.AuthenticationExceptionMsg, pl.kamsoft.wsdl.common.ServerExceptionMsg, PassExpiredExceptionMsg, pl.kamsoft.wsdl.common.AuthTokenExceptionMsg, pl.kamsoft.wsdl.common.InputExceptionMsg, pl.kamsoft.wsdl. common.AuthorizationExceptionMsg; } Минимальный пример (файл build.gradle.kts с конфигурацией Gradle):

плагины { Джава id("com.yupzip.wsdl2java") версия "3.0.0" } Джава { цепочка инструментов { LanguageVersion.set(JavaLanguageVersion.of(17)) } } репозитории { mavenCentral() } зависимости { реализация("org.apache.cxf:cxf-rt-frontend-jaxws:4.0.0") реализация("org.apache.cxf:cxf-rt-transports-http-hc5:4.0.0") wsdl2java("com.sun.xml.bind:jaxb-impl:4.0.1") wsdl2java("org.apache.cxf.xjc-utils:cxf-xjc-runtime:4.0.0") wsdl2java("jakarta.xml.ws:jakarta.xml.ws-api:4.0.0") wsdl2java("com.sun.xml.ws:rt:4.0.0") wsdl2java("org.jvnet.jaxb2_commons:jaxb2-namespace-prefix:2.0") wsdl2java("codes.rafael.jaxb2_commons:jaxb2-basics-runtime:3.0.0") wsdl2java("codes.rafael.jaxb2_commons:jaxb2-basics:3.0.0") } wsdl2java { wsdlDir = file("$projectDir/src/main/resources/") includeJava8XmlDependency = false cxfVersion = "4.0.0" cxfPluginVersion = "4.0.0" wsdlsToGenerate = listOf( Список( "-wsdlLocation", "https://ewus.nfz.gov.pl/ws-broker-serve ... /Auth?wsdl", "-autoNameResolution", "https://ewus.nfz.gov.pl/ws-broker-serve ... /Auth?wsdl", ) ) } Как заставить инструмент wsdl2java генерировать класс LoginResponse, экземпляр которого будет возвращен при вызове Auth#loginAuth#login сильный>?

Я пытался включить файл привязки (bindings.xml):

false но ни установка для enableWrapperStyle значения false или true ничего не изменила. Вот как выглядела моя конфигурация (build.gradle.kts):

wsdl2java { wsdlDir = file("$projectDir/src/main/resources/") includeJava8XmlDependency = false cxfVersion = "4.0.0" cxfPluginVersion = "4.0.0" wsdlsToGenerate = listOf( Список( "-b", "$projectDir/src/main/resources/wsdl/bindings.xml", "-wsdlLocation", "https://ewus.nfz.gov.pl/ws-broker-serve ... /Auth?wsdl", "-autoNameResolution", "https://ewus.nfz.gov.pl/ws-broker-serve ... /Auth?wsdl", ) ) } Может ли тот факт, что и session, и token объявлены как wsdlsoap:header, повлиять на результирующий сгенерированный Java-код?
>
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»