android 通過 Hessian 與 j2ee 服務端互動

來源:互聯網
上載者:User

最近項目用到,記錄一下。

 

    首先,讓j2ee那幫兄弟把服務端Hessian實現的介面類以及這個介面類公用方法所傳入、返回的那些需要序列化的類給自己,copy也行,打成jar包也行。

   

    介面相關的類的包名和類名也必須得和服務端的相同。

 

    剩下就是用戶端加入 hessdroid這個包了,android的一個第三方Hessian庫。

 

    調用很簡單,下面是範例程式碼:

 

HessianProxyFactory factory=new HessianProxyFactory();//如果需要使用者驗證的話//factory.setUser("uname");//factory.setPassword("xxx");factory.setReadTimeout(5000);//這個就是和服務端使用的相同的介面,從j2ee兄弟那靠過來,或者他們給的jar包也行,只要包名類名相同。XxxxInterfaceService ifs=factory.create(XxxxInterfaceService.class,url,getClass().getClassLoader());//這兩個方法是設定使用的hessian協議版本是否為第2版,如果不是的話,就填false//factory.setHessian2Reply(false);//factory.setHessian2Request(false);//現在可以直接調用介面中的方法了,就和本地一樣Response r=ifs.getSomthing("somthing");

 

 

 

很簡單,比webservice方便多了。

 

這裡順便扯一下遠程RPC

 

         這年頭咱也得敢潮流,只要是個android用戶端咱都要說是雲端,不是嗎?

         哪個不是與伺服器互動啊,至於怎麼互動,我以前是傾向於json的,他比webservice之類的soap強多了,作為雲端開發人員,你敢讓使用者那可憐的gprs流量來傳輸xml這種形式大於實質的資料嗎?

         首先是webservice在android上面實現很麻煩,ksoap2用起來真的很麻煩,其次呢,誰能在sdk下找到jdk預設javax裡的webservice包?Google都已經把它扔了,用json代替了。

         Hessian呢,確實是個不錯的選擇,hessdroid在用戶端很好配置,幾行代碼搞定,傳輸的也都是序列化過的位元據,自己動手抓抓http包,各種遠程rpc技術的優劣在心裡就能有個底了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.