原理:請自行了解wsdl、webservice、soap
soap簡單介紹
wsdl簡單介紹
webservice簡單介紹
畢竟是簡單介紹,了解基本資訊即可
wsdl2h用作wsdl和.h檔案的轉換。
soapcpp2用標頭檔案生成客戶端/服務端等開發需要的h和cpp檔案,也可以生成wsdl檔案
此處直接使用gsoap2.8中自帶的sample演示。目錄為gsoap-2.8\gsoap\samples\calc。gsoap-2.8\gsoap\samples中有很多例項,網上多疑calc為例,本文也是。
(cd 到gsoapcpp2和wsdl2h所在目錄)
服務端:
1.生成服務端必要檔案
soapcpp2.exe -s -i ..\..\samples\calc\calc.h
-s表示生成服務端檔案
-i表示從
soap
結構生成服務**和繼承的物件
這裡win32目錄下會生成很多xml檔案、cpp檔案、h檔案,還有wsdl檔案、nsmap檔案、xsd檔案,可以通過-d引數指定路徑,以免管理混亂,還可以拒絕xml檔案的生成
請先手動在win32目錄下建立calcserver目錄
soapcpp2.exe -s -i -x ..\..\samples\calc\calc.h -d .\calcserver
-x表示不生成xml檔案,結果如下
2.新建工程
不贅述
main.cpp**如下
需要自己實現h檔案中定義的4個介面。可以理解為:h檔案裡面宣告了,總得自己實現吧。可以參考gsoap-2.8\gsoap\samples\calc中calcserver.cpp的實現。只有標頭檔案和參考的cpp檔案的情況下,自己不實現,沒人幫你實現。
除了main.cpp檔案以外,還需要將生成的
calc.nsmap
soapc.cpp
soapcalcservice.cpp
soapcalcservice.h
soaph.h
soapstub.h
和gsoap目錄下的
stdsoap2.cpp
stdsoap2.h
複製到工程目錄下
3.直接編譯,測試
編譯後,用命令列視窗執行testsoapcalc 8080
然後用瀏覽器開啟http://localhost:8080
看到的是
因為只是開啟埠,並沒有通訊,所以只能看到這些,編譯執行客戶端程式就能看到效果了
客戶端:
1.生成客戶端必要檔案
soapcpp2.exe -c -i -x ..\..\samples\calc\calc.h -d .\calcclient\
請手動在win32目錄下建立calcclient目錄
-c表示生成客戶端**
2.新建工程
需要複製的是生成的
calc.nsmap
soapc.cpp
soapcalcproxy.cpp
soapcalcproxy.h
soaph.h
soapstub.h
以及soap目錄下的
stdsoap2.cpp
stdsoap2.h
一定要記得stdsoap2.cpp和stdsoap2.h,
一定要記得stdsoap2.cpp和stdsoap2.h,
一定要記得stdsoap2.cpp和stdsoap2.h,
重要的事情說三遍
main.cpp**如下
}其中const char server = "http://localhost:8080";指定埠號,埠號可改以服務端設定的埠號為準
3.編譯執行
服務端程式要執行起來才能執行客戶端程式,雖然都在同一臺電腦裡面
testsoapcalcclient.exe a 1 2
運算1和2的加法
運算完後服務端不會退出,但是客戶端會退出,可繼續執行命令
soapcalcproxy.cpp和soapclient.cpp有衝突
-i生成soapcalcproxy.cpp,不會生成soapclient.cpp檔案
不要-i則生成soapclient.cpp不生成soapcalcproxy.cpp檔案
沒有soapclient.cpp也沒關係,只要有編譯出來的nsmap檔案、cpp檔案、h檔案和soap目錄下的stdsoap2.cpp、stdsoap2.h檔案就夠了
程式設計入門
include include int main const double pi acos 1.0 盡量用const關鍵字宣告常數 輸入乙個三位數,分離出它的百位,十位與個位,反轉後輸出 include int main md是輸出m位的十進位制數,不足m位的補空格,超出m位的輸出實際位數 0md是...
程式設計入門
程式設計 資料結構 演算法 一 資料結構 1 資料元素 是組成資料的 有一定意義的基本單位。如 人 2 資料項 乙個資料可以由若干個資料項組成,根據自己的需要,資料項是不可分割 的最小單位。如 如人的耳 鼻 嘴等。3 資料物件 是性質相同的資料元素的集合,是資料的子集。4 資料結構 是相互之間存在一...
程式設計入門
一.程式設計過程 1.分析 分析所給定的條件,最後結果以及問題規律 2.設計 3.編碼 4.測試 5.排錯 6.編寫文件 包含 設計者,程式名稱,功能,執行環境,輸入資料,注意事項,裝入啟動 二.程式設計方法 1.面向過程 分析出解決問題所需要的步驟,然後用函式把這些步驟一步一步實現。2.物件導向 ...