亚洲国产中文精品无码久久_亚洲妇女自偷自偷图片_亚洲第一国产毛片久久久_亚洲国产成人片在线观看无码_日本少妇被黑人粗大的猛激进

您當前的位置:首頁(yè) > 新聞資訊 > 產(chǎn)品動(dòng)態(tài) > 正文

【新東網(wǎng)技術(shù)大咖帶您走進(jìn)gSOAP】一個(gè)強大的開(kāi)源工具

發(fā)布時(shí)間: 2016-11-11 11:51:49  
分享到:

 

 

文/楊宗峰 電商支撐部

 

 

 
專(zhuān)欄介紹

新東網(wǎng)自2001年成立以來(lái),掌握大數據、云計算、通信、物聯(lián)網(wǎng)及區塊鏈等信息技術(shù),擁有一支逾16年經(jīng)驗的強大IT團隊。為沉淀企業(yè)技術(shù)實(shí)力,繼續發(fā)揮行業(yè)優(yōu)勢,《東網(wǎng)快訊》特邀新東網(wǎng)技術(shù)大咖帶您走進(jìn)這些先進(jìn)信息技術(shù),揭秘新東網(wǎng)16年來(lái)的技術(shù)成果,每周五發(fā)布。

 

 

什么是gSOAP呢?
 

 

簡(jiǎn)單地說(shuō),gSOAP是一個(gè)跨平臺的,能在Windows、Linux、MAC OS和UNIX下使用C和C++語(yǔ)言編碼,用于開(kāi)發(fā)Web Service服務(wù)端和客戶(hù)端的工具。

 

更具體地說(shuō),gSOAP提供了一個(gè)SOAP/XML 關(guān)于C/C++ 語(yǔ)言的實(shí)現,從而讓C/C++語(yǔ)言開(kāi)發(fā)webservice服務(wù)或客戶(hù)端程序的工作變得輕松了很多。

 

絕大多數的C++  webservice服務(wù)工具包提供一組API函數類(lèi)庫來(lái)處理特定的SOAP數據結構,這樣就使得用戶(hù)必須改變程序結構來(lái)適應相關(guān)的類(lèi)庫。與之相反,gSOAP利用編譯器技術(shù)提供了一組透明化的SOAP API,并將與開(kāi)發(fā)無(wú)關(guān)的SOAP實(shí)現細節相關(guān)的內容對用戶(hù)隱藏起來(lái)。

 

gsoap自2001年以來(lái)經(jīng)過(guò)10幾年的發(fā)展,已經(jīng)非常成熟,許多工業(yè)項目和產(chǎn)品都在使用該工具。由于他的源代碼為開(kāi)源,并且在行業(yè)標準協(xié)議、傳輸協(xié)議、跨平臺、安全及多線(xiàn)程、處理速度快、占用內存小等優(yōu)勢下,受到了廣泛開(kāi)發(fā)愛(ài)好者的青睞。

 

gSOAP工具如何應用?
 

 

對于新東網(wǎng)來(lái)說(shuō),有兩個(gè)省份運營(yíng)商電信某某系統應用了gsoap工具。

 

具體應用場(chǎng)景為該系統平臺中銀聯(lián)繳費的前置機服務(wù)。

 

 

 

前置機服務(wù)的代碼為標準C語(yǔ)言實(shí)現,為了讓前置服務(wù)提供給web前端系統調用,C語(yǔ)言的服務(wù)就可以通過(guò)gsoap工具輕松發(fā)布成標準規范的webservice協(xié)議,達到跨平臺的目的,同時(shí)也免除了接入系統開(kāi)發(fā)語(yǔ)言的限制。正因為如此,web前端不受語(yǔ)言的限制,不管是行業(yè)上常用的php或是.net或是java,都能輕松通過(guò)gsoap調用C語(yǔ)言的服務(wù)。

 

下面介紹一下如何使用gsoap工具:

 

1) 解壓工具包并配置環(huán)境變量
將gsoap_2.7.12.tar.gz解壓到本地目錄,這邊需要注意,盡量不要放于帶空格或是帶中文名字的目錄,國外的軟件對中文支持欠缺些。

    將D:\gsoap-2.7\gsoap\bin路徑添加到系統的path中。

 

2) 根據wsdl描述文件生成客戶(hù)端代碼

 

 

根據web前端和前置機服務(wù)預先定義好的協(xié)議WSDL描述文件,即前端調用api規范文檔,生成C/C++客戶(hù)端代碼文件。如下圖中”bank”開(kāi)頭的文件。包含.h和.cpp文件。步驟如下:

 

a. 先執行以下命令,生成頭文件:

 b、在執行以下命令,解析bank.h文件,生成存根程序

 

 

 

最后出來(lái)的文件如下:

 

3) 將上述文件拷貝放入前置機工程中

 

4) 前置機工程中創(chuàng )建ServiceInterface.cpp類(lèi)同時(shí)導入第三步生成的文件。

 

#include "BankPackage.h"

#include "bankHIBankBayServiceHttpBindingService.h"

#include "bankH.h"

extern CSockDeal gBankSockDeal;

 

5) 根據銀聯(lián)的ISO8583協(xié)議,編寫(xiě)業(yè)務(wù)邏輯代碼,下面以簽到為例進(jìn)行說(shuō)明:

 

 

如上述,方法IFA_USCOREPaymentBankReqAndResp后所帶的參數有兩個(gè)對象,這兩個(gè)重要的對象都是gsoap工具的功勞,即由gsoap封裝在bank.h頭文件中。

 

參數:ns1__IFA_USCOREPaymentBankReqAndResp則是接收web端的請求對象,根據該對象可以獲取web端上送上來(lái)的所有入參信息。前置服務(wù)根據這些入參信息處理后進(jìn)行打包并發(fā)送給銀聯(lián)。

 

參數:ns1__IFA_USCOREPaymentBankReqAndRespResponse則是響應給web端的返回對象,當在前置機服務(wù)內,調用銀聯(lián)前置機后,可以將銀聯(lián)的返回信息處理后通過(guò)該對象返回給web前端。最后,web端將結果展示給用戶(hù)。

 

gSOAP工具的妙用
 

 

gSOAP是一種跨平臺的C和 C++軟件開(kāi)發(fā)工具包。生成C/C++的RPC代碼,XML數據綁定,對SOAP Web服務(wù)和其他應用形成高效的具體架構解析器,它們都受益于一個(gè)XML接口。 這個(gè)工具包提供了一個(gè)全面和透明的XML數據綁定解決方案,Autocoding節省大量開(kāi)發(fā)時(shí)間來(lái)執行SOAP/XML Web服務(wù)中的C/C++。此外,使用XML數據綁定大大簡(jiǎn)化了XML自動(dòng)映射。應用開(kāi)發(fā)人員不再需要調整應用程序邏輯的具體庫和XML為中心的數據。

 

分享到:
地址:福建省福州市銅盤(pán)路軟件大道89號軟件園A區26號樓 電話(huà):0591-83519233 傳真:0591-87882335 E-mail:doone@doone.com.cn
版權所有 新東網(wǎng)科技有限公司 閩ICP備07052074號-1 閩公網(wǎng)安備 35010202001006號
亚洲国产中文精品无码久久_亚洲妇女自偷自偷图片_亚洲第一国产毛片久久久_亚洲国产成人片在线观看无码_日本少妇被黑人粗大的猛激进