美文网首页
C++调用webservice接口整理记录

C++调用webservice接口整理记录

作者: 戴宏鹏 | 来源:发表于2018-03-07 17:29 被阅读0次

    初始材料:WSDL文件,gsoap_2.8.40,浏览器(查阅用....)
    目的材料:调用webservice的接口(WS-Security验证)

    步骤:
    1.通过gsoap生成接口代码文件

    wsdl2h.exe -t typemap.dat -s -o  temp.h source.wsdl
    

    2.关键的一步,因为这步让我卡住好几天,压力贼大
    修改temp.h文件引入WS-Security需要的东西

      #import "wsse.h"
    

    3.生成接口代码文件

      soapcpp2.exe  -j -x -C -L temp.h -I K:\import
    

    4.将生成的代码文件和以下几个文件引入项目,具体位置可在gsoap目录、plugin目录、import目录找:


    image.png

    注意!

    有一些文件如smdevp.c, mecevp.c, wsseapi.c,需要把后缀名改成.cpp,此处的坑是:stdsoap2.h :expected specifier-qualifier-list before 'XXX'

    5.编译选项加上 -DWITH_DOM 和 -DWITH_OPENSSL ,此处的坑我是找不到头文件,编译选项也要加上头文件所在目录。不明白可以复习一下-I,-L,-l三个的区别。
    6.调用接口的地方引入

      #include "soapH.h"
      #include "XXXServiceHttpBindingProxy.h"
      #include "XXXServiceHttpBinding.nsmap"
      #include "wsseapi.h"
    

    7.调用接口之前调用:

    soap_wsse_add_UsernameTokenText(soap, "Id", "username", "password");
    

    主要参考文档:https://www.genivia.com/doc/wsse/html/wsse.html

    相关文章

      网友评论

          本文标题:C++调用webservice接口整理记录

          本文链接:https://www.haomeiwen.com/subject/jwxsfftx.html