[一分鐘學會系列之一] 一分鐘學會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