zoukankan      html  css  js  c++  java
  • gsoap使用方法总结

    gsoap使用方法总结

    2012-09-20 20:00 by Chanx, 6 阅读, 0 评论, 收藏编辑

    1、  解压gsoap_2.8.10;

    2、  在目录\gsoap_2.8.10\gsoap-2.8\gsoap\bin\win32下

    3、  打开运行-》cmd-》cd到以上目录下;

    4、  wsdl2h -s -o test.h http://localhost:6968/WebServiceTest.asmx?WSDL 在win32 文件夹下 生成test.h

    5、  把gsoap->import里面的soap12.h 和stlvector.h复制到win32目录下

    6、  执行 soapcpp2.exe -C test.h命令,会生成大堆文件

    soapStub.h    // soap的存根文件,定义了ayandy.h里对应的远程调用模型

    soapC.c soapH.h  // soap的序列和反序列代码,它已经包含了soapStub.h,服务器端与客户端都要包含它

    soapClient.c soapClientLib.c // 客户端代码,soapClientLib.c文件则只是简单地包含soapClient.c和soapC.c

    soapServer.c soapServerLib.c // 服务器端代码,soapServerLib.c文件则只是简单地包含soapServer.c和soapC.c

    ServiceSoap.nsmap ServiceSoap12.nsmap // 名空间定义,服务器端与客户端都要包含它

    soapServiceSoapProxy.h soapServiceSoap12Proxy.h // 客户端的C++简单包装(如果头文件是纯C代码,这两个文件就不会生成)

    7、  将上述文件复制到C++工程目录下。并加载近工程中。

    8、  在引用cpp文件里面添加

    #include "soapH.h"

    #include "soapWebServiceTestSoapProxy.h"

    #include "WebServiceTestSoap.nsmap"

     

    9、调用的实例Demo:

    #include <iostream>

    #include <cstring>

    #include <string>

    #include "soapH.h"

    #include "soapWebServiceTestSoapProxy.h"

    #include "WebServiceTestSoap.nsmap"

     

    using namespace std;

    int main(int argc,char **argv)

    {

    WebServiceTestSoap websoap;

    _ns1__ReceiveInteractiveSMS rsms;

    _ns1__ReceiveInteractiveSMSResponse rRes;

    string no="13800138000";

    string sno="13800138000";

    string scon="text";

    rsms.MobileNo=&no;

    rsms.ServiceNo=&sno;

    rsms.SmsContent=&scon;

     

    _ns1__addResponse r;

    _ns1__add d;

    d.i = 1;

    d.j = 2;

    websoap.__ns2__add(&d,&r);

    int i = websoap.__ns2__ReceiveInteractiveSMS(&rsms,&rRes);

    cout<<*rRes.ExceptionMessage<<endl;

    cout<<i<<endl;

    int y;

    cin>>y;

    cout<<endl;

    }

     在本次的项目开发,需要调用C# web service接口,使用Gsoap很好的解决了这个问题;

    注:只是在web service类或方法更改的时候需要重新生成本地的C++ 头文件,内部逻辑改变,但参数及返回值改变则不需要重新生成。

     

     

     
    分类: C++
  • 相关阅读:
    做的一个HTML表白页面
    C语言--乱写C语言
    算法学习-带分数
    算法学习--兰顿蚂蚁
    算法学习---一个博弈问题
    数据结构学习--稀疏矩阵的三元组表示
    【Java初探外篇02】——关于静态方法与实例方法
    【Java初探实例篇01】——Java语言基础
    【教程知识向】——关于环境变量以及配置
    【java初探外篇01】——关于Java修饰符
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2695873.html
Copyright © 2011-2022 走看看