![]() |
|
![]() ![]() ![]() |
|
ecspertiza |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: 4 Всего: 5 |
Есть такой вопрос как на Qt написать Soap клиент, который смог бы использовать wsdl файл на сервере?
скачал QtSoap но там ничего про это ненаписано или я просто ничего не понимаю, пока делаю так
на что софт мне отвечает что хост не найден, а он есть и аналогичный клиент написанный на php работает нормально. |
||||
|
|||||
ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: 4 Всего: 5 |
Всем спасибо разобрался
![]() |
|||
|
||||
ecspertiza |
|
||||||||||||||||||||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: 4 Всего: 5 |
Так как мне на почту пришло письмо с просьбой описать как можно написать SOAP клиет на QT я решил написать
эту небольшую статью о том как это сделать и реальзовать. Если буду допускать ошибки(а это возможно) то надеюсь более грамотные форумчане меня поправят ![]() Сразу скажу я буду работать вот с этими компанентами http://www.qtsoftware.com/products/appdev/...ilities/qtsoap/ Что нужно для работы с SOAP? Как минимум это сервер, клиент и wsdl файл. Что такое клиент и сервер я описывать небуду т.к. я думаю это и так понятно, а вот про wsdl немного расскажу. Грубо говаря это файл в котором описаны ваши процудуры и их переменные а также где рассположен сервер. При написании клиента на PHP мы можем указать путь к wsdl файлу и вызвать нужную нам процудуру, wsdl файл автоматически перенаправит запрос на сервер с нужными параметрами, QT так неумеет(покрайней мере у меня неполучилось). Подробнее о wsdl можно посмотреть тут http://raleigh.ru/XML/w3schools/wsdl/ ну или в www.google.ru 1. Написание wsdl. Для нашего проекта wsdl файл будет выглядеть вот так
Немного расскажу о чём тут написано ![]()
Описывает нашу процедуру input и output указывает на входные и выходные параметры, они описаны вот тут
вот в этом месте указанно рассположение сервера
и ещё вот тут
просьба поменять на своё расположение сервера ![]() 2. Написание сервера. Сервер я решил писать на PHP так как на мой взгляд он отлично подходит для написания серверов(это ИМХО),
небольшое описание
создаём класс для работы, в нём будет наша процедура.
создаём объект класса SoapServer в нём указываем путь к wsdl файлу.
говарим с каким классом работать. 3. Написание Клиента. Вот и добрались, я выложу исходники на PHP на всякий случай вдруг комуто понадабятся их описывать небуду
а вот собственно наверное то до чего так долго читали, исходники на QT main.cpp
Здесь ничего сложного создаём объект SoapClient и передаём в него параметр soapclient.h
Описание класса SoapClient принимает строковый параметр. soapclient.cpp
вот вобщемто и всё думаю с установкой компанентов и сборкой разобраться несложно ![]() А также граждане программеры RTFM, и смотрите экзамплы и всё сразу станет понятным ![]() P.S. Неругайте сильно за ошибки синтаксические и речевые, буду признателен если укажите на ошибки в теории, надеюсь каму нибудь эта статья поможет ![]() |
||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||
aspirin2003 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 111 Регистрация: 18.3.2007 Где: Саратов Репутация: нет Всего: нет |
ecspertiza, спасибо Вам, статья просто замечательная!
|
|||
|
||||
abrek |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 7.7.2009 Репутация: нет Всего: нет |
На основе вашего кода сделал клиента...
в ответ за запрос получаю:
как из такой конструкции извлечь значения USER_EMAIL, USER_NAME и т.д. ? Это сообщение отредактировал(а) abrek - 29.3.2011, 09:11 |
|||
|
||||
Denjs |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 3.3.2008 Репутация: нет Всего: нет |
Можно я посмею немного попиариться - т.к. тема важная, и польза от пиара будет.
ссылка на Russian Qt Forum : WSDL, SOAP, Web-Services + Qt (обзор, обсуждение, сбор ссылок)
Там рассматриваются QtSOAP, Axis2/C, WSF Staff, gSoap, KdSoap, FEAST. Есть ссылки на сайты, примеры связки с Qt - в топике и ссылки на примеры, сравнительные харакетристики, рассуждения и пр. Т.к. считаю что у статьи должне быть только один источник - то потому даю только ссылку. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |