最近在wince机器上做一个了项目要求访问wcf服务,看了一些资料了解到可以通过gsoap实现。刚刚弄通了写个小结日后回顾,有需要的也可以看看,有问题可以联系我bike_c@163.com
1、 下载最新gsoap包 (
http://sourceforge.net/projects/gsoap2/),下载完成解压就可以了;
2、 运行“CMD” 进入“gsoap-2.8\gsoap\bin\win32”目录下
3、 生成头文件 wsdl2h -o WSCheckQqOnline.h htttp://
http://webservice.webxml.com.cn/webservices/qqOnlineWebService.asmx?WSDL
4、将“\gsoap-2.8\gsoap\import”目录下的soap12.h 和 stlvector.h复制到“gsoap-2.8\gsoap\bin\win32”中。生成代码的时候要用到
5、生成webService要调用的代码
-C 仅生成客户端代码
-S 仅生成服务器端代码
-L 不要产生soapClientLib.c和soapServerLib.c文件
-L 不要产生soapClientLib.c和soapServerLib.c文件
-c 产生纯C代码,否则是C++代码(与头文件有关)
-I 指定import路径(见上文) -x 不要产生XML示例文件
-i 生成C++包装,客户端为xxxxProxy.h(.cpp),服务器端为xxxxService.h(.cpp)。
-i 生成C++包装,客户端为xxxxProxy.h(.cpp),服务器端为xxxxService.h(.cpp)。
我所使用的是“soapcpp2 -C -L -i -x WSCheckQqOnline.h”
![](https://i-blog.csdnimg.cn/blog_migrate/710e346400fc742864fd074ad89c25d6.png)
6、新建一个工程,将下列文件复制到工程中去
![](https://i-blog.csdnimg.cn/blog_migrate/ad888667d83306424edb810e8c4da2a5.png)
7、在“\gsoap-2.8\gsoap”目录下找到 stdsoap2.cpp 和stdsoap2.h 也复制到工程中去
8、vs2005中的目录结构
![](https://i-blog.csdnimg.cn/blog_migrate/9d6aab3340284c585e351e9fe2c91b39.png)
9、不使用预编译头,选中这三个文件
![](https://i-blog.csdnimg.cn/blog_migrate/76af8ecdcd2cfaaf023ac3cb86d9938a.png)
属性—>c/c++—>预编译头—>不使用预编译头
![](https://i-blog.csdnimg.cn/blog_migrate/58ca1e3f714e23c2f6393edfa7e9dfde.png)
10、调用代码
![](https://i-blog.csdnimg.cn/blog_migrate/316183cd15f608c6d85509ab037f5b77.png)
11、生成
![](https://i-blog.csdnimg.cn/blog_migrate/5a24dc277ef5646a14cb72e21b078ae5.png)
12、打完收工....