Мне поручено использовать веб-сервис SOAP, разработанный с использованием .NET.
Я занимаюсь вопросами Java, поэтому я пытаюсь преобразовать их WSDL-файл: www.mycompany.com/gamingservice.svc?wsdl в классы Java с использованием ApacheCXF или Axis1.
При использовании ApacheCXF, консоль Eclipse регистрирует ошибку, которая гласит: WSDLToJava Ошибка:
www.mycompany.com/gamingservice.svc?xsd=xsd0 [0,0]: Property "Any" is already defined. Use <jaxb:property> to resolve this conflict.
www.mycompany.com/gamingservice.svc?xsd=xsd0 [0,0]: The following location is relevant to the above error
www.mycompany.com/gamingservice.svc?xsd=xsd0 [0,0]: Property "Any" is already defined. Use <jaxb:property> to resolve this conflict.
www.mycompany.com/gamingservice.svc?xsd=xsd0 [0,0]: The following location is relevant to the above error
www.mycompany.com/gamingservice.svc?xsd=xsd0 [0,0]: Property "Any" is already defined. Use <jaxb:property> to resolve this conflict.
Глядя на предлагаемое решение, мне нужно использовать jaxb и файл «binding.xml». Мой файл переплета выглядит примерно так:
<jxb:bindings xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:jxb="http://java.sun.com/xml/ns/jaxb" version="2.1">
<jxb:bindings schemaLocation=" www.mycompany.com/gamingservice.svc?xsd=xsd0">
<jxb:bindings
node="//xs:complexType[@name=RetrieveWeaponsForm]/xs:complexContent/xs:extension/xs:sequence/xs:element/xs:complexType/xs:sequence/xs:any[@namespace='http://tempuri.org/']">
<jxb:property name="any2" />
</jxb:bindings>
</jxb:bindings>
</jxb:bindings>
Может кто-нибудь указать мне правильное направление, как это сделать правильно? Я готов прочитать документы и примеры. Не уверен, что я тоже задаю правильные вопросы. Я чувствую, что веб-служба написана неправильно, поскольку у меня возникли проблемы (как указано выше) при создании классов-заглушек Java, или это нормально для сложных файлов WSDL (где необходимо использовать привязки jaxb)
Странно, чточто Axis1 смог генерировать Java-классы, но некоторые методы не работают должным образом.