欢迎来到天天文库
浏览记录
ID:36798594
大小:400.14 KB
页数:3页
时间:2019-05-15
《在C_C_环境下基于gSoap实现WebServices调用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、在C/C++环境下基于gSoap实现WebServices调用罗学刚摘要:gSoap是开放的C/C++源码的SOAP/XML服务工具,提供了关于C/C++语言的SOAP实现。为了让更多的人理解该工具的使用方法,在VisualC++2005环境下,采用gSoap工具实现一个货币转换的WebServices客户端。关键词:gSoap;WebServices;C/C++语言的框架代码(称为框架:Skeleton),另外它也能从头文件生成1gSoap介绍WSDL文件。在C/C++环境下实现一个通用性较强的WebServices
2、客户gsoapstdsoap2.cpp则是gSoap的核心代码,要使用gSoap端一直是比较麻烦的事,gSoap的出现让这个工作简单了很多。只要在项目里包含这个文件以及由soapcpp2.exe生成的代码即目前多数支持C/C++的Web服务工具包都是提供一组API函可。另外还有个stdsoap2.c,内容与stdsoap2.cpp一模一样,数类库来处理特定的SOAP数据结构,这样就使得用户必须改用于纯C项目。变程序结构来适应相关的类库。然而,gSoap是利用编译器技gSoap两大工具wsdl2h.exe和soapcp
3、p2.exe的用法。术提供了一组透明化的SOAPAPI,并将和开发工作无关的wsdl2h功能是从WSDL中产生头文件。SOAP实现细节隐藏起来。gSoap的编译器能够自动的将用户用法:wsdl2h-o头文件名WSDL文件名或URL。定义的本地化的C/C++数据类型转变为符合XML语法的数据wsdl2h常用选项-o文件名,指定输出头文件-n名空间前结构,反之亦然。这样,只用一组简单的API就将用户从缀代替默认的ns-c产生纯C代码,否则是C++代码-s不要SOAP细节实现工作中解脱了出来,能够专注和应用程序逻辑使用STL
4、代码-t文件名,指定typemap文件,默认为的实现工作中去。gSoap编译器能够集成C/C++和Fortran代typemap.dat-e禁止为enum成员加上名空间前缀typemap文码(通过一个Fortran到C的接口),嵌入式系统,其他SOAP件用于指定SOAP/XML中的类型与C/C++之间的转换规则,比程序提供的实时软件的资源和信息;能够跨越多个操作系统,如在wsmap.dat里写。多种语言环境连同在防火墙后的不同组织。soapcpp2功能从头文件生成存根(stub)和框架(Skeleton)gSoap使编
5、写Web服务的工作大大简化。通过gSoap编源文件。译器来生成SOAP代码来序列化或反序列化C/C++的数据编写SOAP程序除了头文件是不够的,还要有连接、通结构。gSoap包含一个WSDL生成器,用它来为您的Web信、XML解析、序列/反序列化等工作。gSoap提供的so-服务生成Web服务的解释。gSoap的解释器及导入器能够使capcpp2.exe就是用于从头文件中生成这些代码的,只要关心用户无需分析Wed服务的细节就能够实现一个客户端或服务真正的业务逻辑就行了。端程序。用法:soapcpp2头文件。该程序执行后
6、,将生成下面这些文件:2开发准备soapStub.h//soap的存根文件,定义了ayandy.h里对应下载gSoap工具的代码地址,当前最新版本是2.8.0版本://的远程调用模型http://sourceforge.net/projects/gsoap2/。soapC.csoapH.h//soap的序列和反序列代码,它已经包含//了soapStub.h,服务器端与客户端都要包含它解压下载文件到本地目录,进入bin目录。soapClient.csoapClientLib.c//客户端代码,soapClientLib.
7、可以在gsoapbinwin32里找到wsdl2h.exe和soapcpp2.exe//c文件则只是简单地包含soapClient.c和soapC.c(另外还有linux和mac版本)。soapServer.csoapServerLib.c//服务器端代码,soapServerwsdl2h.exe的作用是根据WSDL生成C/C++风格的头文件。//Lib.c文件则只是简单地包含soapServer.c和soapC.csoapcpp2.exe的作用是根据头文件自动生成调用远程ServiceSoap.nsmapServ
8、iceSoap12.nsmap//名空间定义,SOAP服务的客户端代码(称为存根:Stub)和提供SOAP服务//服务器端与客户端都要包含它2011.1164soapServiceSoapProxy.hsoapServiceSoap12Proxy.h//客{//户端的C++简单包装(如果头文件是纯C代码,这两个文件就caseSOA
此文档下载收益归作者所有