预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

LinuxC实现webservice调用 与远程服务器实时交换数据,完成用户的请求。由于简单对象访问协议(SimpleObjectAccessProtocol,SOAP)的流行,涉及到第三方的应用,一般采用SOAP来开发。 Gsoap是一套开源的C/C++软件工具包,使用它能很方便的开发SOAP网页服务和基于XML的应用程序。 下载gsoap: HYPERLINK"https://sourceforge.net/projects/gsoap2/files/"https://sourceforge.net/projects/gsoap2/files/ gsoap依赖于bison和flex,configure的时候用不上,但是make的时候需要。 Bison:HYPERLINK"http://www.gnu.org/software/bison/"http://www.gnu.org/software/bison/ Flex: HYPERLINK"http://flex.sourceforge.net/"http://flex.sourceforge.net/ 关于这两个工具包的安装步骤可以参考最新的LFS手册:HYPERLINK"http://www.linuxfromscratch.org/lfs/view/6.4/chapter06/bison.html"http://www.linuxfromscratch.org/lfs/view/6.4/chapter06/bison.html HYPERLINK"http://www.linuxfromscratch.org/lfs/view/6.4/chapter06/flex.html"http://www.linuxfromscratch.org/lfs/view/6.4/chapter06/flex.html 安装bison的时候还需要安装m4。 编译安装gsoap,./configure&&make&&makeinstall 将安装文件夹下的stdsoap.c和stdsoap.h拷贝到项目文件夹下。 使用wsdl2h生成C头文件,如果要生成纯C代码,需要加上-c参数,否则生成C++代码。 wsdl2h–c–oTestHeader.hHYPERLINK"http://192.168.0.104:8003/WS/TService.asmx?wsdl"http://192.168.0.104:8003/WS/TService.asmx?wsdl **ThegSOAPWSDL/SchemaprocessorforCandC++,wsdl2hrelease1.2.17**Copyright(C)2000-2010RobertvanEngelen,GeniviaInc.**AllRightsReserved.Thisproductisprovided"asis",withoutanywarranty.**Thewsdl2htoolisreleasedunderoneofthefollowingtwolicenses:**GPLorthecommerciallicensebyGeniviaInc.Useoption-lformoreinfo.Savingstock.hCannotopenfile'typemap.dat'Problemreadingtypemapfile'typemap.dat'.UsinginternaltypedefinitionsforCinstead.Connectingto'http://webservice.webxml.com.cn/WebServices/ChinaStockWebService.asmx?wsdl'toretrieveWSDL/XSD...Connected,receiving...Donereading'http://webservice.webxml.com.cn/WebServices/ChinaStockWebService.asmx?wsdl'Tocompletetheprocess,compilewith:>soapcpp2stock.h 解析TestHead.h文件,生成存根程序。 Soapcpp2–c–CTestHeader.h -c表示生成标准C程序,若没有,默认生成C++程序。 -C表示仅生成客户端程序,若没有,则生成客户端和服务端程序。 代码编写: 通过查看URL中的页面,可以得到相关的函数字段。 其中以HelloWorld为例: 从请求和响应看出,不需要传递参数给远程服务器。得到的数据为: <HelloWorldResult>string</Hello