gsoap中文文档(8.1.1)
日期:2007年7月27日 作者: 查看:[大字体 中字体 小字体]-
8 快速指南
本指南旨在让你快速开始你的gSOAP开发之旅。阅读本节的内容,需要你对SOAP 1.1协议及C/C++语法有大体的了解。虽然使用gSOAP编译器可以直接用C/C++开始编写web服务及客户端程序而不需要了解SOAP协议的细节,但是由于我们在本节中使用了大量的实例来说明gSOAP与其他SOAP实现的连接及通讯,所以了解一些SOAP及WSDL协议也是必需的。
8.1 如何使用gSOAP编译环境来编译SOAP客户端程序
通常,一个SOAP客户端应用的实现需要为每个客户端需要调用的远程方法提供一个存根例程(stub routine)。存根例程主要负责编码参数信息;将包含参数信息的调用请求发送给制定的SOAP服务;等待返回结果;将结果中的参数信息编码。客户端程序调用访问远程方法的存根例程就像调用本地方法一样。用C/C++手工别写一个存根例程是个十分痛苦的差使,尤其当远程方法的参数中包含特定的数据结构(如:记录、数组、图等)时。幸运的是,gSOAP包中的'wsdl2h'WSDL解析器和'soapcpp2’存根及架构编译器能够将web服务客户端及服务端的开发工作自动化。
'soapcpp2’存根及架构编译器是可以生成构建C++ SOAP客户端所需的C++源码的预编译器。该预编译器的输入参数是一个标准的C/C++头文件。这个头文件可以由WSDL解析器根据相关的WSDL文档自动生成。
参见下面的命令:
$ wsdl2h -o quote.h http://services.xmethods.net/soap/urn:xmethods-delayed-quotes.wsdl
上面的命令根据制定URL提供的WSDL文档生成一个C++语法结构的头文件。
如果需要生成一个纯C的头文件,需要一下命令:
$ wsdl2h -c -o quote.h http://services.xmethods.net/soap/urn:xmethods-delayed-quotes.wsdl
更多关于WSDL解析器及其选项的细节信息,请参见8.2.10节。
执行上述命令后,quote.h文件就生成了。其中包含开发客户端或服务端程序的存根例程定义。SOAP服务远程方法以函数声明的方式在这个头文件中被定义。C/C++源代码的存根例程将通过预编译器自动实现。同时,每个远程方法的程序框架也被自动生成了,它可以用来建立SOAP服务端程序应用。
SOAP服务的输入输出参数可以是简单的数据类型或复杂的数据结构,可以由WSDL解析器自动生成或手工定义。预编译器将自动生成序列化/反序列化这些数据的代码,以便存根例程可以将这些数据以XML的方式编码或解码。8.1.1 例子
XMethods Delayed Stock Quote 服务提供一个getQuote方法(由'wsdl2h'WSDL解析器生成的quote.h定义)。这个方法根据提供的股票名称返回相应的股票价格。下面是这个方法的WSDL文档信息:Endpoint URL: http://services.xmethods.net:80/soap
SOAP action: "" (2 quotes)
Remote method namespace: urn:xmethods-delayed-quotes
Remote method name: getQuote
Input parameter: symbol of type xsd:string
Output parameter: Result of type xsd:float
下面是由WSDL解析器生成的getQuote.h头文件(实际的文件内容与'wsdl2h'版本及生成选项有关): - [1] [2] [3] [4] [5] 下一页
-
- gsoap中文文档(8.1.1) 相关文章:
- ·InterPhonic 文本至语音转换合成在线完成
- ·纯CSS制作的新闻网站中的文章列表
- ·Vista操作系统中文件扩展名如何显示
- ·Windows Vista中如何显示“超级隐藏”文件
- ·Photoshop制作圣诞堆雪立体文字
- ·动态加载外部css或js文件
- ·BIOS开机自检的中文解释
- ·Vista系统中CHM文档无法打开解决方法
- ·“中文.COM”因繁简不等效再陷纠纷
- ·挑战可靠性 6款文件加密软件残酷测试
- gsoap中文文档(8.1.1) 相关软件
- ·《三国志11中文威力加强版》470武将特技补丁
- ·小说语文教学(集)
- ·残雪文集V1.0
- ·NDS《新彩虹岛中文汉化版》模拟器
- ·《实况足球2007》粤语存档繁体中文版
- ·《魔戒之中土大战2+资料片巫王的崛起》游侠全版本繁体中文汉化包
- ·凯撒大帝4-简体中文汉化包V0.8版
- ·凯撒大帝4-繁体中文汉化包V0.8版
- ·NDS《银河战士 初猎 中文汉化版》模拟器
- ·《大航海时代中文汉化版》模拟器
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:获取被拖动的对象的ID
精品推荐
热点TOP10
- ·Visual Studio 2005集成开发环境图解
- ·利用UML类图设计Java应用程序详解(1)
- ·软件工程的未来之路与我们的解决之道?
- ·VS2005(c#)项目调试问题解决方案集锦
- ·Atlas应用程序的调试技巧
- ·代码编写中的心理学与美学
- ·函数库、组件产品的测试方法
- ·IBM 建立商业解决方案中心
- ·IBM Rational推出SOAD策略
- ·通过RUP用例进行需求管理的可追踪性策略(1)
- ·软件项目在变化的需求中获得成功(1)
- ·界面需求的分析方法(1)
- ·探究需求管理的本质(1)
- ·利用数据绑定和模板创建Atlas应用程序
- ·BEA和Siebel联合提供CRM软件
- ·BEA新任亚太区总经理 曾任惠普软件部高管
- ·Java从老虎变野马 好事还是坏事?
- ·Web服务的期望与现实
- ·SAP:未来管理软件将像玩具
- ·面向服务的体系结构的成熟度模型
