win7 webservice
环境:
QT版本:
:2.8
编译器:
系统环境:
Demo地址:
##前言
工具包是用于SOAP和服务以及通用C/C++XML数据绑定的C和C++软件开发工具包。该工具包分析WSDL和XML模式(单独或作为组合集),并将XML模式类型和消息传递win7 webservice协议映射为易于使用且高效的C和C++代码。它还支持通过自动生成XML序列化代码和WSDL规范将(传统)C和C++应用程序作为服务公开。或者,您可以简单地使用它自动将XML转换为C和C++数据。该工具包支持生成带有或不带STL的纯ANSIC或C++的选项。
##1.下载GSoap
Gsoap下载地址:https://sourceforge.net/projects/gsoap2/files
##2.编写webservice所需头文件
假设头文件命名为myStr.h
//gsoapnsservicename:myStr//gsoapnsservicestyle:rpc//gsoapnsservicenamespace:http://localhost:8088/myStr.wsdl//gsoapnsservicelocation:http://localhost:8088//gsoapnsschemanamespace:urn:myStrintns__myStrCat(std::stringstr1In,std::stringstr2In,std::stringparamOut);
##3.导出源文件
使用soapcpp2.exe导出所需源文件
执行命令:
soapcpp2myStr.h
比较重要的文件列表:
myStr.nsmap:要用一个.cpp文件include,不然编译报错
soapC.cpp:服务器和客户端都需要
soapClient.cpp:客户端用到
soapClientLib.cpp:可以不用
soapH.h:头文件
soapServer.cpp:服务器用到
soapServerLib.cpp
soapStub.h:可以不用
myStr.wsdl:wsdl文件
##4.建立服务端工程
webservice做为服务端需要的Gsoap文件有8个:
###1.生成的文件
myStr.nsmap、soapC.cpp、soapH.h、soapServer.cpp、soapStub.h、myStr.wsdl
###2.GSoap文件
stdsoap2.h、stdsoap2.cpp。位于gsoap-2.8\gsoap目录中
核心代码:
#ifndefWEBSERVICESERVERLIB_H#defineWEBSERVICESERVERLIB_H#includeQObjectclasswebserviceServerLib:publicQObject{Q_OBJECTpublic:explicitwebserviceServerLib(intport=8088,QObject*parent=0);~webserviceServerLib();voidlisten();signals:publicslots:};#endif//WEBSERVICESERVERLIB_H#include"webserviceserverlib.h"#include"myStr.nsmap"//服务端与客户端必须包含的文件#includeQDebug#includeQtConcurrentstructsoapws_service;inthttp_get(structsoap*soapObject){FILE*fd=NULL;//wscplus.wsdl是执行soapcpp2.exe命令时生成的。把他拷贝到了当前目录下。fd=fopen("myStr.wsdl","rb");//openWSDLfiletocopyif(!fd){return404;//returnHTTPnotfounderror}soapObject-http_content="text/xml";//HTTPheaderwithtext/xmlcontentsoap_response(soapObject,SOAP_FILE);for(;;){size_tr=fread(soapObject-tmpbuf,1,sizeof(soapObject-tmpbuf),fd);if(!r){break;}if(soap_send_raw(soapObject,soapObject-tmpbuf,r)){break;//cannotsend,butlittlewecandoaboutthats}}fclose(fd);soap_end_send(soapObject);returnSOAP_OK;}webserviceServerLib::webserviceServerLib(intport,QObject*parent){intiRet=-1;soap_init(ws_service);soap_set_mode(ws_service,SOAP_C_UTFSTRING);ws_service.fget=http_get;soap_set_namespaces(ws_service,namespaces);//bind端口返回SOCKET套接字-雷同socket套接口函数服务器监听过程iRet=soap_bind(ws_service,"0.0.0.0",port,100);if(iRet0){soap_print_fault(ws_service,stderr);qDebug()stderr;return;}else{qDebug()tr("WebserviceServerinitOK.port:%1").arg(port);}QtConcurrent::run(this,webserviceServerLib::listen);}webserviceServerLib::~webserviceServerLib(){}voidwebserviceServerLib::listen(){intiRet=-1;while(true){iRet=soap_accept(ws_service);if(iRet0){soap_print_fault(ws_service,stderr);qDebug()stderr;}else{qDebug()tr("receiveIP:%1").arg(ws_service.host);fprintf(stderr,"Socketconnectionsuccessful:slavesocket=%d
",iRet);}soap_serve(ws_service);//provideservicesoap_end(ws_service);//endservice}}intns__myStrCat(structsoap*mysoap,std::stringstr1In,std::stringstr2In,std::stringresultOut){qDebug()str1In.c_str()""str2In.c_str();resultOut=str1In+str2In;//jsonreturnSOAP_OK;}
###3.运行结果:
这里我们发现直接访问,返回的是404。这是因为可执行程序目录中没有找到myStr.wsdl
将myStr.wsdl放到可执行程序目录,重新执行。得到正确的返回。
Reference:
http://www.cs.fsu.edu/~engelen/soap.html
觉得文章对你有帮助,可以扫描二维码捐赠给博主,谢谢!
如需转载请标明出处:http://blog.csdn.net/itas109
QQ技术交流群:****
推荐系统
雨林木风 winxp下载 纯净版 永久激活 winxp ghost系统 sp3 系统下载
系统大小:0MB系统类型:WinXP雨林木风在系统方面技术积累雄厚深耕多年,打造了国内重装系统行业知名品牌,雨林木风WindowsXP其系统口碑得到许多人认可,积累了广大的用户群体,是一款稳定流畅的系统,雨林木风 winxp下载 纯净版 永久激活 winxp ghost系统 sp3 系统下载,有需要的朋友速度下载吧。
系统等级:进入下载 >萝卜家园win7纯净版 ghost系统下载 x64 联想电脑专用
系统大小:0MB系统类型:Win7萝卜家园win7纯净版是款非常纯净的win7系统,此版本优化更新了大量的驱动,帮助用户们进行舒适的使用,更加的适合家庭办公的使用,方便用户,有需要的用户们快来下载安装吧。
系统等级:进入下载 >雨林木风xp系统 xp系统纯净版 winXP ghost xp sp3 纯净版系统下载
系统大小:1.01GB系统类型:WinXP雨林木风xp系统 xp系统纯净版 winXP ghost xp sp3 纯净版系统下载,雨林木风WinXP系统技术积累雄厚深耕多年,采用了新的系统功能和硬件驱动,可以更好的发挥系统的性能,优化了系统、驱动对硬件的加速,加固了系统安全策略,运行环境安全可靠稳定。
系统等级:进入下载 >萝卜家园win10企业版 免激活密钥 激活工具 V2023 X64位系统下载
系统大小:0MB系统类型:Win10萝卜家园在系统方面技术积累雄厚深耕多年,打造了国内重装系统行业的萝卜家园品牌,(win10企业版,win10 ghost,win10镜像),萝卜家园win10企业版 免激活密钥 激活工具 ghost镜像 X64位系统下载,其系统口碑得到许多人认可,积累了广大的用户群体,萝卜家园win10纯净版是一款稳定流畅的系统,一直以来都以用户为中心,是由萝卜家园win10团队推出的萝卜家园
系统等级:进入下载 >萝卜家园windows10游戏版 win10游戏专业版 V2023 X64位系统下载
系统大小:0MB系统类型:Win10萝卜家园windows10游戏版 win10游戏专业版 ghost X64位 系统下载,萝卜家园在系统方面技术积累雄厚深耕多年,打造了国内重装系统行业的萝卜家园品牌,其系统口碑得到许多人认可,积累了广大的用户群体,萝卜家园win10纯净版是一款稳定流畅的系统,一直以来都以用户为中心,是由萝卜家园win10团队推出的萝卜家园win10国内镜像版,基于国内用户的习惯,做
系统等级:进入下载 >windows11下载 萝卜家园win11专业版 X64位 V2023官网下载
系统大小:0MB系统类型:Win11萝卜家园在系统方面技术积累雄厚深耕多年,windows11下载 萝卜家园win11专业版 X64位 官网正式版可以更好的发挥系统的性能,优化了系统、驱动对硬件的加速,使得软件在WINDOWS11系统中运行得更加流畅,加固了系统安全策略,WINDOWS11系统在家用办公上跑分表现都是非常优秀,完美的兼容各种硬件和软件,运行环境安全可靠稳定。
系统等级:进入下载 >
相关文章
- dll修复工具win7完整版下载
- 有什么电脑自动关机软件好用 电脑自动关机软件下载推荐
- 微信抽奖小程序怎么弄,教你微信转盘抽奖小程序制作方法
- 收集意见建议小程序怎么弄,教你制作匿名收集意见的小程序
- 扫码助力活动怎么弄,微信公众号助力活动的制作步骤
- 海报裂变活动怎么弄,微信公众号生成海报裂变活动的方法
- 公众号推广二维码怎么弄,微信公众号推广二维码生成方法
- 公众号裂变活动制作,微信公众号怎么做裂变活动
- 登记信息二维码制作,如何实现扫码登记填报信息
- 登记表怎么弄,教你微信登记表格怎么做
- 参数二维码怎么弄,微信公众号带参数二维码怎么生成
- 报名二维码怎么弄,微信公众号报名二维码制作步骤
- 设置电脑定时关机命令如何更改 电脑定时关机命令设置方法详解
- win7怎么自动关机 win7自动关机时间设置方法
热门系统
推荐软件
推荐应用
推荐游戏
热门文章
常用系统
- 1雨林木风 windows11家庭版 X64 ghost镜像 V2022.04下载
- 2大地系统64位高级版 windows11专业版下载 ghost镜像 笔记本专用下载
- 3电脑公司 GHOST WIN10 32位 纯净专业版
- 4萝卜家园win10企业版 免激活密钥 激活工具 V2023 X64位系统下载
- 5win7智能安装版下载 番茄花园64位娱乐版 笔记本专用下载 ghost系统
- 6win10镜像下载 系统之家windows10纯净版镜像系统 21H2 X64位 最新版 V2022.05
- 7大地系统win11家庭版下载 x64位正式版 Ghost iso镜像下载 v2023
- 8winxp ghost 雨林木风winxp 稳定版 ISO系统下载 无需 激活密钥 永久激活
- 9【5年周期支持】Windows 10 企业版 LTSC 2021 ISO镜像