1. wsdl2h 生成服务定义头文件

wsdl2h -o calc.h http://www.genivia.com/calc.wsdl

2. 从服务定义头文件calc.h生成客户端代码

soapcpp2 -C -IC:\Users\Administrator\Desktop\gsoap-2.8\gsoap\import calc.h

3. vc6.0项目结构

调用代码main.cpp:

 #include "soapH.h"
#include "calc.nsmap" int main()
{
struct soap soap;
double result = 0.0;
ns2__add nsadd; soap_init(&soap); const char *server_location = "http://websrv.cs.fsu.edu/~engelen/calcserver.cgi";
nsadd.a = 1.0;
nsadd.b = 9.0; if (soap_call_ns2__add(&soap, server_location, "", nsadd.a, nsadd.b, result) == SOAP_OK)
std::cout<<"Sum = " <<result << std::endl;
else
soap_print_fault(&soap, stderr); soap_destroy(&soap);
soap_end(&soap);
soap_done(&soap); return ;
}

#################################

### 客户端调用使用代理类的方式

soapcpp2 -C -IC:\Users\Administrator\Desktop\gsoap-2.8\gsoap\import -i calc.h

calcProxy项目文件夹结构(头文件、源代码分开存放)

在Project ->Project Settings -> C/C++ ->Project Options 下添加  /I ".\\" /I ".\\include", 即把项目根目录项目根目录下的include目录添加到编译器的搜索路径中了

vc++6.0项目结构:

调用文件main.cpp:

 #include "soapcalcProxy.h"
#include "calc.nsmap" int main()
{
calcProxy service; double result; if (service.add(1.0, 2.0, result) == SOAP_OK)
std::cout<<"Sum = "<<result<<std::endl;
else
service.soap_stream_fault(std::cerr); service.destroy(); return ;
}

gSOAP 使用的更多相关文章

  1. gsoap设置超时

    1.修改gsoap自动生成的代码才能进行超时设置(我这边访问web service的代码都是gsoap工具自动生成.根据wsdl接口) 2.找到生成的soapwwwsdlBindingProxy.cp ...

  2. gSOAP MTOM

    前言 需要准备的知识:wsdl,soap,gSOAP,C++,fidder. 首先介绍几个相关的概念 1.MTOM基础概念      MTOM(Message Transmission Optimiz ...

  3. gsoap框架下的onvif程序流程分析

    SOAP_FMAC5 int SOAP_FMAC6 soap_serve(struct soap *soap) { do { unsigned int k = soap->max_keep_al ...

  4. 基于gSOAP使用头文件的C语言版web service开发过程例子

    基于gSOAP使用头文件的C语言版web service开发过程例子 一服务端 1 打开VS2005,创建一个工程,命名为calcServer. 2 添加一个头文件calc.h,编辑内容如下: 1// ...

  5. gSoap的 “error LNK2001: 无法解析的外部符号 _namespaces”解决方法

    gSoap是C/C++开发webService服务第三方的公开类库. 出现上述错误是因为缺少必要的头文件导致的. 在用wsdl2h生成头文件的时候,一并生成了类似 xx.nsmap 的文件,这个文件实 ...

  6. 在Windows下用gSoap实现简单加法实例

    实现一个简单的a+b程序,在服务器端写一个程序,里面包含了a+b的函数,然后通过客户端代码向其发送两个数字,在服务器运算得到结果返回给客户端显示出来. 1.在gSoap的官网上下载文件夹,本人的版本是 ...

  7. [转贴]gsoap使用心得!

    最近换了个工作环境,现在在大望路这边上班,呵,刚上班接到的任务就是熟悉gsoap!废话少说,现在开始gSoap学习! gSOAP是一个夸平台的,用于开发Web Service服务端和客户端的工具,在W ...

  8. [转贴]Windows下gSoap交叉编译环境的搭建

    本人直接就用过gSoap,它是用以C/C++写webservice的利器     交叉编译的时候,有两个很关键的程序:         soapcpp2.exe         wsdl2h.exe ...

  9. 使用GSoap开发WebService客户端与服务端

    Gsoap 编译工具提供了一个SOAP/XML 关于C/C++ 语言的实现, 从而让C/C++语言开发web服务或客户端程序的工作变得轻松了很多. 用gsoap开发web service的大致思路 我 ...

  10. gSoap实现ONVIF中xsd__anyType到具体结构类型的转换

    上一篇文章已经粗略计划要讨论gsoap关于序列化/解析编程. 本文则阐述一下关于gsoap生成代码的一些重要特征方法及使用.如题,下我们从ONVIF生成的C码中,挑选简单的一个类型来试验一下与xsd_ ...

随机推荐

  1. Struts framework

    Struts功能详解——ActionMapping对象 Struts旅程(一)Struts简介和原理 实例讲解DispatchAction和LookupDispatchAction DispatchA ...

  2. Vue.之. 动态设置按钮Disabled

    Vue.之. 动态设置按钮Disabled 按钮代码如下: 添加了一个 属性      :disabled="isAble"  ,控制:更新按钮.重置按钮 <el-form- ...

  3. 如何在IDE的开发环境中启动Studio和本地build出一个product

    1.在run configuration那一个把Program to Run改成如下配置 2.在本地自己用maven构建一个liferay IDE 命令 clean verify -Pinstalle ...

  4. 大数据心法来了!一站式玩转MaxCompute,还有开发者资源等你领!

    阿里云大数据计算平台开发者版2019年3月推出,MaxCompute正在成为开发者的免费大数据平台.今天,MaxCompute在企业构建自己的数据处理平台实践中起到了至关重要的作用,我们特别精选了企业 ...

  5. VOIP开源项目源码地址

    http://blog.csdn.net/hwz119/article/details/1781482     VoIP bookmarks from Klaus Darilion Below you ...

  6. input输入框限制录入类型

    输入大小写字母.数字.下划线:<input type="text" onkeyup="this.value=this.value.replace(/[^\w_]/g ...

  7. oracle水线的定义

    1.水线定义了表的数据在一个BLOCK中所达到的最高的位置. 2.当有新的记录插入,水线增高 3.当删除记录时,水线不回落 4.减少查询量

  8. Liferay OSGi注解(Annotation) - 使用手册(译文)

    mark过来好好用 上Neil的博客地址Liferay OSGi注解(Annotation) - 使用手册(译文) @Component是注入服务 @Reference是获取服务(在Liferay框架 ...

  9. JavaScript的六种数据类型与隐式转换

    一.六种数据类型 javascript的数据类型包括: (1)基本数据类型:number.string.boolean.null.undefined (2)对象:object object又包括Fun ...

  10. 进入BIOS中,设置U盘启动

    进入BIOS中,一般有system,boot,main,advanced,security等几个选项,main是主设置界面,譬如BIOS时间等等.boot是启动项的设置,我们今天就是要用到它. 找到b ...