【发布时间】:2010-10-02 12:37:36
【问题描述】:
是否可以与非java实体sing RMI协议进行通信 RMI IIOP 有什么特别之处?
谢谢
【问题讨论】:
是否可以与非java实体sing RMI协议进行通信 RMI IIOP 有什么特别之处?
谢谢
【问题讨论】:
这在技术上是可行的。您将需要在 non-java 端实现 RMI 服务器。
虽然我不会推荐它。尝试探索使用 WebServices 的可能性,它通常用于:从(可能)不同平台通信实体。
【讨论】:
RMI 是应该被 Java 应用程序纯粹使用的协议。它对依赖于 Java 实现(例如序列化)的通信提出了一些要求。另一方面,RMI IIOP 是 EJB 实现使用的协议,目的是为通信添加更多功能(例如事务上下文传播)。
IIOP 最初来自 CORBA,可用于与用其他语言编写的组件进行通信。
如果您确实需要使用 IIOP 可用的功能,我不会采用 Web 服务路线。当然,除非您使用各自的 WS-* 规范来获取它们。
【讨论】:
老问题,但是因为谷歌排名高所以回答了
我认为你不能轻易做到这一点。
作为 Java-RMI 的替代品,我推荐 XML-RPC。
然后您可以与 Python、C++、Objective-C、Erlang、Groovy、Java、JavaScript、PHP 等进行通信。
在 java 端,您可以使用Apache XML-RPC library。
专业版:针对不同语言的多种实现
Con:XML-RPC 确实知道原语和 base64 编码的二进制文件。他们不会处理您复杂的 Java 对象,而是给您一个 Map。您需要自己将它们映射到您的对象。---
【讨论】: