1、gSoap Toolkit下载地址
https://sourceforge.net/projects/gsoap2/
2、解压gSoap压缩包,结构如下图
3、我们主要用到部分在gsoap文件夹下,bin文件及import文件、typemap.dat,这三个部分
4、在bin文件夹中选择win32,其中wsdl2h.exe是用来生成.h的头文件,soapcpp2.exe用来生成soap的框架
5、介绍完soap的结构后,现在我们通过CMD命令编译WSDL 文件
(1)通过cd转换到当前wsdl2h、soapcpp2的文件夹位置下,转换命令如下
For Example:
eg:wsdl2h.exe -o 生成头文件名称.h http://*.?wsdl 第一种生成方式
eg:wsdl2h.exe -o 生成头文件名称.h *.wsdl 第二种生成方式(本地wsdl)
(2)其中-o代表输出的头文件名称,-s声明该生成方式是否支持STL容器
选项 | 结果 |
---|---|
-a |
为具有匿名类型的本地元素生成索引结构名称 |
-b |
生成双向操作以提供单向响应消息(双工) |
-c |
生成 C 源代码 |
-c++ |
生成C++源代码(默认) |
-c++11 |
生成 C++11 源代码 |
-D |
使具有默认/固定值的属性成员使用指针成为可选 |
-d |
为 xsd:any 和 xsd:any 类型元素生成 DOM 代码 |
-e |
不符合的已分名 |
-F |
向结构添加瞬态成员以模拟 C 中的结构类型派生 |
-f |
通过删除C++生成平面类层次结构 |
-g |
生成全局顶级元素和属性声明 |
-h |
显示帮助信息和退出 |
-I path |
用于查找 WSDL 和 XSD 文件path |
-i |
不导入(高级选项) |
-j |
不生成和定义SOAP_ENV__Header SOAP_ENV__Detail |
-k |
不生成限定符SOAP_ENV__Header mustUnderstand |