2013-01-18 35 views
4

我有一個Python程序需要從第三方系統訪問Java RMI API以獲取一些數據。從Python程序訪問Java RMI API

我無法控制第三方系統,所以必須使用RMI來完成。

我應該在這裏做什麼?我從來沒有與使用Python的RMI合作,所以我有點失落,我該怎麼辦..

在此先感謝!

+1

沒有從Python訪問Java RMI的事情。你將不得不編寫一些中間件。 – EJP

+0

是的,這就是我害怕...猜猜我需要用Java編寫東西.. – pteixeira

+1

好的,這裏是你需要做的:1.獲取原始RMI類 2.調用[rmic] (http://docs.oracle.com/javase/1.4.2/docs/tooldocs/solaris/rmic.html)用''-idl'''標誌生成一個IDL文件 3.參見[說明這裏](http://docs.oracle.com/javase/1.4.2/docs/guide/rmi-iiop/rmi_iiop_pg.html)並使用RMI-IIOP連接到您的Java應用程序(也可以搜索omniorb java iiop可能也會幫助你) – aldrinleal

回答

2

如何通過REST和一塊可以與遠程API交互的小java中間件塊?

+0

這可能是我會做的。感謝你的回答! – pteixeira

2

你將有一個非常難我想象的困難時期。 RMI和Java序列化是非常特定於Java的。我不知道是否有人已經試圖在Python中實現這一點(我確定谷歌知道),但你最好的選擇是找到一個現有的庫。除此之外,我會考慮尋找一種方法來在某些客戶端java shim中執行RMI(也許某種python <-> java bridge library?)。或者,也許你可以在Jython中運行你的Python,並利用底層的jvm來處理RMI的東西。

+2

「我確定谷歌知道」...這是第一個顯示在谷歌上的鏈接。 – Hezi