c++ gsoap怎么调用webservice

 我来答
中公教育IT培训优就业
2017-07-06 · TA获得超过3826个赞
知道大有可为答主
回答量:1457
采纳率:97%
帮助的人:188万
展开全部

c++ gsoap调用webservice的方法步骤:

  1. 生成存客户端存根程序和框架

    wsdl2h -o xxx.h xxx.wsdl(-t D:/gsoap-2.7/gsoap/typemap.dat)

    soapcpp2 -L -x -i xxx.h(-I D:/gsoap-2.7/gsoap/import)

  2. 或直接自己编写xxx.h,并生成xxx.wsdl

    //gsoap ns service name: xxx

    //gsoap ns service style: rpc

    //gsoap ns service encoding: literal

    //gsoap ns service location: ht//localhost:8080

    //gsoap ns schema namespace: ht/localhost:8080/xxx.wsdl

    int ns__add(int a, int b, int* result);  

  3. 客户端
    1) 把如下生成的文件添加到项目:
    stdsoap2.h,stdsoap2.cpp,
    soapH.h,soapC.cpp,soapStub.h,
    soapxxxProxy.h,soapxxxProxy.cpp,xxxSoap.nsmap
    wsock32.lib

    2) 代理方式调用

    #include "soapTestWebServiceProxy.h"

    #include "Test www.hbbz08.com WebService.nsmap"

    int main(int argc, char* argv[])

    {

    int result = 0;

    TestWebServiceProxy proxy;

    proxy.add(12, 23, &result);

    }  //w

  4. 服务端  

    1) 把如下生成的文件添加到项目:

    stdsoap2.h,stdsoap2.cpp,

    soapH.h,soapC.cpp,soapStub.h,

    soapxxxService.h,soapxxxService.cpp,xxxSoap.nsmap

    wsock32.lib

    2) 实现接口函数

    int TestWebServiceService::add(int a, int b, int *result)

    {

    *result = a+b;

    return SOAP_OK;

    }  /

    3) 开启服务

    #include "soapTestWebServiceService.h"

    #include "TestWebService.nsmap"

    int main(int argc, char* argv[])

    {

    TestWebServiceService service;

    service.run(8080);

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式