![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Athlon |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 15.1.2006 Где: Украина:: Запорож ье Репутация: нет Всего: нет |
Доброго времени суток.
Столкнулся с необходимостью дописать к своему приложению СОАП клиента. Имеется WSDL вэб сервиса с которым мое приложение будет взамодействовать. С помощью wsimport сгенерировал код, с помощью SoapUI создал эмулятор сторонего вэб сервиса, написал простенький тестовый пример:
Возникла следующая проблема - вэб сервис в SoapUI получает сообщение, а тестовый пример при отправке сообщения ругается таким вот эксепшеном:
В гугле нашел что помогает "One way to fix this is to copy jaxws-api.jar and jaxb-api.jar into JRE endorsed directory, which is $JAVA_HOME/lib/endorsed", но у меня после копирования этих Jar'ов оказалось что "Provider com.sun.xml.ws.spi.ProviderImpl not found", какие еще jar'ы нада скопировать я не подобрал. Вобщем я в полной растеряности, буду рад любой помощи. |
||||
|
|||||
XupyprMV |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 16.10.2006 Где: Сыктывкар, Россия Репутация: нет Всего: нет |
Подобные ошибки получал только при попытке парсинга XML не в той кодировке (если не изменяет память пытался парсить cp1251 файл в utf8-кодировке).
Я делаю достаточно просто: генерю артефакты клиента для веб-сервиса при помощи wsimport, затем создаю инвокер используя сгенеренные классы:
После этого остаётся использовать инвокер для вызова веб-методов. Пы. Сы. Ещё помнится раньше была беда с тем что в 6-й яве некорректно работали веб-сервисы написанные под 5-й явой с использованием jaxws-api-2.1.2.jar (ибо в 6-ю версию уже встроена эта библиотека, но более ранней версии). Эту проблему я решал с использованием endorsed. Конкретно по библиотекам, которые я изменял: activation-2.1.2.jar jaxb-impl-2.1.2.jar jtds-1.2.jar spring-beans-2.5.4.jar commons-codec-1.3.jar jaxb-xjc-2.1.2.jar spring-core-2.5.4.jar commons-logging-1.1.1.jar jaxws-api-2.1.2.jar stax-api-1.0.1.jar FastInfoset-2.1.2.jar jaxws-rt-2.1.2.jar stax-ex-2.1.2.jar jaxws-tools-2.1.2.jar resolver-2.1.2.jar streambuffer-2.1.2.jar jsr173_api-2.1.2.jar saaj-api-2.1.2.jar wstx-asl-3.2.0.jar http-2.1.2.jar jsr181-api-2.1.2.jar saaj-impl-2.1.2.jar jaxb-api-2.1.2.jar jsr250-api-2.1.2.jar sjsxp-2.1.2.jar Возможно библиотеки jtds-1.2.jar, spring-core-2.5.4.jar и spring-core-2.5.4.jar тут лишние (давно было - не помню точно) |
|||
|
||||
Athlon |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 15.1.2006 Где: Украина:: Запорож ье Репутация: нет Всего: нет |
Так и я делаю тоже самое, все предельно просто, но почему-то работает как-то криво. Возможно есть проблема с кодировкой, но я не нашел где нужно указать веб сервису нужную мне кодировку(в WSDL указана UTF-8). P.S. по поводу библиотек, где их все взять в одном флаконе? я скачал Java Web Services Developer Pack, но там многих нет. |
|||
|
||||
XupyprMV |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 16.10.2006 Где: Сыктывкар, Россия Репутация: нет Всего: нет |
Попробовал сам сгенерить сервис, получил вот такую вещь:
Caused by: java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader, but this RI (from jar:file:/home/***/.m2/repository/com/sun/xml/bind/jaxb-impl/2.1.7/jaxb-impl-2.1.7.jar!/com/sun/xml/bind/v2/model/impl/ModelBuilder.class) needs 2.1 API. Use the endorsed directory mechanism to place jaxb-api.jar in the bootstrap classloader. (See http://java.sun.com/j2se/1.5.0/docs/guide/standards/) То есть я даже до вашей ошибки не дошёл... стало быть у вас наврятли проблемы с библиотеками... проблемы именно с парсингом... Пробовали сгенерить клиента для другого веб-сервиса? Возможно это вам поможет: http://www.jroller.com/gmazza/entry/creati...oap_client_with http://www.jroller.com/gmazza/date/20090110 http://www.jroller.com/gmazza/date/20090119 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |