在windows下使用gSOAP技术调用WebService,使用vc开发

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

1、环境搭建

     操作系统:Vista Home

    gSOAP:2.7.17Stable版(下载地址:http://sourceforge.net/projects/gsoap2/)

    c/c++集成环境:VC6.0

 

2、gSOAP

    下载得到gsoap_2.7.17.zip文件,解压该文件。稍后需要从该文件夹中获取相关文件。设释放路径为"G:/webservice/gsoap-2.7",后文%GSOAP代表该文件夹路径。

 

3、通过WSDL文档,生成C/C++头文件

     3.1 WSDL是什么:WSDL (Web Services Description Language,Web服务描述语言)是一种XML Application,他将Web服务描述定义为一组服务访问点,客户端可以通过这些服务访问点对包含面向文档信息或面向过程调用的服务进行访问(类似远程过程调用)。WSDL首先对访问的操作和访问时使用的请求/响应消息进行抽象描述,然后将其绑定到具体的传输协议和消息格式上以最终定义具体部署的服务访问点。相关的具体部署的服务访问点通过组合就成为抽象的Web服务。

     3.2 通过WSDL生成访问接口:(http://192.168.100.44:8888/kms_provincial/services/LoginInit?wsdl为一WebService接口)

     设定c/c++工程名称为TestWebService(Console程序,其他应用程序类型也可),在该文件夹下面建立TestWebService.h文件。

     启动cmd,进入到%GSOAP/bin目录,调用wsdl2h.exe程序生成TestWebService.h头文件接口定义。

 

     wsdl2h -s –o x:/xxx/TestWebService.h [url]http://192.168.100.44:8888/kms_provincial/services/LoginInit?wsdl[/url]

     执行完毕后,生成soapLoginInitSoapBindingProxy.h、soapLoginInitSoapBindingProxy.cpp文件。

 

    3.3 解析TestWebService.h文件,生成存根程序

         soapcpp2 –C x:/xxx/TestWebService.h

         命令中参数-c代表生成标准C程序,若没有这个参数,则生成C++程序。

        命令中参数-C代表仅生成客户端程序,若没有这个参数,则默认生成客户端和服务端程序。4

 

4 建立vc工程

    

    建立以TestWebService为名称的console工程,将%GSOAP下的soapC.cpp、soapH.h、soapcpp2.h、stdsoap2.cpp、stdsoap2.h、soapStub.h、soapLoginInitSoapBindingProxy.cpp、soapLoginInitSoapBindingProxy.h加入到工程中。

在TestWebService.cpp主工程中加入接口操作代码。

#include "soapH.h" // or whatever it is called, you must already have it
#include "soapLoginInitSoapBindingProxy.h"
#include "LoginInitSoapBinding.nsmap" // this is what you have to add to fix the problem
int main(int argc, char* argv[])
{
 printf("Hello World!/n");
 
 DWORD dwStartTime;
 DWORD dwEndTime;
 
 struct soap clientSOAP;
 LoginInitSoapBindingProxy oLoginInitSoapInterface;
 char *pbRetuned = "";
 int iRet = 0;
 dwStartTime = GetTickCount();
 
 for (int i= 0; i<1000; i++)
 {
  soap_init(&clientSOAP);
  
  iRet = oLoginInitSoapInterface.service(pbRetuned);
  
#ifdef _DEBUG
  printf("result: oLoginInitSoapInterface.service = %d/r/n", iRet);
  printf("value = %s/r/n", pbRetuned);
#endif
  
  soap_destroy(&clientSOAP);
  soap_end(&clientSOAP);
  soap_done(&clientSOAP);
 }
 
 dwEndTime = GetTickCount();
 printf("result: oLoginInitSoapInterface.service = %d/r/n", iRet);
 printf("value = %s/r/n", pbRetuned);
 printf("elaspe time = %d/r/n", (dwEndTime - dwStartTime)/i);
 

 return 0;
}

      在该工程中,service为WebService上的一个自定义接口,返回值为pbRetuned。

 

5、注意问题

    5.1 在工程头文件中加入#include "LoginInitSoapBinding.nsmap" // this is what you have to add to fix the problem,否则会有编译问题,请自己尝试;

   5.2 中文汉字问题,注意编码问题,统一即可。

 

6、linux实现可参考该博客实现:http://commandos.blog.51cto.com/154976/130652

7、代码:整个代码工程在附件中。(下载附件,修改后缀为.rar后,解压即可)

      http://hi.csdn.net/attachment/201005/10/0_1273477890fHW2.gif

 

 

c/c++下使用gSoap工具实现WebServer客户端和服务       由于项目需要,要实现webserver客户端和已经提供的上位机软件通信,这个软件是别人已经写好的,其本身可以看做是webserver服务端,服务开发者提供了一个.wsdl文件,这是一个服务器描述语言,里面给了我们客户端需要的接口。在C/C++中,实现webserver的工具就是gSoap。所需工具和源程序在链接中。gSoap2.8工具:点击打开链接客户端和服务端源码:点击打开链接 ... 阅读详情

相关推荐

Windows使用gsoap实现webservice客户端

Windows使用gsoap实现的webservice客户端,可以与服务端实现对mysql数据库的查询功能(需配合服务使用,另一下载资源)

使用VC++ 6.0开发WebServicegsoap

    最开始以为需要使用C#,或是VC++.net才能方便的开发WebService,后面在网上找到了gsoap,的确是一个好工具,使用VC++6.0也可以开发WebService了。    开发的过程非常的简单,首先定义好WebService所需要提供的接口(或是服务),其实就是一个.h申明文件,然后使用soapcpp2.exe”工具,他会帮你生成一系列的中间文件。 

study_live的专栏 3500

VC++使用gsoap调用WebService接口

VC++使用gsoap调用webservice文件,包含使用说明和事例程序。

VC++6.0gSoap客户端访问WebService

1、安装gSOAP 首先我们到 http://sourceforge.net/project/showfiles.php?group_id=52781 下载gSOAP下载工具集,不同的系统下用的gSOAP是不一样的,根据需要下载了windows下的和linux下的。 gSOAP工具集不需要安装,直接解压就可以了。在/bin目录下我们可以看到两个可执行文件: soapcpp2.exe: gSO

1358

利用gSoap开发WebService客户端

阅读目录 概念定义 开发环境 客户端开发步骤 小结 一、概念定义 WebService是一种跨编程语言和跨操作系统平台的远程调用技术服务端向外界暴露一个可以被客户端通过网络调用的API。客户端调用API的过程实际上可以看作调用一个函数,不同点就是该函数是远程的。服务端和客户端调用关系如图1所示。 图1 WebService示意图 WebService中涉及到WSDL、SOAP的概念。 WSDL:WebService描述语言,是一个用于精确描述Web服务的XML文档。它描述了W..

月儿叮当从入门到精通 1035

利用VCgSOAP工具开发WebServer

vc gsoap

cwisdomroof的专栏 1439

gSoap 服务器和客户端的开发

gSOAP是一个夸平台的,用于开发Web Service服务端和客户端的工具,在Windows、Linux、MAC OS和UNIX下使用C和C++语言编码,集合了SSL功能。下载地址:http://sourceforge.net/projects/gsoap2官方网站:http://genivia.com/Products/gsoap/index.html对于Windows平台下开发客户端,首先下载最新的gsoap_win32_2.7.6c.zip包,具体在以下地址:http://optusnet.dl.s

zhangxiaonanwin的专栏 6293

gsoap使用总结 开发实例(windwos+VS2005)

一直想从事下WEBSERVICE方面的开发尝试,终于等来了一个机会,在Web Service方面,调研过.NET、Java和C/C++三种方案,最后选用了C/C++的方案。 C/C++的方案需要一个第三方开源包的支持,名称是:gSOAP。 关键技术回顾: Web Service Web Service技术,能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件,就可相互交换

维埃来 2792

linux c调用wcf服务,VC使用GSOAP调用C#WCF服务

首先声明:文章中的内容大都来源于网络,做的过程遇到了不少问题,所以想写下此文,记录一个完整的过程,以飨后人。gSOAP是一个夸平台的,用于开发Web Service服务端和客户端的工具,在Windows、Linux、MAC OS和UNIX下使用C和C++语言编码,集合了SSL功能。下载地址:http://sourceforge.net/projects/gsoap2官方网站:http://geni...

weixin_39622980的博客 272

C++使用gsoap创建webService

gSOAP是一个夸平台的,用于开发Web Service服务端和客户端的工具,在Windows、Linux、MAC OS和UNIX下使用C和C++语言编码,集合了SSL功能。下载地址:http://sourceforge.net/projects/gsoap2官方网站:http://genivia.co

study_live的专栏 4650

gsoapvc++2008中例子(64bit,可改为32bit)

gsoapvc++2008中例子(64bit,可改为32bit),调试通过

gsoap2.7.17英文文档

gSOAP 2.7.17 User Guide Robert van Engelen GENIVIA INC May 9, 2010

gsoap使用心得!

http://www.cppblog.com/qiujian5628/archive/2008/06/19/54019.aspx 最近换了个工作环境,现在在大望路这边上班,呵,刚上班接到的任务就是熟悉gsoap!废话少说,现在开始gSoap学习!gSOAP是一个夸平台的,用于开发Web Service服务端和客户端的工具,在Windows、Linux、MAC OS和UNIX下使用C和C

sony315的专栏 1304

Web Service 开发工具 gSOAP 简介

目录 一 服务器端 二 对应的客户端 三 遇到的问题 gSOAP是一个夸平台的,用于开发Web Service服务端和客户端的工具,在Windows、Linux、MAC OS和UNIX下使用C和C++语言编码,集合了SSL功能。 下载地址:http://sourceforge.net/projects/gsoap2 官方网站:http://genivia.com/Products/gsoap/index.html 对于Windows平台下开发客户端,首先下载最新的gsoap_win32_2.7

whatday的专栏 735

gsoap使用心得[zt]

 最近换了个工作环境,现在在大望路这边上班,呵,刚上班接到的任务就是熟悉gsoap!废话少说,现在开始gSoap学习!gSOAP是一个夸平台的,用于开发Web Service服务端和客户端的工具,在Windows、Linux、MAC OS和UNIX下使用C和C++语言编码,集合了SSL功能。下载地址:http://sourceforge.net/projects/gsoap2官方网站:http:/

dina2eMeddy的专栏 1237

gSOAP使用心得

gSOAP是一个夸平台的,用于开发Web Service服务端和客户端的工具,在Windows、Linux、MAC OS和UNIX下使用C和C++语言编码,集合了SSL功能。 下载地址:http://sourceforge.net/projects/gsoap2 官方网站:http://genivia.com/Products/gsoap/index.html 对于Windows

qq_39836658的博客 643

gSoap使用

转自: 最近换了个工作环境,现在在大望路这边上班,呵,刚上班接到的任务就是熟悉gsoap!废话少说,现在开始gSoap学习! gSOAP是一个夸平台的,用于开发Web Service服务端和客户端的工具,在Windows、Linux、MAC OS和UNIX下使用C和C++语言编码,集合了SSL功能。 下载地址:http://sourceforge.net/projects/gso

awu999328的专栏 621

gsoap使用心得

最近换了个工作环境,现在在大望路这边上班,呵,刚上班接到的任务就是熟悉gsoap!废话少说,现在开始gSoap学习! gSOAP是一个夸平台的,用于开发Web Service服务端和客户端的工具,在Windows、Linux、MAC OS和UNIX下使用C和C++语言编码,集合了SSL功能。 下载地址:http://sourceforge.net/projects/gsoap2

liujiayu2的专栏 2527
上一篇: 开发时间太紧被扣钱了,不爽
下一篇: VS2008中去掉msvcr90.dll的依赖
dzyssssss
博客等级 码龄21年 3粉丝 5原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值