C++利用gsoap调用webservice
来源:互联网 发布:南风知我意晋江书包网 编辑:程序博客网 时间:2024/05/22 13:38
关于Soap,它是一种简单对象访问协议,是一种轻量的、简单的、基于 XML 的协议,它被设计成在 WEB 上交换结构化的和固化的信息。它是一种通信协议,用于Web应用程序之间的因特网通信,它提供一组不受平台和语言限制的方法使应用程序得以相互之间进行Intertnet通信。而gSoap可以看做是对soap的一个实现封装,它隐藏了在调用WebService中的大量实现细节,使得C++调用WebService变得较为简单。它提供编译工具(实际就是针对接口的WSDL生成类文件),然后引入工程操作生成类即可达到访问WebService接口的目的。仔细查看生成的文件就会发现生成的类与WebService接口的WSDL文件实际相对应的。
C/C++调用Web Service需要用到soap库,一般使用的有gsoap和axis cpp两种实现,这里使用gsoap来调用。gsoap是sourceforge上的一个开源项目,目前版本是2.7.6c,使用简单,可以在linxu、windows、mac多种平台上使用。gsoap的主页地址是http://gsoap2.sourceforge.net/
gsoap使用步骤
gsoap提供了两个有用的工具:wsdl12h.exe和soapcpp2.exe,帮助我们生成代理类。
以http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl为例讲解
操作流程
b) 打开wsdl2h.exe所在文件路径(不打开的话下面输入时要记着输入全路径,不然找不着了);
c) 输入:wsdl2h -o service.h http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl,
d) 回车 运行吧,看提示信息,没有提示故障的话,查找service .h吧(它的保存路径如果不设置和wsdl2h.exe同一目录);
e) 得到service.h后,打开可以看到接口定义。如果要用宽字符(这样可以避免中文乱码),将该文件的std::string替换为wchar_t*然后保存
f) 在命令行中 输入:soapcpp2.exe service.h
、soapH.h、soapServer.cpp、soapServer.Lib、soapStub.h和接口的请求应答xml文件。
其中
MobileCodeWS.nsmap 为命名空间定义文件;
soapClient.cpp 客户端文件
调用MobileCodeWS Mcws;
Mcws.endpoint = url; //webservice的地址
- C++利用gsoap调用webservice
- gsoap(C/C++调用webservice)
- gsoap(C/C++调用webservice)
- gsoap(C/C++调用webservice)
- gsoap(C/C++调用webservice)
- gsoap(C/C++调用webservice)
- C++利用gSoap调用WebService服务
- C++利用gSoap调用WebService服务
- C++利用gSoap调用WebService服务
- 利用C++调用天气webservice-gSOAP方法
- c/c++ 使用gsoap调用webservice
- c/c++中利用gsoap调用webservice服务的一个诡异问题解决方法
- Qt+gsoap调用WebService
- [gSOAP]MFC调用WEBService
- Qt+gsoap调用WebService
- Qt+gsoap调用WebService
- Qt+gsoap调用WebService
- 标准C/C++程序通过gSOAP调用WebService
- Android系统中传感器相关的简介
- 苹果IOS与谷歌 android系统的UI设计原则
- 判断CPU 是小端存储(Little endian)还是大端存储(Big endian)模式
- android多分辨率多屏幕密度下UI适配方案
- Java NIO客户端开发问题
- C++利用gsoap调用webservice
- __declspec(selectany)的作用
- osgAudio编译
- 反转链表
- 利用DHT网络原理制作bt采集蜘蛛
- ogg长事务
- Class文件格式(2)-深入理解ClassFile
- android telephone 4.2 framework层分析
- 五种开源协议(GPL,LGPL,BSD,MIT,Apache)