Ошибка публикации веб-сервиса

У меня есть файл WSDL, из которого я создал каркас кода на стороне сервера. Теперь, после модификации этих каркасных классов Java, я удалил файл WSDL из папки проекта. Теперь я пытаюсь подготовить веб-сервис для этих классов. Я использую для этого движок Axis и apache tomcat 5.5, который встроен в eclipse. Но когда я начинаю это, я получаю следующую ошибку.

IWAB0489E Ошибка при развертывании веб-службы в среде выполнения Axis. Ошибка администратора оси с {http://schemas.xmlsoap.org/soap/envelope/}Server.userException java.lang.reflect.InvocationTargetException

Может ли кто-нибудь помочь. Что это за ошибка??


person Stuti    schedule 27.05.2011    source источник
comment
вы используете eclipse и экземпляр внутреннего сервера приложений?   -  person guido    schedule 27.05.2011
comment
Есть ли что-нибудь еще в журнале? Я ожидаю увидеть исключение, показывающее причину InvocationTargetException.   -  person Jon Skeet    schedule 27.05.2011
comment
Нет, в журнале больше ничего нет, Джон.   -  person Stuti    schedule 27.05.2011
comment
@Stuti Почему вы удалили файл WSDL и какие изменения вы внесли в классы скелета?   -  person bakoyaro    schedule 02.11.2011
comment
@bakoyaro Я хочу воссоздать файл WSDL с кодом во время публикации веб-службы.   -  person Stuti    schedule 11.11.2011
comment
Я сталкивался с подобными проблемами в eclipse раньше, когда использовал автоматическую генерацию для веб-службы как на стороне клиента, так и на стороне сервера. Мой код был довольно маленьким, поэтому я создал новое рабочее пространство и проект, скопировал свой java-файл в новый проект и повторно запустил мастер wsdl2java, и он сработал. Похоже, это какая-то проблема с кэшированием в экземпляре tomcat eclispe. Я так и не нашел почему!   -  person Stainedart    schedule 14.11.2011
comment
@Карл Спасибо .. за предложение !! Надеюсь, это сработает. Я проверю это и опубликую ответ.   -  person Stuti    schedule 14.11.2011
comment
Предложение: поставьте точку останова на java.lang.reflect.InvocationTargetException и запустите сервер в режиме отладки... тогда вы, надеюсь, сможете увидеть основную ошибку. Однако не уверен, почему вы удаляете WSDL. Конечно, нет смысла автоматически генерировать его, поскольку ваш скелет привязан к этому WSDL?   -  person davidfrancis    schedule 07.12.2011
comment
Серьезно, Axis не обновлялся более 5 лет. Ради любви ко всему, что есть Java, пожалуйста, не используйте ее. Существует множество других вариантов SOAP, которые намного лучше. Spring-ws, Apache CXF... Даже Axis2 будет лучше.   -  person Mike Yockey    schedule 20.12.2011


Ответы (3)


У меня была эта проблема раньше, решение? Используйте JAX-WS вместо Axis.

person Aldo Israel    schedule 20.12.2011

Я думаю, вы пытаетесь вызвать какой-то метод из скелета клиента, который вы создали из файла wsdl. Если вы вызываете какой-либо из открытых методов, убедитесь, что параметры, которые вы отправляете, верны.

userExceptions в основном приходят с отправкой неправильных параметров

Из моего опыта: Проверьте это

person Anuj Balan    schedule 15.12.2011
comment
Ошибка при развертывании веб-службы, а не при вызове - person Vadzim; 20.12.2011

invocationTargetException возникает, когда некоторые из классов зависимостей могут быть пропущены в пути cass (пути сборки) проекта веб-службы (я имею в виду, что веб-служба может использовать некоторые внешние банки или внешние проекты в качестве ссылки, если предположим, что они не в классе путь (путь сборки), он показывает исключение invocationTargetException при создании веб-сервиса). Поэтому убедитесь, что все классы/проекты зависимостей должны находиться в пути класса проекта веб-сервиса (путь сборки).

person sethupathi.t    schedule 20.12.2011