Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Сети > Работ с веб сервисом с помощью gSoap


Автор: Brodyaga 26.4.2010, 17:57
Всем доброго времени суток! Ктонибудь работал с gSoap? скачал с сайт последнюю версию, не могу скомпилить. Не может найти файл soapcpp2_yacc.tab.h. Может кто помочь скомпилить?

Автор: jonie 27.4.2010, 19:22
Brodyaga, не надо ничего компилировать. Для вас уже в архиве что вы скачали есть бинарные exe - шки - трансляторы. Вам нужно 1) написать h файл (похожий на язык Си++) 2) пропустить этот файл через утилиту которая не wsdl*.exe (чет вроде soapблаблабла.exe). На выходе вы получите код сервера, WSDL описание егошное, и, если укажите код примера клиента 3) (я предпологаю что вы выбрали с++ для генерации) вам нужно включить полученные файлы и файлы исходников (лежат в корне архива) gSOAP-а в новый проект. Нужно имплементировать описанные ранее (в h подобном файле) функции так, как хочете вы 4) ну и скопировать из примеров пример сервера

собственно всё. Сам gSOAP который вы пытаетесь скомпилить зависит от yacc и еще чета-там, но его компилить не надо.

Автор: Brodyaga 27.4.2010, 19:43
Спасибо за ответ, jonie. Только ты предоставил алгоритм чтобы сделать сервер. Сервис же уже есть, мне нужно просто работать с ним как клиенту. МОжешь написать в такой же форме, только для клиента?

Автор: jonie 28.4.2010, 09:17
Brodyaga, ключи у утилиты транслятора h-подобных файлов смотрите, а если есть wsdl описание, то прогоните сначала его через утилиту wsdl2h

Автор: Brodyaga 28.4.2010, 16:20
Цитата

Brodyaga, ключи у утилиты транслятора h-подобных файлов смотрите

Какие ключи? У wsdl2h или soapcpp2?

Автор: Fazil6 28.4.2010, 17:31
для кого пишут мануалы? в документации все подробнейшим образом расписано

http://www.cs.fsu.edu/~engelen/soapdoc2.html#tth_sEc1.2


Автор: Brodyaga 6.5.2010, 11:07
с английским проблемы, сильно много переводить, может где на русском есть?

Автор: Brodyaga 8.5.2010, 08:07
Прогнал wsdl описание веб сервиса через утилиту wsdl2h. Получил h файл - MyService.h
Затем пронал этот файл через утилиту soapcpp2 с ключами -C -s -i . Получил файлы:
Код

MyServiceSoap12.nsmap
MyServiceSoap12.Register.req.xml
MyServiceSoap12.Register.res.xml
MyServiceSoap.nsmap
MyServiceSoap.Register.req.xml
MyServiceSoap.Register.res.xml
soapH.h
soapC.cpp
soapStub.h
soapMyServiceSoapProxy.h
soapMyServiceSoapProxy.cpp
soapMyServiceSoap12Proxy.h
soapMyServiceSoap12Proxy.cpp


Объединил их с файлами из корня:
Код

stdsoap2.h
stdsoap2.cpp


Дальше что с этим всем делать? объеденять и компилить из них lib или прям так и включать в проект где требуется исполььзовать?
И ещё.. я как понял мне либо файлы с soap нужны ЛИБО с soap12? одновременно и то и то не надо ведь?

Автор: Brodyaga 23.5.2010, 21:42
Как записать чтонибудь в заголовок soap с помощью gSoap?
В классе soap есть переменная header типа SOAP_ENV__Header.
Структура SOAP_ENV__Header имеет один параметр типа char, но он private :( 
как быть?

Автор: jonie 25.5.2010, 11:49
http://stackoverflow.com/questions/2623455/gsoap-how-to-pass-info-inside-soap-header

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)