Russian Qt Forum
Ноябрь 20, 2024, 05:39 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Кто имел дело c SOAP?  (Прочитано 7531 раз)
Bepec
Гость
« : Май 13, 2014, 15:34 »

Возникла необходимость изучить данную технологию. Написано что она популярна и везде везде применяется, описаний на русском почти нет, библиотек парочку нашел, но...

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

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

QSoap уже имеется, вот только проверить не на чем... Ну да ищу ищу, ну а вдруг подскажете что дельное Улыбающийся

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

PPS и не работает ни 1 из сервисов, приведённых в примерах...
« Последнее редактирование: Май 13, 2014, 15:43 от Bepec » Записан
OKTA
Гость
« Ответ #1 : Май 13, 2014, 16:45 »

Это не то разве? http://api.yandex.ru/direct/doc/concepts/SOAP.xml
Записан
Bepec
Гость
« Ответ #2 : Май 13, 2014, 16:53 »

Спасибо, я уже наткнулся на то, что подавляющее большинство сервисов его поддерживают, включая всякие мейлы и робокассы.

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

Пока нашёл KDSoap, аналог под LGPL. Пытаюсь собрать.
Записан
OKTA
Гость
« Ответ #3 : Май 13, 2014, 16:55 »

скинь проектик с QtSoap  Подмигивающий
« Последнее редактирование: Май 14, 2014, 08:00 от OKTA » Записан
sergek
Гипер активный житель
*****
Offline Offline

Сообщений: 872


Мы должны приносить пользу людям.


Просмотр профиля
« Ответ #4 : Май 13, 2014, 21:03 »

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

Есть тестовый сервис (посмотрите в руководстве пользователя).
« Последнее редактирование: Май 13, 2014, 21:50 от sergek » Записан

Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
Bepec
Гость
« Ответ #5 : Май 13, 2014, 21:59 »

Уже что то, а то у меня уже пошел пятый час сборки KDSoap. Сам требует autoregen, autoregen требует mp, mp требует... и так далее Веселый

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

Записан
OKTA
Гость
« Ответ #6 : Май 14, 2014, 08:01 »

 Смеющийся о QtSoap я и говорил  Смеющийся
Записан
Bepec
Гость
« Ответ #7 : Май 14, 2014, 12:19 »

Хм... выело уже весь мозг, но понятна проблема стала. QtSOAP генерит не ожидаемую на том конце структуру. 
По всей видимости сказывается заброс разработки QtSoap - она передаёт данные с форматом 1999 года, а там ожидается от 2001-2003 года... При чем это глобальная проблема с ним Грустный Все сервисы отказываются понимать его запрос.

PS мб бред несу, но уже без разницы.
Записан
OKTA
Гость
« Ответ #8 : Май 14, 2014, 12:25 »

А ты откуда его брал?
Тут https://github.com/commontk/QtSOAP пишут, что поддерживается спецификация 1.1. А тот же yandex тоже юзает 1.1...
Записан
Bepec
Гость
« Ответ #9 : Май 14, 2014, 12:44 »

Ну на яндексе я не пробовал, использовал более прозаичные сервисы типа узнать погоду, узнать температуру и прочая. В общем для моих целей QtSoap не особо подходит. Точнее совсем не подходит, увы.

PS Пока ещё ищу библиотеки, вот эта часть меня всегда бесит. Когда заходишь на сайт, пишут - супер пупер кроссплатформ библиари. Аль платформ рабоспособен! Зер гуд! И херак - под винду нет ни руководства по сборке, ни помощи и никто ниразу не собирал.
« Последнее редактирование: Май 14, 2014, 13:05 от Bepec » Записан
Kurles
Бывалый
*****
Offline Offline

Сообщений: 480



Просмотр профиля
« Ответ #10 : Май 14, 2014, 13:09 »

Когда нужна была поддержка SOAP, использовал gSOAP, довольно удобная библиотека, и с компиляцией проблем не возникало )
Записан

Код
C++ (Qt)
while(!asleep()) sheep++;
Bepec
Гость
« Ответ #11 : Май 14, 2014, 13:10 »

Под винду проблем не возникало? А можно вопрос - как собирали?

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

Видимо я такой удачливый. Делал всё по неправильному руководству Грустный Вроде даже заработало!
« Последнее редактирование: Май 14, 2014, 13:43 от Bepec » Записан
Bepec
Гость
« Ответ #12 : Май 14, 2014, 15:58 »

Однозначно везёт... В нужном мне WSDL файле идет конфликт имён переменных с С++ Улыбающийся Надо срочно грушу покупать...
Записан
sergek
Гипер активный житель
*****
Offline Offline

Сообщений: 872


Мы должны приносить пользу людям.


Просмотр профиля
« Ответ #13 : Май 14, 2014, 18:18 »

Хм... выело уже весь мозг, но понятна проблема стала. QtSOAP генерит не ожидаемую на том конце структуру. 
По всей видимости сказывается заброс разработки QtSoap - она передаёт данные с форматом 1999 года, а там ожидается от 2001-2003 года... При чем это глобальная проблема с ним Грустный Все сервисы отказываются понимать его запрос.

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

Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
Bepec
Гость
« Ответ #14 : Май 14, 2014, 18:28 »

Да нет, я уже разобрался более-менее с gSoap. Он в отличие от QtSoap имеет в своём функционале парсер wsdl файлов и генерацию h/dexygenDoc для использования в проектах. Меня в начале смутило неправильное руководство.

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

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

А грушу надо покупать и писать на ней - php программист. Который без сожалений называет переменные char CHAR bool BOOL String STRING Веселый
« Последнее редактирование: Май 14, 2014, 18:30 от Bepec » Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.156 секунд. Запросов: 22.