gsoap how to use

1. 下载gsoap.

2. 下载的gsoap包含soapcpp2.exe 和 wsdl2h.exe 文件

3. 服务器端可以通过WSDL或者简单文件的方式来定义接口, 这里采用简单文件来定义一个简单的加法和减法操作

int ns__Add(int a, int b, int &c);

int ns__Sub(int a, int b, int &c);


注意返回值必须是int, 参数类型是简单的内置类型或者自定义的接口体, 也可以使用vector, 但是需要额外的import头文件。

函数的最后一个参数是表示函数真正的返回值, 如果不希望函数有返回值, 可以用void(*)有不有指针不记得了, 可以网上查


4. 头文件定义好了后, 这里假定为calculator.h, 运行soapcpp2.exe -i calculator.h, 将会在当前目录下产生一堆文件。

这些文件有的是给服务器用的, 有的是给客户端用的。

5. 不管是服务器还是客户端都需要从gsoap的目录下的stdsoap2.cpp 和 stdsoap2.h, 已将刚刚产生的soapC.cpp

6. 服务器端还需要soapService.cpp, 另外需要从Service类继承一个子类 去实现Add和Sub方法, 也需要包含

#include "ns.nsmap"
#include "soapService.h"

这里假定一个类

class CCalculator : public Service
{
public:

    int Add(int a, int b, int &c)
    {
        c = a + b;
        return SOAP_OK;
    }


    int Sub(int a, int b, int &c)
    {
        c = a - b;
        return SOAP_OK;

    }

};

运行的代码是

    CCalculator soap;
    soap.run(1000);

7. 客户端引入soapProxy.cpp

#include "ns.nsmap"
#include "soapProxy.h"

void main()
{
    Proxy p("http://localhost:1000");
    int c;
    p.Add(1, 2, c);
    p.Sub(1, 2, c);
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值