1. gSOAP是一个开源的项目,用它可以方便的使用c/c++地进行SOAP客户端和服务器端编程,而不必了解xml和SOAP协议的细节  
    wsdl2h.exe: 编译wsdl文件生成c/c++头文件  
    -o 文件名,指定输出头文件  
    -n 名空间前缀 代替默认的ns  
    -c 产生纯C代码,否则是C++代码  
    -s 不要使用STL代码   达内就业
    -t 文件名,指定type map文件,默认为typemap.dat  
    -e 禁止为enum成员加上名空间前缀  
    soapcpp2.exe: gSOAP编译器,编译头文件生成服务器和客户端都需要的c/c++文件(默认使用STL,需要stlvector.h)  
    -C 仅生成客户端代码  
    -S 仅生成服务器端代码  
    -L 不要产生soapClientLib.c和soapServerLib.c文件  
    -c 产生纯C代码,否则是C++代码(与头文件有关)  
    -I 指定import路径(见上文)  
    -x 不要产生XML示例文件  
    -i 生成C++包装,客户端为xxxxProxy.h(.cpp),服务器端为xxxxService.h(.cpp)  
      
    2. 生成存客户端存根程序和框架  
    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)  
      
    3. 或直接自己编写xxx.h,并生成xxx.wsdl  
    //gsoap ns service name: xxx  
    //gsoap ns service style: rpc  
    //gsoap ns service encoding: literal  
    //gsoap ns service location: http://localhost:8080  
    //gsoap ns schema namespace: http://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 "TestWebService.nsmap"  
    int main(int argc, char* argv[])  
    {  
     int result = 0;  
     TestWebServiceProxy proxy;  
     proxy.add(12, 23, &result);  
    }  //www.sctarena.com
      
    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;  
    }  //www.m6wang.com
      
    3) 开启服务  
    #include "soapTestWebServiceService.h"  
    #include "TestWebService.nsmap"  
    int main(int argc, char* argv[])  
    {  
     TestWebServiceService service;  
     service.run(8080);  
    }

C++调用WebService相关推荐

  1. java 调用webservice的各种方法总结

    http://www.blogjava.net/zjhiphop/archive/2009/04/29/webservice.html 现在webservice加xml技术已经逐渐成熟,但要真正要用起 ...

  2. xml提示无法连接到远程服务器,异步调用WebService时,如何捕捉“无法连接远程服务器”异常...

    在winform窗体中调用webservice,过程如下: ①Form1中弹出Form2 Form2 form2 = new Form2(); form2.ShowDialoag(); ②Form2中 ...

  3. 在Android中使用Android Ksoap2调用WebService

    一.WebService介绍 WebService是基于SOAP协议可实现web服务器与web服务器之间的通信,因采用SOAP协议传送XML数据具有平台无关性,也是成为解决异构平台之间通信的重要解决方 ...

  4. Javascript+xmlhttp调用Webservice

    1.  创建webservice,为了免于落俗我稍稍修改了创建webserice的默认webmethod.^_^ using System; using System.Web; using Syste ...

  5. [转]几种调用WebService的方法

    1.  在JavaScript中调用WebService  1<script language="javascript">  2function PostRequest ...

  6. java ee webservice_javaEE调用webservice总结【利用WSDL】(转载)

    一.MyEclipse利用网上公开发布WSDL文件,创建WebService Client,进行调用WebService: 1.  打开MyEclipse,新建一个Web Project;然后新建 一 ...

  7. 调用webservice接口,数据不回滚问题

    调用webservice接口,数据不回滚问题 使用cxf+spring框架开发webservice接口,在开发一个具有保存数据的接口功能时,如果数据发生了异常,对service层无论使用了xml配置声 ...

  8. Android使用ksoap2-android调用WebService学习

    之前主要做客户端UI交互,很少处理数据和接触服务端,但现在的移动设备根本不可能离得开网络连接,数据的交换.最近学习的是在android端如何去调用远程WebService,都说WebService是一 ...

  9. Android调用WebService系列之对象构建传递

    上一篇我们讲了如何封装Android调用WebService的能力,把上一章的类加入我们便有了与WebService通讯的能力.往往我们会遇到WebService调用是通过对象来进行实际交互调用的.于 ...

  10. C# 动态调用WebService

    Reference from : http://blog.csdn.net/chuxiamuxiang/article/details/5731988 在C#程序中,若要调用WebService,一般 ...

最新文章

  1. JAVA调用SQL存储过程详解
  2. 【转】C#中数组复制的4种方法
  3. angularjs的表单验证
  4. python画环形图_用Python把图做的好看点:用Matplotlib画个环形图
  5. 4.Windows Server2012 R2里面部署 MVC 的网站
  6. 阿里云服务器用Docker配置运行nginx并访问
  7. 绕过限制,申请Google+
  8. SpringBoot 修改仓库
  9. 591. 标签验证器
  10. XcodeGhost作者声明:源于实验,无任何威胁
  11. Python字典集合数据结构深入理解
  12. Linux 查看日志命令tail的用法
  13. win10非核心版本的计算机上
  14. 【新手教程】51Sim-One Cloud 2.0如何接入被测算法
  15. cpython-36m-x86_64-linux-gnu.so undefined symbol玄学解决
  16. PHP微信公众平台开发高级篇--微信JS-SDK
  17. 橱柜图片-橱柜效果图-整体橱柜衣柜效果图如何选购
  18. 通过ffmpeg实时读取宇视摄像头的高清帧流数据,并保存4张图片进行4合一照片的生成。
  19. 量化分析入门2:上证指数走势图及移动平均线
  20. webug靶场渗透基础攻略

热门文章

  1. 【java8中的时间操作】java8中获取月的最后一天或者总天数,JDK8 LocalDate AP
  2. 初学Java Web(2)——搭建Java Web开发环境
  3. Java语言 泛型 类型擦除
  4. JavaScript简明教程之快速入门
  5. SQL 注入详解扫盲
  6. 浅谈JVM的实现与垃圾回收机制
  7. 数字图像处理领域的二十四个典型算法及vc实现、第一章
  8. 编程之美-寻找最大的k个数
  9. 鸟哥的Linux私房菜(基础篇)-第一章、Linux是什么(一.2. Torvalds的Linux发展)
  10. 《大话数据结构》第9章 排序 9.9 快速排序(下)