您的位置:首页 > 编程语言 > C语言/C++

C++调用WebService

2016-01-11 11:22 281 查看

1.       WebService 简介

Web Service即在线应用服务,可以通过Internet来访问并使用其提供的接口。Web Service可以看作是跨平台,跨语言的网络API

构建和使用Web Service需要涉及到一些协议和规则,包括:

XML: 描述数据的标准方法

       SOAP(简单对象访问协议): 表示信息交换的协议,基于XML。ATL中对其有封装,参照atlsoap.h。

WSDL:WebService描述语言,基于XML,对所提供的服务进行详细描述,包括接口和相关参数等。

UDDI:规定如何发布与发现Web Service的协议。

这是一个查询QQ是否在线的WebService:http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?op=qqCheckOnline

 

2.       用C++调用Web Service

 

这里介绍一个Windows下便捷的调用方法,借助于ATL。

1.   VS中在项目上点右键,选择菜单中的 Add Web Reference…,在弹出的页面输入Web Service的URL。

如果解析后是有效的Web Service地址,可以点击Add Reference完成添加。



2.  这时VS会自动生成一些文件,对我们有用的是一个头文件QQOnline.h, 名字就是刚才添加时候指定的。

命名空间:qqOnlineWebService,Web Service 类:CqqOnlineWebService,

我们需要的是它的接口HRESULTqqCheckOnline(BSTR qqCode, BSTR* qqCheckOnlineResult);

创建这个类,调用这个接口,就大功告成了。

不过不要忘了在调用之前调用CoInitialize,因为这个生成的类也是利用atlsoap.h完成请求的发送和解析的。

3.       附:

本文的示例程序:http://download.csdn.net/source/3427727

一些常用的Web Service:http://developer.51cto.com/art/200908/147125.htm

Linux下调用 Web Service可以借助gSoap, http://www.cs.fsu.edu/~engelen/soap.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: