- 环境Ubuntu 16.04 ,系统自带GCC,按照一堆工具 ssh ----
- windows 安装winscp(方便windows 机器和linux 机器相互传输数据)
- 下载soap包 http://gsoap2.sourceforge.net (官网)我们用的是gsoap_2.8.72.zip
- 用winscp 拷贝到虚拟机文件夹下解压安装。安装可以参考csdn博客
- wsdl2h -s -o -c xxx.h http://10.0.5.47:9080/TmriOutAccess.svc?wsdl 获取C 语法结构头文件。(根据需要访问的服务器做相关引用,这一步最关键)
- 把得到的 xxx.h 拷贝到你自己工程的soap 使用的头文件。
- 使用gSoap的预编译器soapcpp2,根据上一步得到的头文件来生成存根文件(soapStub.h)和客户端代码框架。
如:soapcpp2 -i -x -C -L calc.h
这一步将会得到几个. nsmap、.h和.cpp文件,如:calc.nsmap、soapC.cpp、soapH.h、soapStub.h、soapcalcProxy.cpp、soapcalcProxy.h
我们这一步使用Makefile 实现的。
- 根据原来的边界修改Makefile 协议为1 所以利用soapcpp2 增加参数 -1
- 注意填写soap_call 函数,action ,根据xxx.h 的说明填写,我就是在这个里面搞了好几天,网上所有的教程都是没有填写这个参数
- 安装libxml2(解析xlm 格式文件) libconv(gbk 和utf-8格式转换)