Gsoap的简单使用

1 篇文章 0 订阅

简单记录下工作中用到的gsoap,学习时的点点滴滴
环境(win7, QT5.7ForVS2013, VS2013,Gsoap2.7)

  1. 服务器和客户端定义好通信的接口MService.h
  2. 使用soapcpp2.exe -i MService.h 生成服务器和客户端所需要的文件(因为我已经有服务器了,这里只需要编写客户端,所以我在参数中多加了-C只生成客户端框架代码,具体用法看help soapcpp2.exe -h)
  3. 执行完之后会自动生成一堆文件,其中只有一部分是我们需要的(文件列表:mservice.xx.req.xml, mservice.xx.res.xml, mservice.nsmap, mservice.wsdl, ns.xsd, soapC.cpp, soapH.h, soapmserviceProxy.h, soapmserviceProxy.cpp, soapmserviceService.h, soapmserviceService.cpp, soapStub.h)
  4. 其中编写客户端我们需要soapH.h, soapStub.h, soapmserviceProxy.h, stdsoap2.h, soapC.cpp, soapmserviceProxy.cpp, stdsoap2.cpp,其中stdsoap2.h和stdsoap.cpp都是gsoap里已经有的,编写自己的main函数基本就完成了 (如果需要编写服务器端只需要把soapmserviceProxy替换成soapmserviceService就行了,其他的文件一样)
  5. main函数的编写,gsoap的初始化和命令调用(这里我们直接使用生成的代理类mserviceProxy ms(SOAP_C_UTFSTRING),这里需要注意的是编码问题,纠结了一天才发现问题所在,这里在构造的时候我们指明传输的时候使用UTF8编码对字符串进行序列化), ms.soap_endpoint = “http://localhost:8899“; (指明代理类的Endpoint URL )
  6. 构造好代理类之后就可以直接使用定义好的接口了(ms.commoncmd(xx,xx,xx,ret_result)),然后就可以处理gsoap的返回信息了,返回信息保存在ret_result,具体跟接口定义有关
  7. 使用的时候只需要包含soapmserviceProxy.h和mservice.nsmap就可以了

gsoap的目录下有自带的一些例子挺不错的,网上的好多教程也都是一些加,减,乘,除,看下samples目录下的calc示例就很好理解了

针对在VS中使用QT乱码问题,在头文件中声明可执行程序的编码即可
文件编码:GB2312

#pragma excution_character_set("utf-8")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值