gsoap C++工程搭建

生成方式:c(c++),不含STL,支持中英文发送与接收。

流程如下:

  1. 下载文件:https://www.genivia.com/downloads.html
  2. 解压
  3. 进入gsoap-2.8\gsoap\bin\win32文件夹下,有一个macosx文件夹,不用管。
  4. 执行命令,生成头文件。
    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地址
  5. soapcpp2.exe -i -x -C -L webservice2Jails.h -IF:\OpenSource\gsoap-2.8\gsoap\import

    • webservice2Jails.h为刚刚生成的头文件。
    • -IF:\OpenSource\gsoap-2.8\gsoap\import为引入文件夹设置。
  6. 添加根目录gsoap-2.8\gsoap下的stdsoap.h 和stdsoap2.cpp到刚刚生成的文件夹。
  7. 现在你可以看到这些文件,一共9个文件
    gsoap C++工程搭建

    至此,你已经可以使用这些文件进行工程的搭建了。下面的是可选内容。

  8. 新建一个VS工程。在工程同级目录下创建一个文件夹include,并创建一个gsoap的文件夹,把以上生成的文件都放入。
  9. 在VS工程设置中进行如下设置,
    gsoap C++工程搭建
    gsoap C++工程搭建

10 . 此时已经可以开始引用文件和使用搭建工程了。
11 . 如果想在VS中查看方便,还可以在VS工程创建一个文件夹,并引入

gsoap C++工程搭建

12 . 工程proxy设置如下soap_set_mode(&m_proxy, SOAP_C_UTFSTRING); 经测试设置为soap_set_mode(m_proxy, SOAP_C_MBSTRING);也是可以的。接收端使用的是UTF8编码进行的。