Russian Qt Forum
Ноябрь 06, 2024, 07:46
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Дополнительные компоненты
>
WSDL, SOAP, Web-Services + Qt (обзор, обсуждение, сбор ссылок)
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: WSDL, SOAP, Web-Services + Qt (обзор, обсуждение, сбор ссылок) (Прочитано 30228 раз)
Denjs
Гость
WSDL, SOAP, Web-Services + Qt (обзор, обсуждение, сбор ссылок)
«
:
Январь 29, 2011, 17:06 »
В данном топике попробую собрать актуальную информацию по вопросам связки C++/Qt и веб-сервисов.
Т.е. все что актуально на
2011, январь, 30
. 2011, февраль, 17.
резюме:
пакет
лицензия
Работа с WSDL
классы, ООП?
Совместимость с MinGW
Есть примеры для Qt?
ОС
_____________
_____________________
________________
____________________
_________________________
_______________________
_______________________
QtSOAP
LGPL(?)
-
Qt
да (?)
да
Win|Lin| +(?)
Axis2/C
Apache 2.0
да
STL, функции
- (возможно исправили?)
-
Win|Lin| +(?)
WSF Staff
Apache 2.0
да
STL
да
да
Win|Lin| +(?)
gSoap
GPL, LGPL, коммерч.
да
STL, функции, +(?)
да
да
Win|Lin|
Symbian
|
S60
+(?)
KdSoap
коммерч., GPL
да
Qt
, +(?)
н/д
-
Win|Lin| +(?)
FEAST
коммерч.
да (?)
Qt
, +(?)
н/д
н/д (вероятно есть)
Win|Lin| +(?)
QtSOAP
(лицензия: LGPL (?))
*
QtSOAP
. Значит первое что хочу отметить, что это решение перемещено троллями в "
архив решений
" (качать вроде как с
http://qt.gitorious.org/qt-solutions
). не знаю почему, но у меня возникает впечатление что развиваться оно не будет. Впрочем оно и по возможностям весьма специфично-ограниченно - не умеет генерировать код и не умеет сама анализировать WSDL (
был бы интерфейс как у php-soap - с вызовом функций сервиса по именам и возможностью просмотреть структуры данных - меня бы устроило и без генерации кода
).В итоге - чтобы начать пользоваться веб-сервисом, вам надо вручную сначала изучить wsdl-файл. Ну и "SOAP 1.1 только".
*
доки
* Описание того как это пользовать.
раз
,
два
.
* описание "как ставить":
http://stackoverflow.com/questions/1290198/qt-soap-install
:: не игрался. разбирать WSDL-файл руками мне пока квалификация не дозволяет... впрочем не хочу и не буду 8-) ...
Axis2/C
(лицензия: Apache 2.0)
*
Axis2/C
(
ссылка
). Апачевские компоненты. Много всего вкусного, генерация кода, wsdl и бла-бла-бла. Но почему-то генерация "только С" (не С++) (по крайней мере у мена не получилось). С-шный код какой-то мутный... и все равно требует (по крайней мере для генерации кода) оргигинальный Axais2 работающий на Java (ну и её тоже соответсвенно).
Есть трудности/проблемы под выньдой. Axais2/С "под винду" ориентирван тем боком, что ориентирован на сборку со "студией" от небезизвестного граблепроизводителя. ну и бинарники тоже собранны в оной. В итоге, если вы кодите на MinGW - то у вас появляются проблемы с подключением этих библиотек к своему проекту. Как вариант решения - я вижу генерацию .def и .a файлов так-же как это делается с библиотекой MySQL под виндоус (тоже собранной под студией) ( "
reimp -d libmysql.lib
" и "
dlltool -k -d libmysql.def -l libmysql.a
" )
(см в
ассистант раздел "How to Build the QMYSQL Plugin on Windows"
). не проверял, но полагаю тут аналогичный путь решения.
::У меня не вышло связать это с Qt-проектом. В своё время я не решил проблему подключения библиотек собранных в студии к проекту собираемому с mingw, а потом уж не надо было....
WSF Staff
(лицензия: Apache 2.0 (без каких либо GPL - подлицензии в отдельном разделе).)
*
WSF Staff
(
ссылка
)
WSF Staff - это обертка для Axis2/C, т.е. для функционирования требуются библиотеки Axis2/C. Для функционирования Сервера необходим весь Axis2/C, для клиентской части, собственно, небольшое количество небольших библиотек (не более 4-5)
Вкусно! не совсем Qt, но C++ и STL.
Судя по по описаниям - _удобная_ _человечья_ обертка над Апачевским Axis2/C
.
Может генерить WSDL из .h-файла и наоборот. Генерит обертки как для клиента так и для сервиса. Код С++. Сомтрите сами:
*
Creating a C++ service under Linux
*
Создание СОА клиентов на основе WSDL описания.
*
SoaApplicationStruct
Проект живой (последние обновления февраль 2011 года) Часть доков по русски.
Выглядит вкусно, как и доки в wiki от нокии (см ниже).
Связка с Qt и MinGW
:
см
пост от разработчиков ниже по топику(быстро решили, молодцы!)
- т.е. оно вполне себе собирается с Qt и MinGW и использует STL-ные классы:
*
ман на офф.сайте: Создание клиента StockQuote использующего Qt
::лично я пока не использовал. но с разработчиками есть контакт, проект, имхо, интересен, и думаю как разгребусь немного - поиграюсь.
gSoap
(лицензия: разные части под разными лицензиями или мультилицензированием - GPL|LGPL|Коммерческая)
В Wiki от Нокии появилась заметка про то как использовать gSoap и Qt
. :
*
GSoap: SOAP and XML Web services for Qt apps
.
* Есть статья про "
Using gsoap for web services
".
Да, "не шибко родное" (в смысле "не интегрированное в Qt"), да, но зато типа "почти официальная инфа" от нокии, да ещё и с примерами кода).
* может генерить WSDL из .h-файла и наоборот.
* при указании генерить С++-ный код, использует STL-ные типы : std::string, std::vector...
Первая из указанных статей, кстати вроде как появилась "буквально неделю назад" - 19 января (очень похоже, что это ещё один признак того, что QtSoap будут постепенно "закапывать", особенно если рецепты будут работать под Win/Lin)... кто знает, может наличие механизмов для связки с Qt в стандартном проекте, нацеленном на веб-сервисы, лучше чем наличие "родной", но самостоятельной компоненты)...
* По теме всплывает ещё
Nokia WSDL-to-C++ Wizard
for S60
который хочет "
XML Data Binding Library
" для исполнения данного кода... а последняя кажется токмо для s60 и существует...
Связка с Qt и MinGW
:
:: не без заковырк и напильника, но собрался простой веб-сервис-клиент c помощью Qt и gSoap под Windows. Файлы см в
посте ниже
:: есть трудность с использованием русских имен в полях данных и именах функций в WSDL. Подозреваю, что в итоге подключить его например к веб-сервисам на базе 1С без переименования имен функций и полей веб-сервиса на английский может быть затруднительно. (
пост
). С 1С начал играться, но пока не закончил.
Но в целом впечатление от gSoap у меня хорошие.
KdSoap
(лицензия: GPL|собственная коммерческая)
*
KdSoap
.
http://www.kdab.com/products/kd-soap
Связка с Qt и MinGW
:
Заявлена родная поддержка Qt. Но цены совсем не для частного разработчика. около 490-700 € за одну лицензию.
Однако
тут
: утверждается что "
KDSoap is available under the GPL license from
ftp://ftp.kdab.com/pub/kdsoap
(for opensource applications and for evaluation purposes)
, and under a commercial license from
http://www.kdab.com/products/license-prices
"
::Увы, я пока не пробовал это. Нашел это 2 дня назад только. Кто будет играться - доложитесь о результатах?
FEAST
(лицензия: собственная проприетарная коммерческая)
Вебсервисы для Qt. Подробнее - только статья на сайте и рекламные листовки.
http://www.clausmark.com/index.php/feast/articles/webservices-with-qt.html
что может быть ещё полезно:
*
SOAP Версия 1.2 Часть 0: Учебник для начинающих
_____________________
За сим пока все.
Надеюсь вы будете пополнять топик ссылками и примерами использования Qt и ВебСервисов.
«
Последнее редактирование: Февраль 17, 2011, 17:58 от Denjs
»
Записан
Denjs
Гость
Re: WSDL, SOAP, Web-Services + Qt (обзор, обсуждение, сбор ссылок)
«
Ответ #1 :
Январь 31, 2011, 16:21 »
Работающий пример веб-сервис-клиента на Qt созданного с gSoap
Проверено правда только на виндоус.
компилятор - MinGW
По мотивам статьи от Нокии указанной выше (
GSoap: SOAP and XML Web services for Qt apps.
) - следал все как сказано в статье но на нстольном компе под виндоус. Результат - в приложении к посту.
Да, перед сборкой и анализом примера - надо бы прочитать статью.
Иначе будет не понятно откуда там половина файлов взялась.
Перед сборкой надо качать GSoap ->
http://sourceforge.net/projects/gsoap2/files/gSOAP/
я качал gsoap_2.8.1.zip.
его я распаковал в С:/ws/ -> так что бы скажем LICENSE.txt был тут: C:\ws\gsoap-2.8\LICENSE.txt
После этого - уже собранные утилиты автогенерации кода и разбора WSDL лежат в C:\ws\gsoap-2.8\gsoap\bin\win32
Важно: этот путь ( C:\ws\gsoap-2.8 ) указан в файле проекта!
если будете разворачивать gsoap в другое место - отредактируйте .pro файл!
Все. Скачиваете демо проект и собираете.
Автогененируемые gsoap файлы лежат в подкаталоге проекта в папке gsoap.
Что там, откуда взялось, что такое именно StockQuote.wsdl - написано собственно в самой статье от Нокии, упомянутой выше.
===========================================
UPD 2011.04.07: куда-то исчез пример gsoap_qt_probe.2011.01.31.zip.... не знаю - говорит "404 - вложение не найдено". Куда дели?!
По просьбам публики - выкладываю обновленнй пример.
gsoap_qt_probe.2011.01.31.zip
. Лицензия на примеры - LGPL.
В примерах вы найдете : qt-сервер(gSoap), qt-клиент(gSoap), php-клиент(phpSoap).
В qt-сервер добавлена обработка get запросов (
и обратившись на :8080-порт в браузере можно лицезреть сраничку и скачать wsdl который лежит рядом
).
«
Последнее редактирование: Апрель 07, 2011, 12:41 от Denjs
»
Записан
Denjs
Гость
Re: WSDL, SOAP, Web-Services + Qt (обзор, обсуждение, сбор ссылок)
«
Ответ #2 :
Январь 31, 2011, 16:29 »
теперь немного о грустном.
с "
WSF Staff
" играться, похоже, можно только под "студией" граблепроизводителя.
MinGW отказывается компилять код инклюдов с переменными типа TChar .
Как избавиться от этого без большого напильника пока не представляю... Жаль...
пока разбираться не хочу, тем более gSoap "начал взлетать".
«
Последнее редактирование: Январь 31, 2011, 16:37 от Denjs
»
Записан
Denjs
Гость
Re: WSDL, SOAP, Web-Services + Qt (обзор, обсуждение, сбор ссылок)
«
Ответ #3 :
Февраль 01, 2011, 11:20 »
gSoap
: обнаружена проблема с русскими наименованиями функций и полей.
Генератор кода gSoap создает структуры, переменные классов и имена функций в соответствии с их наименованиями в WSDL-файле, но в силу ограничений C++ на имена функций и структур не могут именоваться по русски, и в итоге генерируются имена типов вида
Код:
ns1___x00d0_x0094_x00d0_x00be_x00d0_x00ba_x00d1_x0083_x00d0_x00bc_x00d0_x00b5_x00d0_x00bd_x00d1_x0082
что как вы понимаете делает работу с таким кодом затруднительной.
Функций вызова функций вебсервиса по имени (например callF(functionNam, args) ) я пока не нашел...
Записан
Barmaglodd
Гость
Re: WSDL, SOAP, Web-Services + Qt (обзор, обсуждение, сбор ссылок)
«
Ответ #4 :
Февраль 01, 2011, 15:18 »
Может руками, а? У вас так много различных сервисов или вы хотите добавлять их динамически в рантайме? Я для Erlang'а тоже долго искал что-нибудь для SOAP, но потом оказалось проще руками.
Записан
Denjs
Гость
Re: WSDL, SOAP, Web-Services + Qt (обзор, обсуждение, сбор ссылок)
«
Ответ #5 :
Февраль 01, 2011, 16:31 »
Цитата: Barmaglodd от Февраль 01, 2011, 15:18
Может руками, а? У вас так много различных сервисов или вы хотите добавлять их динамически в рантайме? Я для Erlang'а тоже долго искал что-нибудь для SOAP, но потом оказалось проще руками.
В смысле "руками"? можете пояснить? руками дергать сервис? или формировать SOAP-пакеты? работать по варианту "как с QtSoap" я не хочу.
Я хочу загрузить WSDL и получить простое внятное описание сигнатур функций и струкур данных (пусть и не в рантайме). Просто для того, что бы иметь возможность быстро создать/адаптировать клиента. Или сделать аналог "мастера импорта веб-сервиса".
Т.е. я сейчас фактически ищу "малогеморройный" механизм работы с веб-сервисами при "почти"-промышленной разработке.
«
Последнее редактирование: Февраль 01, 2011, 16:33 от Denjs
»
Записан
Barmaglodd
Гость
Re: WSDL, SOAP, Web-Services + Qt (обзор, обсуждение, сбор ссылок)
«
Ответ #6 :
Февраль 02, 2011, 09:50 »
Цитата: Denjs от Февраль 01, 2011, 16:31
В смысле "руками"? можете пояснить? руками дергать сервис? или формировать SOAP-пакеты?
Именно руками дергать сервис и формировать SOAP-пакеты.
Но если вам надо "мастера импорта веб-сервиса", то не вариант.
Я к тому, что иногда проще и быстрее тупое решение "в лоб", чем поиск и изучение универсального мега-фреймворка.
Записан
twp
Гость
Re: WSDL, SOAP, Web-Services + Qt (обзор, обсуждение, сбор ссылок)
«
Ответ #7 :
Февраль 02, 2011, 10:47 »
Цитата: Denjs от Февраль 01, 2011, 16:31
Цитата: Barmaglodd от Февраль 01, 2011, 15:18
Может руками, а? У вас так много различных сервисов или вы хотите добавлять их динамически в рантайме? Я для Erlang'а тоже долго искал что-нибудь для SOAP, но потом оказалось проще руками.
В смысле "руками"? можете пояснить? руками дергать сервис? или формировать SOAP-пакеты? работать по варианту "как с QtSoap" я не хочу.
Я хочу загрузить WSDL и получить простое внятное описание сигнатур функций и струкур данных (пусть и не в рантайме). Просто для того, что бы иметь возможность быстро создать/адаптировать клиента. Или сделать аналог "мастера импорта веб-сервиса".
Т.е. я сейчас фактически ищу "малогеморройный" механизм работы с веб-сервисами при "почти"-промышленной разработке.
Есть готовое решение
http://www.clausmark.com/index.php/feast.html
Насколько я знаю там есть генератор исходников с WSDL-файла и свой сервер. Но к сожалению это коммерческий продукт
Записан
Denjs
Гость
Re: WSDL, SOAP, Web-Services + Qt (обзор, обсуждение, сбор ссылок)
«
Ответ #8 :
Февраль 02, 2011, 11:05 »
Цитата: twp от Февраль 02, 2011, 10:47
Есть готовое решение
http://www.clausmark.com/index.php/feast.html
Насколько я знаю там есть генератор исходников с WSDL-файла и свой сервер. Но к сожалению это коммерческий продукт
Спасибо, пополнил список продуктов. (пункт "
FEAST
")
Но полагаю в смысле коммерческих продуктов, kdSoap выглядит привлекательнее - там есть возможность поиграться в начале с GPL.
Кто пользовал KdSoap и|или FEAST?
«
Последнее редактирование: Февраль 02, 2011, 11:08 от Denjs
»
Записан
twp
Гость
Re: WSDL, SOAP, Web-Services + Qt (обзор, обсуждение, сбор ссылок)
«
Ответ #9 :
Февраль 02, 2011, 11:21 »
Я имел дело с FEAST, с версией 1.3 вроде, там использовалась СУБД (поддерживалось 3 типа СУБД) для логирования и еще для каких-то целей. И она была чисто виндовая. Потом ее выкинули с проекта и заменили своей разработкой. К тому времени появилась версия 2.3 в которая уже не нуждается в СУБД и она уже поддерживает Mac Os X и Linux.
Записан
dem
Гость
Re: WSDL, SOAP, Web-Services + Qt (обзор, обсуждение, сбор ссылок)
«
Ответ #10 :
Февраль 17, 2011, 14:22 »
WSF Staff теперь собирается под MinGW.
Дистрибутив собранный в GCC (MinGW):
http://code.google.com/p/staff/downloads/detail?name=ws-win32-gcc4.5.2-staff-2.0.0-tp4-r399.7z
Инструкция по установке:
http://code.google.com/p/staff/wiki/InstallationManualWindowsBinary
Создание С++ клиента, использующего Qt (из WSDL, в Qt Creator'e):
http://code.google.com/p/staff/wiki/ExampleStockQuoteQtCreator
Записан
Denjs
Гость
Re: WSDL, SOAP, Web-Services + Qt (обзор, обсуждение, сбор ссылок)
«
Ответ #11 :
Февраль 17, 2011, 15:24 »
Цитата: dem от Февраль 17, 2011, 14:22
WSF Staff теперь собирается под MinGW.
<...>
респект. обновил статусы и описания в стартовом посте.
Записан
Denjs
Гость
Re: WSDL, SOAP, Web-Services + Qt (обзор, обсуждение, сбор ссылок)
«
Ответ #12 :
Март 11, 2011, 03:00 »
Пока не лень, отпишу ещё пару строк про
gSOAP
, раз уж я с ним уже завязался...
Начал отгребать немного проблем с Русскими буквами. но успешно вроде решил о чем тут и пишу "как это было".
Просто как-то в документации об этом было не совсем внятно описано, пришлось зесть в дебри исходного кода и смотреть на что он там смотрит....
Поддержка Русского в контенте - строки и прочее (UTF-8).
Если вы генерируете ws-сервер
, и вам необходимо отдавать строки содержащие Русский язык, необходимо :
- вебсервис инициировать с доп установками
Код:
myWsServiceClassGeneratedByGSOAP server(SOAP_IO_DEFAULT|SOAP_C_UTFSTRING);
- не забыть определить кодировку ваших исходников
Код:
QTextCodec *codec = QTextCodec::codecForName("UTF-8");
QTextCodec::setCodecForCStrings (codec);
QTextCodec::setCodecForTr(codec);
QTextCodec *codec2 = QTextCodec::codecForName("UTF-8");
QTextCodec::setCodecForLocale(codec2);
- и уже только после этого, можно отдавать внутрь utf-8 строки в определении функций вашего сервиса
(ниже - updateEvent - это класс который я должен отдать на выходе, eventData - это поле типа std::string
Код:
QString returnRussianString;
updateEvent.eventData= returnRussianString.toStdString();//uses CodecForCStrings
стоит отметить, что классы ws-сервера я генерировал из .h-описания (файл ws_interface_defenition.h) примерно такого вида:
Код:
//this string have to be included for ability to import STL types
#import "stllist.h"
//это технические указания кодогенератору! не удалять!!
// File: ws_interface_defenition.h
//gsoap ns service name: myWsServiceClassGeneratedByGSOAP
//gsoap ns service namespace: urn:myWsServiceClassGeneratedByGSOAP
//gsoap ns service location: http://127.0.0.1:8080/
//-------------------------------------------------------------------------------
// UTF-8 encoded
//-------------------------------------------------------------------------------
// структуры
//-------------------------------------------------------------------------------
class ns__session //Сессия
{public:
std::string guid;
std::string userName;
std::string userGroups;
std::string startime;
};
class ns__result //результат
{public:
int code;
std::string descriptin;
std::list<ns__session> sessions; //пример того, как определить список в структуре
};
//-------------------------------------------------------------------------------
// функции
//-------------------------------------------------------------------------------
int ns__login( std::string user, std::string pass, ns__session& session ); //
int ns__sessions( ns__session session, ns__result& result ); // пример того, как определить сервис принимающий на входе структуру
вот примерно такой строкой генерации классов веб-сервиса
Код:
soapcpp2 -s -t -x -i -S -IC:\ws\gsoap-2.8\gsoap\;C:\ws\gsoap-2.8\gsoap\import\; .\ws_interface_defenition.h
За сим всем снова удачи.
«
Последнее редактирование: Март 11, 2011, 03:05 от Denjs
»
Записан
Denjs
Гость
Re: WSDL, SOAP, Web-Services + Qt (обзор, обсуждение, сбор ссылок)
«
Ответ #13 :
Март 22, 2011, 23:05 »
Пока не лень, отпишу ещё пару строк про
gSOAP
, т.к. я с ним уже завязался и проект живет и развивается...
на этот раз
про отладку и отслеживание сырых посылок (просмотр сырых SOAP-пакетов)
.
Способ 1.
В документации есть указание на то, что вы можете активировать "отладочный режим" работы генерируемых классов если в исходном тексте будет определен "DEBUG". Более того, в строке 740 (или около того) файла stdsoap2.h (тоже автогенерируемый) видим следующее:
Код:
//#define DEBUG */ /* Uncomment to debug sending (in file SENT.log) receiving (in file RECV.log) and messages (in file TEST.log) */
Т.е. все понятно без комментариев.
Все посылки, он будет скидывать в файлы. Удобно? ну уж лучше чем ничего))))
Способ 2
Способ 1 хорош, все работает... но надо пересобирать программу, и более того - если мне пакеты надо отслеживать только при ошибках - то это никак не годится...
Например - надо проанализировать пакет, переданный мне Axis-сервером когда у него возник "500 - internal error"?
Плюс, в таких случаях, мне нужен программный доступ к этим самым "сырым данным" в самом коде, а не в логе...
В
документации
я ответа не нашел (или пропустил...?).
Поковырявшись в исходниках класса soap, нашел что класс предусматривает подключение обработчиков на события формирования и обработки "сырых данных". Вернее сырые данные туда передаются в качестве параметров... Что собственно и надо.
В общем, код ниже думаю вам все расскажет.
Для затравки и понимания механизмов думаю достаточно.
Код:
...
QString cRawReceive;
QString cRawSend;
int my_fPrepareInitSend(struct soap* _soap)
{ cRawSend="";
return _soap->error; //return SOAP_OK;
};
int my_fPrepareInitRecv(struct soap* _soap)
{ cRawReceive="";
return _soap->error; //return SOAP_OK;
};
int my_fPrepareSend(struct soap* _soap, const char* _buf, size_t _size)
{ cRawSend += QString::fromUtf8(QByteArray(_buf,_size));
return _soap->error; //return SOAP_OK;
};
int my_fPrepareRecv(struct soap* _soap, const char* _buf, size_t _size)
{ cRawReceive += QString::fromUtf8(QByteArray(_buf,_size));
return _soap->error;
};
int my_fPrepareFinalRecv(struct soap* _soap) //успешно отослали запрос
{ //qDebug() << QString(" ->() :%1: Raw Receive Data: \n%2\n").arg(QDateTime::currentDateTime().toString("yyyy.MM.dd_hh:mm:ss_zzz")).arg(cRawReceive);
return _soap->error;
};
int my_fPrepareFinalSend(struct soap* _soap) //успешно приняли ответ
{ //qDebug() << QString(" <-() :%1: Raw Send Data: \n%2\n").arg(QDateTime::currentDateTime().toString("yyyy.MM.dd_hh:mm:ss_zzz")).arg(cRawSend);
return _soap->error;
};
...
main()
{
...
myServiceSoapBindingProxy soapObj(SOAP_IO_DEFAULT|SOAP_C_UTFSTRING);
//обработчики для перехвата сырых данных ввода-вывода последнего зароса. На всякий случай.
soapObj.fpreparerecv = my_fPrepareRecv; //для данных получения обычно этого достаточно
soapObj.fpreparesend = my_fPrepareSend; //а вот это вызывается часто и по немногу...
soapObj.fprepareinitsend = my_fPrepareInitSend;
soapObj.fprepareinitrecv = my_fPrepareInitRecv;
soapObj.fpreparefinalsend = my_fPrepareFinalSend;;
soapObj.fpreparefinalrecv = my_fPrepareFinalSend;;
...
int rez=soapObj.callMyWSFunction(..., ...);
if (rez==SOAP_OK)
{
...
}
else
{
qDebug() << " ERROR DUE SOAP ASKING. Err code = [" << rez << "]. Debug Data is: ";
qDebug() << " \n Last Raw Send Data: " << cRawSend ;
qDebug() << " \n Last Raw Receive Data: " << cRawReceive ;
};
...
}
PS:
Потом, как доиграемся до донца, расскажу про то, как к GSoap/Axis/Axis2 веб-сервисам подключать "мать-перемать-1цэ" в качестве клиента.
«
Последнее редактирование: Март 22, 2011, 23:12 от Denjs
»
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...