日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 芯聞號 > 充電吧
[導(dǎo)讀]   Simple Object Access Protocol(SOAP)簡單對象訪問協(xié)議,是交換數(shù)據(jù)的一種協(xié)議規(guī)范,是一種輕量的、簡單的、基于XML(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個子集)的協(xié)議,它被設(shè)計

 


  Simple Object Access Protocol(SOAP)簡單對象訪問協(xié)議,是交換數(shù)據(jù)的一種協(xié)議規(guī)范,是一種輕量的、簡單的、基于XML(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個子集)的協(xié)議,它被設(shè)計成在WEB上交換結(jié)構(gòu)化的和固化的信息。

  這里介紹soap嵌入式linux下的使用。

  一、gSOAP

  選擇gSOAP的原因:

  gSOAP編譯工具提供了一個SOAP/XML 關(guān)于C/C++ 語言的實現(xiàn),從而讓C/C++語言開發(fā)web服務(wù)或客戶端程序的工作變得輕松了很多。絕大多數(shù)的C++web服務(wù)工具包提供一組API函數(shù)類庫來處理特定的SOAP數(shù)據(jù)結(jié)構(gòu),這樣就使得用戶必須改變程序結(jié)構(gòu)來適應(yīng)相關(guān)的類庫。與之相反,gSOAP利用編譯器技術(shù)提供了一組透明化的SOAP API,并將與開發(fā)無關(guān)的SOAP實現(xiàn)細(xì)節(jié)相關(guān)的內(nèi)容對用戶隱藏起來。

  可移植性:gSOAP支持大多 數(shù)平臺,包括嵌入式系統(tǒng)和小系統(tǒng)(例如嵌入式Symbian,Palm)??梢浦残詼y試Windows(98,XP,Vista),Linux,Unix 系統(tǒng),Mac OS X,Solaris,HP-UX,AIX,F(xiàn)reeBSD,TRU64,Irix,QNX,VxWorks。

  二、gSOAP的移植

  1、下載源碼

  http://sourceforge.net/projects/gsoap2/files/

  http://jaist.dl.sourceforge.net/project/gsoap2/gSOAP/gsoap_2.8.24r.zip

  本例下載版本為:gsoap_2.8.24r.zip

  2、解壓源碼

  $ unzip gsoap_2.8.24r.zip

  3、編譯x86 平臺下工具

  配置源碼

  $ ./configure --prefix=/home/linux/gsoap/gsopa-x86

  配置一些特性,比如目標(biāo)平臺安裝路徑等,如上配置目標(biāo)平臺為x86架構(gòu),安裝路徑為/home/linux/gsoap/gsoap-x86

  編譯源碼

  $ make

  安裝源碼到/home/linux/gsoap/gsoap-x86目錄

  $ make install

  4、編譯arm平臺工具

  ./configure --prefix=/home/linux/gsoap/gsopa-arm --host=arm-linux

  再次配置源碼,這次配置目標(biāo)平臺變?yōu)閍rm-linux

  修改源碼,根據(jù)編譯錯誤提示進(jìn)行適當(dāng)修改:

  修改源碼目錄下的config.h

  注釋掉:

  #define malloc rpl_malloc

  soapcpp和wsdl2h在編譯過程中會生成同事這兩個工具也在編譯時會被用來生成一些特定的文件,所以如果soapcpp和wsdl2h如果被編譯成arm架構(gòu)則無法在PC上執(zhí)行,也就意味著接下的編譯無法完成,所以這里選擇不編譯這兩個文件,而選擇使用上節(jié)編譯所生產(chǎn)的x86架構(gòu)的對應(yīng)文件。

  修改gsoap/src/Makefile

  注釋掉

  soapcpp2$(EXEEXT): $(soapcpp2_OBJECTS) $(soapcpp2_DEPENDENCIES) $(EXTRA_soapcpp2_DEPENDENCIES)

  @rm -f soapcpp2$(EXEEXT)

  $(AM_V_CCLD)$(soapcpp2_LINK) $(soapcpp2_OBJECTS) $(soapcpp2_LDADD) $(LIBS)

  修改gsoap/wsdl/Makefile

  wsdl2h$(EXEEXT): $(wsdl2h_OBJECTS) $(wsdl2h_DEPENDENCIES) $(EXTRA_wsdl2h_DEPENDENCIES)

  @rm -f wsdl2h$(EXEEXT)

  $(AM_V_CXXLD)$(wsdl2h_LINK) $(wsdl2h_OBJECTS) $(wsdl2h_LDADD) $(LIBS)

  拷貝x86架構(gòu)下的soapcpp和wsdl2h到工程源碼目錄下:

  $ cp /home/linux/gsoap/gsoap-x86/bin/soapcpp2 /home/linux/gsoap/gsoap-2.8/gsoap/src/

  $ cp /home/linux/gsoap/gsoap-x86/bin/wsdl2h /home/linux/gsoap/gsoap-2.8/gsoap/wsdl/

  編譯

  $ make

  安裝

  make install


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉