1. 程式人生 > >[一分鐘學會系列之一] 一分鐘學會C++呼叫WebService

[一分鐘學會系列之一] 一分鐘學會C++呼叫WebService

一分鐘學會系列,介紹一些易學的程式設計小技巧等,沒有深度,但是很實用。

1.       WebService 簡介

Web Service即線上應用服務,可以通過Internet來訪問並使用其提供的介面。Web Service可以看作是跨平臺,跨語言的網路API

構建和使用Web Service需要涉及到一些協議和規則,包括:

XML: 描述資料的標準方法

       SOAP(簡單物件訪問協議): 表示資訊交換的協議,基於XML。ATL中對其有封裝,參照atlsoap.h。

WSDL:WebService描述語言,基於XML,對所提供的服務進行詳細描述,包括介面和相關引數等。

UDDI:規定如何釋出與發現Web Service的協議。

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