gSoap客户端使用步骤与问题解决

来源:互联网 发布:2017高仿耐克淘宝店 编辑:程序博客网 时间:2024/04/30 23:50

简要说明

         gSoap是一个开源的C\C++ webservice客户端与服务端项目,可以生成wsdl接口并在客户端使用。

         Webservice本质就是HTTP+XML,gSoap封装了HTTP报头和soap协议的XML格式。并且它针对不同平台都实现了基于IP/TCP的通信(socket)。所以使用gSoap非常简单.

使用步骤

  1. 到官网下载gSoap的最新版本,并解压.(文章以gsoap_2.7.16为例)

关心的几个目录

\gsoap_2.7.16\gsoap-2.7\gsoap;

\gsoap_2.7.16\gsoap-2.7\gsoap\bin;

\gsoap_2.7.16\gsoap-2.7\gsoap\import;

\gsoap_2.7.16\gsoap-2.7\gsoap\WS;                                      

  1. 在C:盘下新建一个文件夹为gsoap,把\gsoap_2.7.16\gsoap-2.7\gsoap\import和\gsoap_2.7.16\gsoap-2.7\gsoap\WS拷贝过去,那么C:\gsoap\下会有import和WS两个文件夹。
  2. 新建一个工程,将gsoap\bin下的 wsdl2h.exe、soapcpp2.exe ;gsoap下的stdsoap2.cpp和stdsoap2.h拷贝到工程目录下,
  3. 打开命令提示行, 进入工程目录,输入 wsdl2h.exe –I”c:\gosap\WS”–s –o ***.h webservcie地址
  4. soapcpp2.exe –I”c:\gosap\import”***.h
  5. 把soapc.cpp、soapclient.cpp、stdsoap2.cpp 加入工程
  6. 代码中使用时 引入”***proxy.h”和”***.nsmap”

问题

  问题1:soap_LONG642s 无法连接

    将stdsoap2.cpp中的 #ifndef WITH_LEAN改为#ifdef WITH_LEAN

  问题2:中文乱码问题

  1. soap_set_mode(soap, SOAP_C_UTFSTRING);
  2. 把要发送的字符串转为UTF-8

参考文献:

[1]《用gSOAP开发Web Service程序》 http://www.cppprog.com/2009/0723/138.html

[2]《用gSOAP更简单地实现Web Services Client》 http://blog.csdn.net/sharetop/archive/2008/06/20/2568266.aspx

[3]《s60下webservice的例子》 http://topic.csdn.net/u/20080616/10/70369760-ddd8-48b0-ac96-c18da0be773d.html

[4]《VisualStudio环境下GSOAP开发指南》 http://blog.csdn.net/IamNieo/archive/2009/04/10/4061652.aspx

[5]《gSOAP中文文档》http://www.cppblog.com/woaidongmao/archive/2008/05/28/51400.aspx