Google,baidu,等等...不鳥他們!!! 我要用自己開發(fā)的分布式文件系統(tǒng)、分布式調(diào)度系統(tǒng)、分布式檢索系統(tǒng),做自己的搜索引擎!!!大魚有大志!!! ---楊書童
type map文件用于指定SOAP/XML中的類型與C/C++之間的轉(zhuǎn)換規(guī)則,比如在wsmap.dat里寫
那么SOAP/XML中的string將轉(zhuǎn)換成std::wstring或wchar_t*,這樣能更好地支持中文。
例:
從http://www.ayandy.com/Service.asmx?WSDL 生成ayandy.h文件,名空間為ay,使用wsmap.dat指定的轉(zhuǎn)換規(guī)則。
wsdl2h生成的頭文件里的變量、類型等名稱的前面都會加上名空間前綴,以兩個下劃線分隔。如上面的命令生成的頭文件,有這樣的定義:
前面的ayandy1__的是名空間前綴,用以防止名稱沖突。 wsdl2h的-n選項(xiàng)可以改變這個名空間前綴(默認(rèn)為ns)。對于枚舉ay1__theDayFlagEnum內(nèi) 的成員,如果嫌它太長的話,可以用-e命令選項(xiàng)禁止加入名空間前綴。
編寫SOAP程序除了頭文件是不夠的,還要有連接、通信、XML解析、序列/反序列化等工作。gSOAP提供的socapcpp2.exe就 是用于從頭文件中生成這些代碼的,我們只要關(guān)心真正的業(yè)務(wù)邏輯就行了。
編寫SOAP客戶端下面將演示使用gSOAP到網(wǎng)上取得天氣預(yù)報,互聯(lián)網(wǎng)上有不少網(wǎng)站提供SOAP服務(wù),比如Google提供的搜索API(現(xiàn)在已不再提 供新的License Key了),不少博客提供的API等。這里介紹一個提供天氣預(yù)報服務(wù)的SOAP服務(wù),地址是http://www.ayandy.com它提供了三個函數(shù):getSupportCity 查詢本天氣WebService支持的城市信息。 getSupportProvince 查詢本天氣 WebService支持的省份信息。 getWeatherbyCityName 根據(jù)城市名稱獲得天 氣情況。 它的WSDL地址是http://www.ayandy.com/Service.asmx?WSDL現(xiàn)在,我們編寫一個客戶端去調(diào)用getWeatherbyCityName來 取得天氣情況1. 從WSDL得到頭文件
Copyright Copyright 楊書童