Ось Apache ошибка WSDL2Java - отсутствующий <soap:fault> элемент

Мы интегрируем третье лицо веб-сервисы SOAP в нашем приложении. WSDL используется с инструментом SOAPUI, где демонстрационные запросы и ответы хорошо работали.

Когда мы пытаемся интегрироваться с апачской Осью 1.3, где мы попробовали WSDL2JAVA WSDL. Мы получили следующую ошибку

java.io. IOException: ОШИБКА: Недостающий элемент inFault "serviceFault" в операции "serviceFault", в привязке saveRegistration в org.apache.axis.wsdl.symbolTable. SymbolTable.faultsFromSOAPFault(SymbolTable.java:2858) в org.apache.axis.wsdl.symbolTable. SymbolTable.populateBindings(SymbolTable.java:2549) в org.apache.axis.wsdl.symbolTable. SymbolTable.populate(SymbolTable.java:744) в org.apache.axis.wsdl.symbolTable. SymbolTable.add(SymbolTable.java:543) в org.apache.axis.wsdl.symbolTable. SymbolTable.populate(SymbolTable.java:518) в org.apache.axis.wsdl.symbolTable. SymbolTable.populate(SymbolTable.java:495) в org.apache.axis.wsdl.gen. Parser$WSDLRunnable.run (Синтаксический анализатор java:361) в java.lang. Thread.run (Неизвестный Источник)

Кто-либо уже столкнулся с этой проблемой и решил?

5
задан Pearl 25 January 2010 в 23:07
поделиться

1 ответ

Я полагаю, что для этого открыта JIRA.

Описание:

Когда у вас есть привязка soap 1.2 с soap fault, элемент fault извлекается неправильно, что приводит к ошибке

 ERROR: Missing <soap:fault> element inFault "..." in operation "...", in binding ...

Их временная рекомендация - добавить строчку кода и перекомпилировать Axis1... Неа.

Лично я просто загрузил wsdl-файл (это сервис Axis 2, а у меня клиент Axis 1.5) и отредактировал пространство имен для всех следующих строк с:

     <wsdl:fault name="Exception">
        <soap12:fault use="literal" name="Exception"/>
     </wsdl:fault>

на:

     <wsdl:fault name="Exception">
        <soap:fault use="literal" name="Exception"/>
     </wsdl:fault>

Как было предложено здесь.

Обновление до Axis2, однако, является лучшим долгосрочным решением. После решения этой проблемы я обнаружил еще больше ошибок в коде, сгенерированном WSDL2JAVA.

14
ответ дан 13 December 2019 в 02:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: