gSOAP教程之客户端调用WSDL(一)

工具:gsoap-2.8.66(这个是目前各个公司使用最多的,也是最完善的)

系统环境:Centos7 64位

步骤:    

1.下载gsoap工具 下载地址:https://sourceforge.net/projects/gsoap2/files/

2.解压工具:unzip gsoap_2.8.66.zip

         15256b877a1e6d6e3fa8659596f8a6a1836.jpg

3.编译我们需要的工具(由于我们要做到最少依赖,所以只需要编译用到的soapcpp2和wsdl2h两个工具)

4.开始编译:

    (1)进入到gsoap/src目录下,执行 make -f MakefileManual soapcpp2                 

          b68001a946716b0a9a4c94ee1e743179049.jpg

    (2)进入到gsoap/wsdl目录下,执行 make -f MakefileManual(如果你安装了OpenSSL就执行 make -f MakefileManual secure)
         ec08e9d3baf3b5c2a41cbd3746a7fd16f6c.jpg

         至此,工具都已编译完成,编译好的程序在gsoap/bin目录下。

5. 生成所需文件:

  (1)进入到gsoap/bin目录下,执行以下命令:

            ./wsdl2h -o calc.h http://www.genivia.com/calc.wsdl  

           会在当前目录下生成一个 calc.h文件

         0f8df0adeccf641239443f8cf4035758335.jpg

   (2)接着执行以下命令:

            ./soapcpp2 -j -CL -I/path/to/gsoap/import calc.h

         bf1917ff34569a1b10e0adfab436ccd9a83.jpg

  (3)可以在gsoap/bin目录下看到已经生成的所有文件

         9b6ea27ec1024ff826781bd8e4ade4b28e6.jpg

6.编写calcclient.cpp客户端例子:

#include "calc.nsmap"      
#include "soapcalcProxy.h" 

int main()
{
  calcProxy calc;
  double sum;
  if (calc.add(1.23, 4.56, sum) == SOAP_OK)
    std::cout << "Sum = " << sum << std::endl;
  else
    calc.soap_stream_fault(std::cerr);
  calc.destroy(); // same as: soap_destroy(calc.soap); soap_end(calc.soap);

}

7.  把gsoap目录下的stdsoap2.h文件复制到gsoap/bin目录下:

    b089c94e9f7ab6d2dfd34e6ba66dc9fc8e6.jpg

8.执行编译命令,会生成calcclient程序:

    c++ -o calcclient calcclient.cpp soapC.cpp soapcalcProxy.cpp /home/webservice/gsoap-2.8/gsoap/stdsoap2.cpp

    2e9282233c4650e51a42986d14fd403677d.jpg

     注:加上stdsoap2.cpp的具体路径,不然编译出错,这个是我的路径:/home/webservice/gsoap-2.8/gsoap/。

9.执行calcclient程序:

    ./calcclient   出现结果Sum = 5.79

    438b24eb459eadbb2a92aaf930e29f6c040.jpg

  至此,一个简单的客户端小Demo就完成了。也算是初入gsoap。

  过几天忙完了,会继续更新服务端和客户端整体教程。

  感谢阅读,能读到这里,说明你真的是个好学的程序员。

   转载请注明出处。

转载于:https://my.oschina.net/u/3183495/blog/1841737

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值