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"http://服务端与客户端必须包含的文件#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技术交流群:****
推薦系統(tǒng)
雨林木風(fēng) winxp下載 純凈版 永久激活 winxp ghost系統(tǒng) sp3 系統(tǒng)下載
系統(tǒng)大?。?/em>0MB系統(tǒng)類型:WinXP雨林木風(fēng)在系統(tǒng)方面技術(shù)積累雄厚深耕多年,打造了國內(nèi)重裝系統(tǒng)行業(yè)知名品牌,雨林木風(fēng)WindowsXP其系統(tǒng)口碑得到許多人認(rèn)可,積累了廣大的用戶群體,是一款穩(wěn)定流暢的系統(tǒng),雨林木風(fēng) winxp下載 純凈版 永久激活 winxp ghost系統(tǒng) sp3 系統(tǒng)下載,有需要的朋友速度下載吧。
系統(tǒng)等級:進(jìn)入下載 >蘿卜家園win7純凈版 ghost系統(tǒng)下載 x64 聯(lián)想電腦專用
系統(tǒng)大小:0MB系統(tǒng)類型:Win7蘿卜家園win7純凈版是款非常純凈的win7系統(tǒng),此版本優(yōu)化更新了大量的驅(qū)動,幫助用戶們進(jìn)行舒適的使用,更加的適合家庭辦公的使用,方便用戶,有需要的用戶們快來下載安裝吧。
系統(tǒng)等級:進(jìn)入下載 >雨林木風(fēng)xp系統(tǒng) xp系統(tǒng)純凈版 winXP ghost xp sp3 純凈版系統(tǒng)下載
系統(tǒng)大?。?/em>1.01GB系統(tǒng)類型:WinXP雨林木風(fēng)xp系統(tǒng) xp系統(tǒng)純凈版 winXP ghost xp sp3 純凈版系統(tǒng)下載,雨林木風(fēng)WinXP系統(tǒng)技術(shù)積累雄厚深耕多年,采用了新的系統(tǒng)功能和硬件驅(qū)動,可以更好的發(fā)揮系統(tǒng)的性能,優(yōu)化了系統(tǒng)、驅(qū)動對硬件的加速,加固了系統(tǒng)安全策略,運行環(huán)境安全可靠穩(wěn)定。
系統(tǒng)等級:進(jìn)入下載 >蘿卜家園win10企業(yè)版 免激活密鑰 激活工具 V2023 X64位系統(tǒng)下載
系統(tǒng)大?。?/em>0MB系統(tǒng)類型:Win10蘿卜家園在系統(tǒng)方面技術(shù)積累雄厚深耕多年,打造了國內(nèi)重裝系統(tǒng)行業(yè)的蘿卜家園品牌,(win10企業(yè)版,win10 ghost,win10鏡像),蘿卜家園win10企業(yè)版 免激活密鑰 激活工具 ghost鏡像 X64位系統(tǒng)下載,其系統(tǒng)口碑得到許多人認(rèn)可,積累了廣大的用戶群體,蘿卜家園win10純凈版是一款穩(wěn)定流暢的系統(tǒng),一直以來都以用戶為中心,是由蘿卜家園win10團(tuán)隊推出的蘿卜家園
系統(tǒng)等級:進(jìn)入下載 >蘿卜家園windows10游戲版 win10游戲?qū)I(yè)版 V2023 X64位系統(tǒng)下載
系統(tǒng)大?。?/em>0MB系統(tǒng)類型:Win10蘿卜家園windows10游戲版 win10游戲?qū)I(yè)版 ghost X64位 系統(tǒng)下載,蘿卜家園在系統(tǒng)方面技術(shù)積累雄厚深耕多年,打造了國內(nèi)重裝系統(tǒng)行業(yè)的蘿卜家園品牌,其系統(tǒng)口碑得到許多人認(rèn)可,積累了廣大的用戶群體,蘿卜家園win10純凈版是一款穩(wěn)定流暢的系統(tǒng),一直以來都以用戶為中心,是由蘿卜家園win10團(tuán)隊推出的蘿卜家園win10國內(nèi)鏡像版,基于國內(nèi)用戶的習(xí)慣,做
系統(tǒng)等級:進(jìn)入下載 >windows11下載 蘿卜家園win11專業(yè)版 X64位 V2023官網(wǎng)下載
系統(tǒng)大小:0MB系統(tǒng)類型:Win11蘿卜家園在系統(tǒng)方面技術(shù)積累雄厚深耕多年,windows11下載 蘿卜家園win11專業(yè)版 X64位 官網(wǎng)正式版可以更好的發(fā)揮系統(tǒng)的性能,優(yōu)化了系統(tǒng)、驅(qū)動對硬件的加速,使得軟件在WINDOWS11系統(tǒng)中運行得更加流暢,加固了系統(tǒng)安全策略,WINDOWS11系統(tǒng)在家用辦公上跑分表現(xiàn)都是非常優(yōu)秀,完美的兼容各種硬件和軟件,運行環(huán)境安全可靠穩(wěn)定。
系統(tǒng)等級:進(jìn)入下載 >
相關(guān)文章
- 有什么電腦自動關(guān)機(jī)軟件好用 電腦自動關(guān)機(jī)軟件下載推薦
- 微信抽獎小程序怎么弄,教你微信轉(zhuǎn)盤抽獎小程序制作方法
- 收集意見建議小程序怎么弄,教你制作匿名收集意見的小程序
- 掃碼助力活動怎么弄,微信公眾號助力活動的制作步驟
- 海報裂變活動怎么弄,微信公眾號生成海報裂變活動的方法
- 公眾號推廣二維碼怎么弄,微信公眾號推廣二維碼生成方法
- 公眾號裂變活動制作,微信公眾號怎么做裂變活動
- 登記信息二維碼制作,如何實現(xiàn)掃碼登記填報信息
- 登記表怎么弄,教你微信登記表格怎么做
- 參數(shù)二維碼怎么弄,微信公眾號帶參數(shù)二維碼怎么生成
- 報名二維碼怎么弄,微信公眾號報名二維碼制作步驟
- 設(shè)置電腦定時關(guān)機(jī)命令如何更改 電腦定時關(guān)機(jī)命令設(shè)置方法詳解
- win7怎么自動關(guān)機(jī) win7自動關(guān)機(jī)時間設(shè)置方法
- 設(shè)置定時關(guān)機(jī)命令在哪 電腦設(shè)置定時關(guān)機(jī)命令
熱門系統(tǒng)
推薦軟件
推薦應(yīng)用
推薦游戲
熱門文章
常用系統(tǒng)
- 1【國慶特獻(xiàn)】深度技術(shù)Windows10純凈版 Win10 GHOST鏡像64位系統(tǒng)下載
- 2windows11旗艦版下載 深度技術(shù)64位完美版 免激活工具下載 GHOST鏡像
- 3電腦公司windows7免費版官網(wǎng)下載 ghost x64位 v2022.05 iso鏡像
- 4番茄花園win7家庭版 x64位最新版下載 ghost鏡像 惠普電腦專用下載
- 5青蘋果系統(tǒng)windows11旗艦版 win11 ghost 64位 V2021.10
- 6Windows7穩(wěn)定版下載 系統(tǒng)之家永久免費 ghost系統(tǒng) ISO鏡像下載
- 7深度系統(tǒng)Win11企業(yè)版正式版裝機(jī)用戶專用 ghost系統(tǒng) ISO鏡像 X64位
- 8風(fēng)林火山win10穩(wěn)定版 x64位最新版下載 Ghost鏡像 免激活工具
- 9雨林木風(fēng)精簡版下載 Windows7純凈版64位 ISO鏡像官網(wǎng)下載 v2023