gsoap C++工程搭建
生成方式:c(c++),不含STL,支持中英文发送与接收。
流程如下:
- 下载文件:https://www.genivia.com/downloads.html
- 解压
- 进入gsoap-2.8\gsoap\bin\win32文件夹下,有一个macosx文件夹,不用管。
-
执行命令,生成头文件。
wsdl2h.exe -s -o webservice2Jails.h -n webservice2Jails -t mytypemap.dat http://localhost:8080/Jails/services/HandleService?wsdl
- 其中,webservice2Jails.h 为生成头文件名,可以自定义
- mytypemap.dat文件是自定义的映射文件,内容如下:
xsd__string = | std::wstring | wchar_t*
- -n webservice2Jails为定义的namespace名。
- http://localhost:8080/Jails/services/HandleService?wsdl 为要生成的wsdl地址
-
soapcpp2.exe -i -x -C -L webservice2Jails.h -IF:\OpenSource\gsoap-2.8\gsoap\import
- webservice2Jails.h为刚刚生成的头文件。
- -IF:\OpenSource\gsoap-2.8\gsoap\import为引入文件夹设置。
- 添加根目录gsoap-2.8\gsoap下的stdsoap.h 和stdsoap2.cpp到刚刚生成的文件夹。
-
现在你可以看到这些文件,一共9个文件
至此,你已经可以使用这些文件进行工程的搭建了。下面的是可选内容。
- 新建一个VS工程。在工程同级目录下创建一个文件夹include,并创建一个gsoap的文件夹,把以上生成的文件都放入。
- 在VS工程设置中进行如下设置,
10 . 此时已经可以开始引用文件和使用搭建工程了。
11 . 如果想在VS中查看方便,还可以在VS工程创建一个文件夹,并引入
12 . 工程proxy设置如下soap_set_mode(&m_proxy, SOAP_C_UTFSTRING);
经测试设置为soap_set_mode(m_proxy, SOAP_C_MBSTRING);
也是可以的。接收端使用的是UTF8编码进行的。