zoukankan      html  css  js  c++  java
  • C++客户端通过gSOAP调用WebService

    webService三要素:

    SOAP(Simple Object Access Protocol)、WSDL(WebServicesDescriptionLanguage)、UDDI(UniversalDescriptionDiscovery andIntegration)。 SOAP用来描述传递信息的格式, WSDL 用来描述如何访问具体的接口, UDDI用来管理,分发,查询webService 。SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议(HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。SOAP使用基于XML的数据结构和超文本传输协议(HTTP)的组合定义了一个标准的方法来使用Internet上各种不同操作环境中的分布式对象。

    gSOAP:
    1. wsdl2h.exe:
    We use the gSOAP ‘wsdl2h’ WSDL parser to obtain the gSOAP header file specification of a Web service from a WSDL document.
    完成 wsdl文件(.wsdl)到头文件(.h)的转换,即由写好的wsdl格式的接口定义文件转换为C/C++格式的头文件。
    2. soapcpp2.exe:
    根据接口头文件生成应用程序客户端和服务端的框架文件(soapClient.cpp、soapServer.cpp等)。

    计算器示例:
    wsdl文件URL地址:http://www.cs.fsu.edu/~engelen/calc.wsdl
    a) 程序->运行 输入cmd 启动命令行;
    b) cd到wsdl2h.exe所在文件路径;
    c) 输入:wsdl2h.exe -o cal.h http://www.cs.fsu.edu/~engelen/calc.wsd
    -c代表转化成C代码。
    -s代表不使用STL,取而代之需要在工程中包含stdsoap2.h和stdsoap2.cpp。
    -o file代表指定输出文件名称。具体:wsdl2h.exe -h
    d)soapcpp2.exe -i cal.h
    -C代表生成客户端代码。
    -S代表生成服务端代码。
    -L代表不生成soapClientLib/soapServerLib
    -c代表仅生成c代码 -i代表使用Proxy
    通常情况下使用命令soapcpp2 –S/-C –L -i xxx.h
    生成如下文件:
    生成文件

    建立新控制台应用程序:
    添加到项目的文件
    calctest.cpp代码:

    #include<iostream>
    #include"soapcalcProxy.h"
    #include"calc.nsmap"
    
    using namespace std;
    
    int main()
    {
        calcProxy cal;
        double result = 0;
        if (SOAP_OK==cal.add(1, 2, result))
        {
            cout << result << endl;
        }
        system("pause");
        return 0;
    }

    各文件简介:
    文件简介

  • 相关阅读:
    Java IO流学习总结
    wpf 右键ListBox可编辑
    silverlight 独立存储之路径、保存图片、扩展空间注意事项
    自定义wpf的MessageBox(可重定义button键文字)
    细数各大顶级网站的垃圾设置!!!
    无法为 SSL/TLS 安全通道与颁发机构“*****”建立信任关系。
    JS完美运动框架
    修改thinkphp缩略图源码 生成固定的缩略图
    20120609 随笔
    php 图片处理函数
  • 原文地址:https://www.cnblogs.com/ggzone/p/4429923.html
Copyright © 2011-2022 走看看