gSoap入门之三__C++开发的简单WebService客户端程序


前面更具gSoap源码包里面的例子,创建了一个简单的WebService服务端程序:MyCalcSvr.exe,现在创建一个简单的WebService客户端程序:MyCalcCli.exe。


用VS创建一个项目:MyCalcCli,创建Calc.h和 CalcCli.cpp文件,内容如下 :


头文件Calc.h,内容如下:


//gsoap Calc service method-documentation: add Sums two values
int Calc__add(double a, double b, double *result);

//gsoap Calc service method-documentation: sub Subtracts two values
int Calc__sub(double a, double b, double *result);

//gsoap Calc service method-documentation: mul Multiplies two values
int Calc__mul(double a, double b, double *result);

//gsoap Calc service method-documentation: div Divides two values
int Calc__div(double a, double b, double *result);

//gsoap Calc service method-documentation: pow Raises a to b
int Calc__pow(double a, double b, double *result);



程序主文件CalcCli.cpp,内容如下:


#include "CalcH.h"
#include "Calc.nsmap"

const char server[] = "http://127.0.0.1:8888";

int main(int argc, char **argv)
{
    struct soap soap;
    double a, b, result;
    if (argc < 4)
    {
        fprintf(stderr, "Usage: [add|sub|mul|div|pow] num num/n");
        exit(0);
    }
    soap_init1(&soap, SOAP_XML_INDENT);
    a = strtod(argv[2], NULL);
    b = strtod(argv[3], NULL);
    switch (*argv[1])
    {
    case 'a':
        soap_call_Calc__add(&soap, server, "", a, b, &result);
        break;
    case 's':
        soap_call_Calc__sub(&soap, server, "", a, b, &result);
        break;
    case 'm':
        soap_call_Calc__mul(&soap, server, "", a, b, &result);
        break;
    case 'd':
        soap_call_Calc__div(&soap, server, "", a, b, &result);
        break;
    case 'p':
        soap_call_Calc__pow(&soap, server, "", a, b, &result);
        break;
    default:
        fprintf(stderr, "Unknown command/n");
        exit(0);
    }
    if (soap.error)
    {
        soap_print_fault(&soap, stderr);
        exit(1);
    }
    else
        printf("result = %g/n", result);
    soap_destroy(&soap);
    soap_end(&soap);
    soap_done(&soap);

    system("pause");
    return 0;
}


然后把stdsoap2.h, stdsoap2.cpp, soapcpp2.exe这三个文件拷贝到MyCalcCli项目目录下面,跟Calc.h文件同一个目录的地方,同时在该目录下创建文件 CreateCli.cmd,文件内容如下:


soapcpp2 -CLwx -pCalc Calc.h

 

    双击运行CreateCli.cmd,这是将会产生 CalcH.h,CalcProxy.h,CalcStub.h,CalcClient.cpp,CalcC.cpp,Calc.nsmap这

6 个 文件。把   stdsoap2.cpp,CalcClient.cpp,CalcC.cpp这三个文件添加到MyCalcCli项目中去,编译。

   好了,一个简单的WebService客户端程序出炉了。


   先运行上一篇文中的MyCalcSvr.exe服务程序,然后运行 MyCalcCli.exe a 12 13,好了:result = 25。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值