XE5 ANDROID平台 調用 webservice


服務端需要midas.dll  

     XE5對android的平台支持很有吸引力,雖然目前用來直接開發應用到安卓市場賣賺錢可能性估計不大(安卓市場目前國內好像都是免費的天下),但是對於企業應用很是很有幫助的,比如開發一個手機客戶端隨時查詢企業erp等管理軟件的數據庫!
   webservice以前基本沒有接觸,惡補了幾天,服務端用ro開發比較快捷(ro下載請自己baidu)

一,服務端開發:

     1,打開delphi xe(服務端我用的是xe開發的,因為目前還沒有出支持xe5的ro)

      新建工程---RO sdk--vcl standalone--建立成功

     2,工程打開后,在ide的菜單ro中選擇edit serverice library

     3,打開ServerForm,刪除上面的2個控件,並添加TROIpHTTPServer(屬性中可以設置端口), TROSOAPMessage 2個控件,設置TROIpHTTPServer的  dispatchers屬性,綁定TROSOAPMessage

     4,默認已經添加了了哇library 和newservice,我們一切按默認,用的是默認的一個函數sum,2個數求和

     5,打開NewService_Impl,實現sum的具體代碼:Result:=a+b;

      6,運行服務端

    打開瀏覽器測試:http://127.0.0.1:8099/soap

   8099是我步驟3中設置的端口號,應該可以看到xml文件,說明服務端成功

 

二、服務端開發

    1,打開xe5(為了測試android平台,客戶端用xe5開發了)

    2,新建項目-選擇fm 移動項目

    3,添加THTTPRIO控件

    4,導入wsdl---

        添加項目---web service --import wsdl

         彈出向導對話框

         這步遇到了問題

         填入我服務端開發的soap地址,點擊下一步,最后彈出錯誤,原因不明

          解決方法,回到xe開發服務端的界面,打開ide菜單ro中選擇edit serverice library

          選擇view -wsdl-save as 操作保存 wsdl文件

      回到xe5中的導入wsdl文件對話框,改為直接選擇上面的wsdl文件,成功得到soap_1.pas

   在unit1.pas中添加soap_1.pas引用

 

    5,在界面添加2個edit,1個lable,一個button

     添加button的clickdaima

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      HTTPRIO1.URL:='http://192.168.1.103:8099/SOAP';
      Label1.Text:=IntToStr((HTTPRIO1 as NewService).Sum(StrToInt(Edit1.Text),strtoint(Edit2.Text)));
    end;

  6,發布至android平台測試(注意保證android平台與電腦的網絡連通)

 

 

代碼下載地址http://pan.baidu.com/share/link?shareid=1383305444&uk=4127515284

 

我拋磚引玉

 

服務端需要midas.dll

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM