WSDL-first: генерация кода CXF развернута / оголена - PullRequest
0 голосов
/ 30 января 2012

Я немного озадачен и полагаю, что мне может не хватать какой-то конфигурации, или, возможно, стоит попробовать что-то отличное от CXF

Использование CXF в Java Я должен использовать все эти объекты Holder, в то время как парни, использующие .Net, совсем не обязаны использовать Holder.

Я думал, что генерация WSDL имела одинаковый результат для всех, поскольку сгенерированный код эквивалентен сигнатуре WSDL.

Более конкретный пример (аннотации удалены):

пока в .net они видят

public loginResponse loginRequest(loginRequest loginRequest1) { }

Я вижу на CXF

public void loginRequest(
        java.lang.String language,
        java.lang.String application,
        java.lang.Boolean userid,
        javax.xml.ws.Holder<java.lang.String> session,
        javax.xml.ws.Holder<java.lang.String> userinfo);

Это внутренне решается в visual studio или я что-то упускаю в CXF?

1 Ответ

1 голос
/ 30 января 2012

Это согласно спецификации JAX-WS. Каждый язык или спецификация диктует, как WSDL отображается на свой конкретный язык. В случае CXF спецификация JAX-WS диктует, что метод является либо «голым» (будет выглядеть как «LogginResponse logingRequest (LoginRequest in)»), либо полностью развернутым, когда объект ответа также развернут и сопоставлен с параметрами, которые вы Получается .Полностью развернутая вещь, которую выполняет .NET, разворачивает параметры, а не ответ.

Вы можете использовать пустой режим, передав параметр -bareMethods в командную строку wsdl2java (при условии недавней версии CXF)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...