Используйте настройку класса для разрешения этого конфликта в Java WSIMPORT - PullRequest
0 голосов
/ 11 февраля 2019

У меня есть wsdl, как показано ниже:

<xs:element name="getlocationlist">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="auth" type="tns:AuthDTO"/>
<xs:element minOccurs="0" maxOccurs="1" name="getlocationlist" 
type="tns:getlocationlist"/>
</xs:sequence>
 </xs:complexType>
 </xs:element>
<xs:complexType name="getlocationlist">
 <xs:sequence>
 <xs:element minOccurs="0" maxOccurs="1" name="ExtensionData" 
  type="tns:ExtensionDataObject"/>
 </xs:sequence>
</xs:complexType>
<xs:element name="getlocationlistResponse">
<xs:complexType>
 <xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="getlocationlistResult">
<xs:complexType>
<xs:sequence>
 <xs:any/>
 </xs:sequence>
 </xs:complexType>
 </xs:element>
 </xs:sequence>
 </xs:complexType>
 </xs:element>

Как вы видите, есть некоторый дублирующий элемент "getlocationlist", wsimport не может генерировать заглушку и рекомендует использовать настройку класса.Есть ли кто-нибудь, кто знает, как использовать настройку класса или дополнительную привязку для этого?Спасибо и признательность в andvance. Пожалуйста, спросите, если вам нужно больше информации.

1 Ответ

0 голосов
/ 12 февраля 2019

Я решил эту проблему.Вот мое решение:

  1. Загрузите двоичный файл apache cxf из http://cxf.apache.org/download.html
  2. Извлеките его и добавьте в свой путь.В MAC обновите ваш bash_profile
  3. Запустите следующую команду:

wsdl2java -client -p your_package_name -autoNameResolution https://gateway.abc.com/something.svc?wsdl

...