Ось генерирует все классы, но не Ось2? - PullRequest
3 голосов
/ 20 апреля 2011

Я создал заглушки, используя следующие команды

Ось: java org.apache.axis.wsdl.WSDL2Java CrmDiscoveryServiceWsdl.xml: создает все классы

Axis2: wsdl2java.bat -u -uri CrmDiscoveryServiceWsdl.xml: создает только несколько классов.

       Pattern I observed is, in the wsdl:types section, it has created classes for the <s:element> types but not  <s:complexTypes>. I don't get why. I have to use those complexType elements to consume webservice.

Я также пробовал опции -pn, -ap, думал, что они могут работать, но порты не имеют к этому никакого отношения.Я понял после того, как сделал это.

Примечание. Я могу сгенерировать все с помощью Axis2, когда использую опции -ss -g, которые также генерируют серверную часть.Очевидно, это обходной путь, и мне не нужно хотя бы некоторые из них.

Пожалуйста, помогите.

Спасибо.

1 Ответ

1 голос
/ 17 августа 2011

Я тоже это заметил с чем-то немного другим.Генерация заглушек с Axis2 1.6 против Great Plains 10, некоторые типы отсутствовали.Все они были сложными типами xsd, которые получены из других типов в определении схемы.Это вызвало только ошибку при анализе ответа, который включал эти пропущенные типы.Ошибка была выдана из ExtensionMapper.

После генерации с опцией '-g' в ExtensionMapper включено больше типов (включая эти отсутствующие производные типы), и проблема исправлена.

Я не уверен, какой генерирующий серверсторонний код имеет отношение к правильному синтаксическому анализу и генерации bean-компонентов adb, но теперь он работает.

В Apache Axis JIRA также есть ошибка, в которой упоминаются разные bean-компоненты при использовании -g против неиспользуемых: http://issues.apache.org/jira/browse/AXIS2-3988

...