多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > VS2010使用c++、gSOAP調用WebService 圖文教程

VS2010使用c++、gSOAP調用WebService 圖文教程

來源:程序員人生   發布時間:2016-06-04 15:53:48 閱讀次數:5889次

上篇寫了“VS2010使用c++、gSOAP創建的WebService 圖文教程”,有創建就要有調用,這里就講1下相同語言框架技術下的調用功能。

1、下載WSDL文件

這1步其實要以跳過!

上篇中 “5、啟動WebService并測試》5、打開閱讀器,輸入你的IP:端口號/itoa?wsdl 訪問看看吧,正常的話應當顯示“itoa.wsdl”文件的內容”

我們知道對方提供的WebService地址,理論上就能夠通過以上方式獲得WSDL文件的內容;我們的實現是通過“itoa?wsdl”來獲得WSDL文件的內容,其它的實現或其它語言的實現多是通過“itoa.wsdl”來獲得WSDL文件的內容。

固然,都是c++的,你也能夠讓對方把這個文件內容發送給你;

2、生成頭文件及相干文件

如果你下載的WSDL文件,履行以下步驟:

1、打開CMD命令提示符工具,切換到WSDL所在的目錄

2、履行以下命令:

wsdl2h itoa.wsdl
這時候后面會有提示:

To finalize code generation, execute: > soapcpp2 itoa.h Or to generate C++ proxy and service classes: > soapcpp2 -j itoa.h

我們再履行:

soapcpp2 -i -I D:\gSOAP\gsoap⑵.8\gsoap\import itoa.h

履行后目錄中的文件以下:

如果你沒有下載的WSDL文件,履行以下步驟:

1、打開CMD命令提示符工具,切換保存生成相干文件的目錄

2、生成頭文件

wsdl2h -o itoa.h http://localhost:8087/itoa?wsdl
注意:這類方式要保證你的WebService服務在運行中,如果不在同1臺電腦上需要將"localhost"改成IP地址,而上篇創建時的頭文件中也是改成對應的IP地址!

3、生成代理文件

soapcpp2 -i -C -I D:\gSOAP\gsoap⑵.8\gsoap\import itoa.h

3、創建項目

1、打開VS2010,文件》新建》項目


2、左邊模板當選擇Visual c++,右邊選擇 Win32 控制臺利用程序,輸入項目名稱,選擇保存位置,勾選“為解決方案創建目錄”,肯定


3、下1步


4、取消“預編譯頭”的選中狀態,完成


4、配置編譯

1、打開項目文件目錄


2、將第2步生成的代碼復制到項目目錄下

3、添加文件到項目


4、選擇要添加到項目的文件

注意:其實不是要把所有文件都添加到項目里!需要的文件參考下圖,或下載源碼!


5、替換“itoaClient.cpp”文件的內容,使用以下代碼:

#include "soapitoaProxy.h" #include "itoa.nsmap" #include<string> int main() { itoaProxy service; double result; if (service.add(111.0, 222.0, result) == SOAP_OK) std::cout << "The sum of 1.0 and 2.0 is " << result << std::endl; else service.soap_stream_fault(std::cerr); std::string s2("this is a string"); if (service.itoa(12345, s2) == SOAP_OK) std::cout << "The itoa is " << s2 << std::endl; else service.soap_stream_fault(std::cerr); service.destroy(); // delete data and release memory }

6、編譯生成,在項目名稱上單擊鼠標右鍵,選擇重新生成

選擇重新生成的好處是避免之前的生成毛病影響本次生成的結果

5、運行測試

1、打開CMD命令提示符

2、切換目錄到生成輸入目錄

3、履行命令:itoaClietn.exe

注意:要保證你的WebService服務在運行中!


結束語

有1點需要注意:我這里只是個示例,可能存在內存泄漏之類的不安全問題,包括上篇中的代碼!

這個例子只是講了C++如何基于gSOAP調用WebService的例子,C語言與此方式不同,請參考官方用戶手冊;

在學習實踐的進程中發現命令選項用錯1個,或項目中多包括了1個文件,都可以致使編譯鏈接毛病。

本文源碼下載:http://download.csdn.net/detail/testcs_dn/9534678


參考:

http://blog.csdn.net/testcs_dn/article/details/51463367

http://www.genivia.com/products.html

http://www.genivia.com/doc/soapdoc2.html

http://www.cppblog.com/qiujian5628/archive/2008/06/19/54019.html

http://www.cppblog.com/qiujian5628/archive/2008/09/16/61945.html


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 久久网伊人 | 久久大香伊焦在人线免费 | 手机色在线 | 久久久久久久国产精品 | 黑人猛干 | 欧美亚洲 尤物久久 综合精品 | 国产成人看片免费视频观看 | 欧美一区二区三区在线观看 | 欧美成人毛片在线视频 | 免费的黄色的网站 | 久久久久日韩精品免费观看网 | 国产一级淫片a免费播放口 国产一级淫片a免费播放口欧美 | 黑人猛交 | 国产成人av在线 | 精品亚洲成a人在线观看 | 成人精品一区二区三区校园激情 | 国产激情一区二区三区四区 | 久久99精品久久久久久野外 | 自拍偷拍亚洲图片 | 国产69精品久久久久99不卡 | 国产成人亚洲精品影院 | 亚洲欧洲日韩国产 | 亚洲国产成人久久 | 亚洲欧洲网站 | 欧美人与动人物a级网站 | 亚洲美女视频网站 | 亚洲一区二区色 | 欧美日韩在线播一区二区三区 | 最近中文字幕视频在线资源 | 亚洲欧洲日韩国产 | 亚洲欧美另类日本 | 韩国精品一区二区久久 | 精品久久香蕉国产线看观看亚洲 | 免费高清国产 | 日本高清不卡免费 | 久久久久久国产精品免费 | 欧美第六页 | 一级做a爱免费观看视频 | 又黄又www| 国产a国产片色老头 | 一级毛片女人18水真多 |