![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| eXcile |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 168 Регистрация: 8.2.2007 Репутация: нет Всего: 5 |
всем доброго времени суток!
столкнулся со следующей проблемой. Есть web сервис писанный на delphi, работающий по протоколу soap. Мне нужно из jboss к нему обратиться. Проблемы с генерацией прокси классов. ПРокси создаю с помощью Apache muse 22.2.0 вылетает следующий эксепшн: WARNING: [ID = 'NoWSRPSchema'] No WS-RP schema found. java.lang.RuntimeException: [ID = 'NotDocLiteral'] The WSDL operation 'login' is not doc-literal because it defines a message with more than one message part fo r its SOAP Body. The SOAP Body of a doc-literal message should contain one root request element (with the operation name) with zero or more child elements (the parameters). at org.apache.muse.tools.inspector.ResourceInspector.getInputName(Resour ceInspector.java:486) at org.apache.muse.tools.inspector.ResourceInspector.createJavaMethod(Re sourceInspector.java:329) at org.apache.muse.tools.inspector.ResourceInspector.getOperations(Resou rceInspector.java:570) at org.apache.muse.tools.inspector.ResourceInspector.run(ResourceInspect or.java:888) at org.apache.muse.tools.generator.analyzer.SimpleAnalyzer.inspect(Simpl eAnalyzer.java:409) at org.apache.muse.tools.generator.analyzer.SimpleAnalyzer.analyze(Simpl eAnalyzer.java:348) at org.apache.muse.tools.generator.Wsdl2Java.run(Wsdl2Java.java:178) at org.apache.muse.tools.generator.Wsdl2Java.main(Wsdl2Java.java:270) SEVERE: [ID = 'CodeGenFailed'] Code generation failed, see the exception informa tion below. An exception was caught: [ID = 'NotDocLiteral'] The WSDL operation 'login' is no t doc-literal because it defines a message with more than one message part for i ts SOAP Body. The SOAP Body of a doc-literal message should contain one root req uest element (with the operation name) with zero or more child elements (the par ameters). что это за WS-RP? PLZ подскажите в чем эрор... --------------------
Не становитесь рабом шаблона [Винсент Ван Гог] |
|||
|
||||
| eXcile |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 168 Регистрация: 8.2.2007 Репутация: нет Всего: 5 |
при общении soap мессагами
отправляю запрос на сервис
при соединении со службой приходит весь wsdl файл, хотя должен прийти ответ. никаких ошибок нет, в чем может быть ГВОЗДЬ? это первый опыт работы с web службами, попробовал создать на axis, прекрасная вещь, все сделал за 5 минут. Но сказали работать через уже имеющуюся службу, а сроки горят... Форумчане помогите --------------------
Не становитесь рабом шаблона [Винсент Ван Гог] |
|||
|
||||
| y3u |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 9.9.2006 Где: Москва Репутация: 7 Всего: 13 |
WSRP хрен с ним с ворнингом, имхо
по поводу еррора. покажи WSDL-ник, что ли... с XSD-ихами... по поводу "мануального" коннекта, не все так просто, как ты пишешь ПыСы если хочешь досконально разобраться на примере, то возьми XML Spy, он умеет разбирать WSDL-и слать на порты соап энвелопы по схеме, и возьми какой-нибудь сниффер, посмотришь содержимое пакетов которыее гоняются Это сообщение отредактировал(а) y3u - 10.8.2007, 09:04 -------------------- В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах |
|||
|
||||
| eXcile |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 168 Регистрация: 8.2.2007 Репутация: нет Всего: 5 |
вот wsdl
--------------------
Не становитесь рабом шаблона [Винсент Ван Гог] |
|||
|
||||
| ekr |
|
|||
![]() ...и это пройдет... ![]() ![]() Профиль Группа: Участник Сообщений: 359 Регистрация: 6.5.2007 Где: Moscow, RU Репутация: 12 Всего: 19 |
Так эта operation в wsdl и задекларирована НЕ как doc-literal: eXcile, скажи, а кто реализовывал сервис и писал WSDL? Не мог ли WSDL измениться? |
|||
|
||||
| eXcile |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 168 Регистрация: 8.2.2007 Репутация: нет Всего: 5 |
Служба была реализована раньше, средствами delphi, сейчас она просто предстала передо мной. маловероятно. может сделать doc-literal и можно прокси сгенерить? y3u предложил хороший метод разобраться, но это займет определенное время. Хотелось бы забацать через прокси, там по-моему организация через вызов метода и передачу параметров, как в axis. Это сообщение отредактировал(а) eXcile - 10.8.2007, 10:30 --------------------
Не становитесь рабом шаблона [Винсент Ван Гог] |
|||
|
||||
| y3u |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 9.9.2006 Где: Москва Репутация: 7 Всего: 13 |
довольно странно... попробуй вручную сгенерить прокси классы при помощи тулы wsdl2java... единственное что, я не знаю как в этой либе она имплементирована... кстати, может это она глючит
-------------------- В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах |
|||
|
||||
| ekr |
|
|||
![]() ...и это пройдет... ![]() ![]() Профиль Группа: Участник Сообщений: 359 Регистрация: 6.5.2007 Где: Moscow, RU Репутация: 12 Всего: 19 |
значит, все-таки такая вероятность есть ) да, я думаю, стоит попробовать перегенерить stub. попробуй пока просто перегенерить stub по существующему wsdl. |
|||
|
||||
| eXcile |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 168 Регистрация: 8.2.2007 Репутация: нет Всего: 5 |
я думаю, что wsdl-ник тот, так как с этим сервисом работают клиенты php, asp и delphi буду пробовать --------------------
Не становитесь рабом шаблона [Винсент Ван Гог] |
|||
|
||||
| eXcile |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 168 Регистрация: 8.2.2007 Репутация: нет Всего: 5 |
вылетел такой эксепшн C:\>java org.apache.axis.wsdl.WSDL2Java d:\1\Isui.wsdl log4j:WARN No appenders could be found for logger (org.apache.axis.i18n.ProjectR esourceBundle). log4j:WARN Please initialize the log4j system properly. Exception in thread "main" java.lang.NoClassDefFoundError: javax.wsdl.Definition at org.apache.axis.wsdl.toJava.JavaGeneratorFactory.class$(JavaGenerator Factory.java:68) at org.apache.axis.wsdl.toJava.JavaGeneratorFactory.addDefinitionGenerat ors(JavaGeneratorFactory.java:179) at org.apache.axis.wsdl.toJava.JavaGeneratorFactory.addGenerators(JavaGe neratorFactory.java:133) at org.apache.axis.wsdl.toJava.JavaGeneratorFactory.<init>(JavaGenerator Factory.java:111) at org.apache.axis.wsdl.toJava.Emitter.<init>(Emitter.java:159) at org.apache.axis.wsdl.WSDL2Java.createParser(WSDL2Java.java:209) at org.apache.axis.wsdl.gen.WSDL2.<init>(WSDL2.java:96) at org.apache.axis.wsdl.WSDL2Java.<init>(WSDL2Java.java:194) at org.apache.axis.wsdl.WSDL2Java.main(WSDL2Java.java:371) каким образом инициализировать log4j? и что это такое и для чего? Это сообщение отредактировал(а) eXcile - 10.8.2007, 13:23 --------------------
Не становитесь рабом шаблона [Винсент Ван Гог] |
|||
|
||||
| y3u |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 9.9.2006 Где: Москва Репутация: 7 Всего: 13 |
да хрен с ним с ворнингом. Проблема в том, что ты classpath не сформировал... у тебя не может найти класс javax.wsdl.Definition....
-------------------- В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах |
|||
|
||||
| eXcile |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 168 Регистрация: 8.2.2007 Репутация: нет Всего: 5 |
готово вылетел новый эксепшн
--------------------
Не становитесь рабом шаблона [Винсент Ван Гог] |
||||
|
|||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 8 Всего: 118 |
||||
|
||||
| eXcile |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 168 Регистрация: 8.2.2007 Репутация: нет Всего: 5 |
методом ручной модификации wsdl-ника:
удалил блоки в блоке portType <input message="tns:XXX"> </input> <output message="tns:XXX"> </output> стабы сгенерированы. получилось 7 объектов. Isui.java IsuibindingStub.java Isuiservice.java IsuiserviceLocator.java TServiceInfo.java TUserInfo.java TUserModuleRight.java но дальше не могу понять последовательность действий, чтобы вызвать методы --------------------
Не становитесь рабом шаблона [Винсент Ван Гог] |
|||
|
||||
| y3u |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 9.9.2006 Где: Москва Репутация: 7 Всего: 13 |
ну я так понимаю, что сервис называется Isui? тогда первым делом надо смотреть в класс Isui и в Isuiservice, какие там есть методы. Обычно, стабы генерятся в виде фэктори. Надо посмотреть в каком классике есть методы, которые предоставляет веб сервис и посмотреть по иерархии как этот класс может инстанциироваться. Стабы используются как обычные бины, т.е. MyWSProxyFactory.createWebServiceStub(...) или же просто new MyService(...). Что-то вроде. Думаю, подробности можно уточнить в документации...
-------------------- В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах |
|||
|
||||
![]()
|
| Правила форума "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. |