Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Bepec от Май 13, 2014, 15:34



Название: Кто имел дело c SOAP?
Отправлено: Bepec от Май 13, 2014, 15:34
Возникла необходимость изучить данную технологию. Написано что она популярна и везде везде применяется, описаний на русском почти нет, библиотек парочку нашел, но...

Вопрос: кто знает сервисы, которые поддерживают SOAP WSDL, желательно с простыми запросами - пообучаться, посмотреть что да как приходит/уходит?

Так же буду рад библиотекам.

QSoap уже имеется, вот только проверить не на чем... Ну да ищу ищу, ну а вдруг подскажете что дельное :)

PS почему темку создал - добрый дядя гугль игнорирует C++ с++ C++ c++ в поиске, выдавая сотни библиотек под php/perl/python и прочая прочая... Выбесил просто :(

PPS и не работает ни 1 из сервисов, приведённых в примерах...


Название: Re: Кто имел дело c SOAP?
Отправлено: OKTA от Май 13, 2014, 16:45
Это не то разве? http://api.yandex.ru/direct/doc/concepts/SOAP.xml


Название: Re: Кто имел дело c SOAP?
Отправлено: Bepec от Май 13, 2014, 16:53
Спасибо, я уже наткнулся на то, что подавляющее большинство сервисов его поддерживают, включая всякие мейлы и робокассы.

Другой вопрос QtSoap в упор не хочет работать... :( грит "Host not found." и понять что не так я не в силах. Рабочий бы пример на рабочем сервере достать... Эээх, там бы разобрался.

Пока нашёл KDSoap, аналог под LGPL. Пытаюсь собрать.


Название: Re: Кто имел дело c SOAP?
Отправлено: OKTA от Май 13, 2014, 16:55
скинь проектик с QtSoap  ;)


Название: Re: Кто имел дело c SOAP?
Отправлено: sergek от Май 13, 2014, 21:03
Другой вопрос QtSoap в упор не хочет работать... :( грит "Host not found." и понять что не так я не в силах. Рабочий бы пример на рабочем сервере достать...
Я использовал QtSoap. Можете посмотреть здесь http://www.freesoft.ru/register_713604 (http://www.freesoft.ru/register_713604).
Там, по сути, два проекта - консольный и гуевый. Консольный чуть попроще.
Правда, предупреждаю - роскомнадзоровский soap-сервис дает ответы не совсем стандартные (нет тегов типа "функцияResult), поэтому мне пришлось парсить их ответы, а не использовать библиотечные методы доступа к данным. Это немного усложнило программу.

Есть тестовый сервис (посмотрите в руководстве пользователя).


Название: Re: Кто имел дело c SOAP?
Отправлено: Bepec от Май 13, 2014, 21:59
Уже что то, а то у меня уже пошел пятый час сборки KDSoap. Сам требует autoregen, autoregen требует mp, mp требует... и так далее :D

to OKTA: опечатка. Прости меня пожалуйста :D Хотя пару тем о нём встречал :D



Название: Re: Кто имел дело c SOAP?
Отправлено: OKTA от Май 14, 2014, 08:01
 ;D о QtSoap я и говорил  ;D


Название: Re: Кто имел дело c SOAP?
Отправлено: Bepec от Май 14, 2014, 12:19
Хм... выело уже весь мозг, но понятна проблема стала. QtSOAP генерит не ожидаемую на том конце структуру. 
По всей видимости сказывается заброс разработки QtSoap - она передаёт данные с форматом 1999 года, а там ожидается от 2001-2003 года... При чем это глобальная проблема с ним :( Все сервисы отказываются понимать его запрос.

PS мб бред несу, но уже без разницы.


Название: Re: Кто имел дело c SOAP?
Отправлено: OKTA от Май 14, 2014, 12:25
А ты откуда его брал?
Тут https://github.com/commontk/QtSOAP пишут, что поддерживается спецификация 1.1. А тот же yandex тоже юзает 1.1...


Название: Re: Кто имел дело c SOAP?
Отправлено: Bepec от Май 14, 2014, 12:44
Ну на яндексе я не пробовал, использовал более прозаичные сервисы типа узнать погоду, узнать температуру и прочая. В общем для моих целей QtSoap не особо подходит. Точнее совсем не подходит, увы.

PS Пока ещё ищу библиотеки, вот эта часть меня всегда бесит. Когда заходишь на сайт, пишут - супер пупер кроссплатформ библиари. Аль платформ рабоспособен! Зер гуд! И херак - под винду нет ни руководства по сборке, ни помощи и никто ниразу не собирал.


Название: Re: Кто имел дело c SOAP?
Отправлено: Kurles от Май 14, 2014, 13:09
Когда нужна была поддержка SOAP, использовал gSOAP, довольно удобная библиотека, и с компиляцией проблем не возникало )


Название: Re: Кто имел дело c SOAP?
Отправлено: Bepec от Май 14, 2014, 13:10
Под винду проблем не возникало? А можно вопрос - как собирали?

PS то ли я такой "удачливый", то ли руки :/

Видимо я такой удачливый. Делал всё по неправильному руководству :( Вроде даже заработало!


Название: Re: Кто имел дело c SOAP?
Отправлено: Bepec от Май 14, 2014, 15:58
Однозначно везёт... В нужном мне WSDL файле идет конфликт имён переменных с С++ :) Надо срочно грушу покупать...


Название: Re: Кто имел дело c SOAP?
Отправлено: sergek от Май 14, 2014, 18:18
Хм... выело уже весь мозг, но понятна проблема стала. QtSOAP генерит не ожидаемую на том конце структуру. 
По всей видимости сказывается заброс разработки QtSoap - она передаёт данные с форматом 1999 года, а там ожидается от 2001-2003 года... При чем это глобальная проблема с ним :( Все сервисы отказываются понимать его запрос.

PS мб бред несу, но уже без разницы.
Если вы о примерах, которые идут вместе с qtsoap, то они и не работали, по крайней мере, с позапрошлого года. Поищите бесплатные веб-сервисы, почитайте их спецификации - все получится. Вот вам пример: http://atomicclock.abundanttech.com/AtomicClock.asmx (http://atomicclock.abundanttech.com/AtomicClock.asmx).
Там обычно бываю даже примеры soap-запросов.
Чтобы вы не стали есть купленную грушу ;) - во вложении пример работы с этим сервисом. У него нет параметров, поэтому это самое простое, что можно придумать.


Название: Re: Кто имел дело c SOAP?
Отправлено: Bepec от Май 14, 2014, 18:28
Да нет, я уже разобрался более-менее с gSoap. Он в отличие от QtSoap имеет в своём функционале парсер wsdl файлов и генерацию h/dexygenDoc для использования в проектах. Меня в начале смутило неправильное руководство.

Да, я так же понял, что те веб сервисы что я пробовал возвращают некорректные xml :D Точнее как xml корректные, а вот под SOAP не подходят чуть чуть :)

Но всё равно спасибо :) Приятно видеть отзывчивых людей ^.^

А грушу надо покупать и писать на ней - php программист. Который без сожалений называет переменные char CHAR bool BOOL String STRING :D


Название: Re: Кто имел дело c SOAP?
Отправлено: sergek от Май 14, 2014, 18:47
Вот еще сервисы, наткнулся у себя в закладках:
http://www.webtours.ru/LxService3/DataServices.asmx (http://www.webtours.ru/LxService3/DataServices.asmx)
http://www.webservicex.net/ws/default.aspx (http://www.webservicex.net/ws/default.aspx)


Название: Re: Кто имел дело c SOAP?
Отправлено: Kurles от Май 14, 2014, 20:09
Под винду проблем не возникало? А можно вопрос - как собирали?

PS то ли я такой "удачливый", то ли руки :/

Видимо я такой удачливый. Делал всё по неправильному руководству :( Вроде даже заработало!
Делал по руководству, на сайте оф. опубликованном. Точно не помню как собирал, но под mingw под винду вроде только в проект сгенерированный файл, полученный после прасинга wsdl добавил, да пару файлов из самой библиотеки, попутно какие-то стандартные виндовские либы линкеру подсунув.


Название: Re: Кто имел дело c SOAP?
Отправлено: Bepec от Май 14, 2014, 20:43
Та да. Проблемы уже нет :)