一、 环境准备
下载下来解压缩,按正常安装过程进行编译、安装。
# tar zxvf gsozp_2.7.12.tar.gz
# cd gsoap_2.7.12
# ./configure –-prefix=/usr/local/gSOAP(指定安装路径)
# make
# make install
二、 生成相关文件
1、通过WSDL文档,生成C/C++头文件
2、拷贝gSOAP源代码中import文件夹下的stlvector.h文件到TestHeader.h同一目录,如果在解析WSDL文档时使用了-s参数,即不使用STL,则不需要拷贝这一文件。
3、解析TestHeader.h文件,生成存根程序
# /usr/local/gSOAP/bin/soapcpp2 –c –C TestHeader.h
命令中参数-c代表生成标准C程序,若没有这个参数,则生成C++程序。
命令中参数-C代表仅生成客户端程序,若没有这个参数,则默认生成客户端和服务端程序。
三、 进行相关开发
1、新建工程
新建一个C的工程,并将刚刚生成的文件拷贝到工程中,设置工程属性,包含gSOAP源代码目录,链接属性处,需要包含文件libgsoap.a(使用C语言开发)或者libgsoap++.a(使用C++开发)。
2、代码开发
WebService的具体调用方式可以参见生成的soapStub.h文件。
Demo代码(调用WebService的addUser):
#include “soapH.h”
#include “TestHeaderHttpBinding.nsmap”
int main()
{
struct soap clientSOAP;
struct _ns1__addUser addUserMsg;
struct _ns1__addUserResponse addUserResponse;
soap_init(&clientSOAP);
addUserMsg.in0 = “test”;
addUserMsg.in1 = “test”;
addUserMsg.in2 = “test”;
if(soap_call___ns1__addUser(&clientSOAP, NULL, NULL, &addUserMsg, &addUserResponse) == SOAP_OK)
{
printf(“%s\n”, *addUserResponse.out);
}
else
{
printf(“Error\n”);
}
soap_destroy(&clientSOAP);
soap_end(&clientSOAP);
soap_done(&clientSOAP);
return 0;
}
正常的话,编译运行后能够在控制台看到WebService返回的处理结果。
在这段代码中,_ns1__addUser、_ns1__addUserResponse、soap_call___ns1__addUser都是在soapStub.h中获得,具体应用可能会根据不同的服务端生成不同的代码。
分享到:
相关推荐
gSOAP提供了一套编译器和运行时库,可以自动生成用于访问Web服务的客户端代码,使得C/C++程序能够与符合WS-I标准的任何SOAP服务进行通信。 首先,为了在VS2010中使用gSOAP,你需要下载并安装gSOAP的开发包。安装...
C++做客户端,通过gSoap调用webservice,所调用的webservice方法返回的是自定义实体类,如果返回int,String等基本数据类型,这很容易实现;但这里函数返回的是List,Course,List甚至是Object,应该很有价值!
标题"\"C++使用gsoap调用webservice接口\"\"指出,这个资源是关于如何在C++项目中使用gSOAP库来与Web服务进行交互。gSOAP不仅实现了SOAP协议,还支持HTTP(S)传输,这使得它能够处理基于HTTP的安全通信。 描述中提到...
Web服务则提供了一种标准的方法,使不同系统间能够通过网络交换数据。gSOAP库是C和C++编程语言的一个开源工具包,它使得开发人员可以方便地访问和实现Web服务。在这个实例中,我们将探讨如何使用gSOAP在C++中调用Web...
代码在Linux5.6 64下编译通过,代码中调用http://www.cs.fsu.edu/~engelen/calc.wsdl提供的WebService接口。文件中相应的文件由gSOAP工具生成,详细操作说明请看我的博客。
然后,对C++与WebService的关系进行了介绍,包括使用gsoap开发WebService程序的必要性和gsoap的功能特点。 一、WebService 简介 WebService是一种在线应用服务,可以在任何支持网络通信的操作系统中实施运行。它是...
本文将深入探讨如何使用VC++通过gSOAP库来调用WebService接口,结合提供的资源,包括"使用方法.doc"、"gsoap-2.8ok.rar"、"VC++使用gsoap调用webservice接口.rar"以及"HelpFile.txt",我们将逐步解析这个过程。...
gSOAP是著名的开源工具,专为C和C++开发者设计,用于构建Web服务客户端和服务器端应用程序。这个工具包提供了一种高效、灵活且易于使用的框架,使得在C/C++中实现SOAP(Simple Object Access Protocol)协议变得...
C++通过gSOAP开发WebService客户端 本文档主要介绍了使用C++语言和gSOAP库开发WebService客户端的步骤和方法。gSOAP是一个基于C/C++的WebService开发库,支持SOAP和XML协议。下面是开发WebService客户端的详细步骤...
通过gSoap,开发者可以将这些定义转换为C++代码,使得C++应用程序能够直接调用Web服务的方法。 1. **设置环境**:在Visual Studio 2010中创建一个新的C++项目。你需要先下载并安装gSoap,然后将其包含到你的项目...
当我们谈论“qt程序通过gsoap访问webservice”时,这涉及到两个关键组件:Qt框架和gSOAP库。 Qt是一个流行的开源C++图形用户界面库,不仅支持桌面应用,还支持移动和嵌入式平台。它提供了丰富的功能,包括UI设计、...
通过以上步骤,开发者可以成功地使用VS2010、C++和gSOAP来创建一个Web服务客户端,调用远程服务并处理返回的数据。这个过程涉及到了软件工程的多个方面,包括编译、链接、网络通信和错误处理,对于深入理解C++和Web...
C++做客户端,通过gSoap调用java发布的webservice,所调用的java方法返回的是自定义实体类,如果返回int,String等基本数据类型,这很容易实现;但这里函数返回的是List,Course,List甚至是Object,应该很有价值! ...
首先,C#创建和调用WebService相对直观,只需要在方法上添加[WebMethod]特性,然后将服务部署在IIS上,客户端可以通过添加服务引用轻松调用。然而,C++实现WebService通常会借助gsoap工具,这是一个用于生成SOAP Web...
本篇文章将详细讲解如何在C++中调用WebService,包括静态和动态方式,并探讨相关的源码实现。 首先,让我们理解什么是WebService。WebService是一种基于XML的开放标准,允许不同平台和应用程序之间进行互操作。它...
通过gSOAP开发包,C/C++开发者能够轻松地创建符合SOAP标准的Web服务,实现与其他系统和服务的互操作性。无论你是构建一个简单的RPC接口还是复杂的Web服务系统,gSOAP都是一个强大的工具。在实际开发中,了解并掌握...
Qt是一个流行的C++跨平台应用开发框架,而gSOAP则是一个强大的工具,用于生成客户端和服务器端的代码,使得C/C++应用程序能够与Web服务进行交互。 首先,让我们了解什么是gSOAP。gSOAP是一个开源软件开发工具包,它...
总之,通过C++和gSOAP,开发者可以轻松创建符合标准的Web Service服务端。这个过程涉及理解Web Service的基本概念,安装和使用gSOAP工具,编写和实现业务逻辑,以及测试和调试服务。学习和掌握这一技术,将极大地...
为了简化这一过程,开发者通常会使用库或工具,其中gSOAP就是一个著名的C/C++开发包,专门用于处理SOAP和Web服务。本文将深入探讨如何使用gSOAP在C++环境中访问Web服务。 首先,gSOAP是一个开源工具包,它自动生成...