gsoap应用---利用gsoap工具生成代码
1、gsoap是什么?
The gSOAP toolkit is an open source C and C++ software development toolkit forSOAP/XML Web services and generic (non-SOAP)C/C++ XML data bindings. The toolkit analyzes WSDLs and XML schemas (separately or as a combined set) and maps the XML schema types and the SOAP messaging protocols to easy-to-use and efficient C and C++ code. It also supports exposing (legacy) C and C++ applications as SOAP/XML Web services by auto-generating XML serialization code and WSDL specifications. Or you can simply use it toautomatically convert XML to/from C and C++ data. The toolkit supports options to generate pure ANSI C or C++ with or without STL.
这是gsoap介绍的原文,简单来说,gsoap就是一个工具,这个工具能够做的事情就是自动从WSDL和XML文档生成C/C++代码,或者是逆向。这就是我所理解的gsoap。
记录下:
gSOAP编译工具提供了一个SOAP/XML 关于C/C++ 语言的实现,从而让C/C++语言开发web服务或客户端程序的工作变得轻松了很多。绝大多数的C++web服务工具包提供一组API函数类库来处理特定的SOAP数据结构,这样就使得用户必须改变程序结构来适应相关的类库。与之相反,gSOAP利用编译器技术提供了一组透明化的SOAP API,并将与开发无关的SOAP实现细节相关的内容对用户隐藏起来。
[-v] [-w] [-x] [-y] [-z] [-o outfile.h] infile.wsdl infile.xsd http://www... ...
type map文件用于指定SOAP/XML中的类型与C/C++之间的转换规则,比如在wsmap.dat里写。
关于typemap.dat,在下载的gsoap中是有另外一个,叫:WS-typemap.dat。 如果有多个wsdl文档,建议使用这个。
wsdl2h针对多个文档: wsdl2h.exe -sc -t WS-typemap.dat -o quote.h a.wsdl b.wsdl c.wsdl
b、soapcpp2的使用
命令: soapcpp2 【】 头文件名 【-I】 import路径
例 : soapcpp2 -L -c quote.h -I E:\gsoap-2.8\gsoap\import
soapcpp2常用选项
[-v] [-w] [-x] [-y] [-z] [-o outfile.h] infile.wsdl infile.xsd http://www... ...
-c generate C source code
-d use DOM to populate xs:any and xsd:anyType elements
-e don't qualify enum names
-f generate flat C++ class hierarchy
-g generate global top-level element declarations
-h display help info
-Ipath use path to find files
-j don't generate SOAP_ENV__Header and SOAP_ENV__Detail definitions
-l include license information in output
-m use xsd.h module to import primitive types
-nname use name as the base namespace prefix instead of 'ns'
-Nname use name as the base namespace prefix for service namespaces
-ofile output to file
-p create polymorphic types with C++ inheritance with base xsd__anyType
-qname use name for the C++ namespace for all service declarations
-rhost:port /* ??? 暂没理解 */
connect via proxy host and port
-s don't generate STL code (no std::string and no std::vector)
-tfile use type map file instead of the default file typemap.dat
-u don't generate unions
-v verbose output
-w always wrap response parameters in a response struct (<=1.1.4 behavior)
-x don't generate _XML any/anyAttribute extensibility elements
-y generate typedef synonyms for structs and enums
-z generate pointer-based arrays for backward compatibility < gSOAP 2.7.6e
-2 generate SOAP 1.2 bindings
-C generate client-side code only
-S generate server-side code only
-L don't generate soapClientLib/soapServerLib
-a use value of SOAPAction HTTP header to dispatch method at server side
-c generate C source code
-dpath use path to save files
-e generate SOAP RPC encoding style bindings
-h display help info
-i generate service proxies and objects inherited from soap struct
-Ipath use path(s) for #import
-l generate linkable modules (experimental)
-m generate Matlab(tm) code for MEX compiler
-n use service name to rename service functions and namespace table
-pname save files with new prefix name instead of 'soap'
-s generate deserialization code with strict XML validation checks
-t generate code for fully xsi:type typed SOAP/XML messaging
-v display version info
-w don't generate WSDL and schema files
-x don't generate sample XML message files
infile header file to parse (or stdin)
gsoap应用---利用gsoap工具生成代码相关推荐
- 5G NR学习理解系列——利用matlab工具生成5G NR信源
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 5G NR学习理解系列--利用matlab工具生成5G NR信源 前言 NR工具箱的使用 直接使用代码 前言 既然发现了4G LTE ...
- matlab patch 透明度,怎么利用Matlab工具生成带有透明度对象的矢量图
从很早的版本开始MATLAB就支持对 patch.surface 等对象设定透明属性,有些示意图也必须使用透明的对象才能充分展示所要表达的含义.对透明对象支持最好的通用图片格式就是 .png 了,但是 ...
- LTE学习理解系列——利用matlab工具生成4G LTE信源
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 LTE学习理解系列--利用matlab工具生成4G LTE信源 前言 LTE工具箱的使用 直接使用函数 生成信源的采样率 总结 前言 ...
- wsdl2java 工具下载_利用wsdl2java工具生成webservice的客户端代码
1.JDK环境 2.下载apache-cxf发布包:http://cxf.apache.org/download.html 目前最新版本为3.2.6, 解压后如下: 解压发布包,设置CXF_HOME, ...
- wsdl2java生成客户端代码_利用wsdl2java工具生成webservice的客户端代码
1.JDK环境 2.下载apache-cxf发布包:http://cxf.apache.org/download.html 目前最新版本为3.2.6, 解压后如下: 解压发布包,设置CXF_HOME, ...
- 利用SoapUI工具生成webservice客户端java代码
一.下载和安装软件 1.SoapUI 5.3.0 2.axis-1_4(下载地址:https://archive.apache.org/dist/ws/axis/1_4/axis-bin-1_4.zi ...
- java逆向生成代码有哪些_利用mybatis逆向工程生成代码
在做项目过程中,当面对很多表时,手动编写Mapper.xml.Mapper.java和pojo无疑是要人命,还容易出错,导致对数据库操作时各种异常.这就陷入了写bug,改bug的旋涡. 针对这一痛点, ...
- 利用keytool工具生成数字证书
一.制作数字证书 因测试微信小程序, 腾讯要求使用 https协议,所以需要使用证书.使用jdk工具制作数字证书流程如下: 1.查看JDK是否安装,使用命令java -version 2.切换目录至 ...
- 利用ZXing工具生成二维码以及解析二维码
今天突然想到二维码是如何存储信息的.于是就开始各种搜索,最终自己也利用Google的ZXing工具完成了一个生成二维码和解析二维码的简单程序. 一. 二维码生成原理(即工作原理) 二维码官方叫版本Ve ...
最新文章
- R 包 optparse 之命令行参数传递
- [MSSQL2012]LEAD函数
- 应用监控指标采集器 Prometheus 核心介绍
- 一起学nRF51xx 0 - 环境搭建
- 互联网时代IT系统的变革-硬件系统定制化发展
- 蓝桥杯 123 二分+打表
- 使用Genymotion模拟器
- Js+XML 操作 [ZT]
- Git使用教程:超详细、超傻瓜、超浅显、真正手把手教
- java 哈希表入门
- pcb设计入门02-PCB封装库
- julia常用矩阵函数_Julia语言入门
- php生成的apk无法安装,xapk怎么安装
- provisional headers are shown
- 实验5、D/A转换实验
- 哪个软件可以测试服装的衣服,测试男生穿什么衣服的软件:男生脸型测试软件...
- 生产力高于一切?我们为什么会对技术上瘾?
- Java程序设计(二)
- 华为海外15年,浮生一瞬间,我的退休告别贴
- mvdbos php spider,yemtao