Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javarmi调用Python方法_Java_Python_Rmi_Rpc_Web2py - Fatal编程技术网

使用javarmi调用Python方法

使用javarmi调用Python方法,java,python,rmi,rpc,web2py,Java,Python,Rmi,Rpc,Web2py,我有一个通过Python web2py创建的远程方法。如何从Java测试和调用该方法 我能够测试该方法是否实现了@service.xmlrpc,但是如何测试该方法是否实现了@service.run?您必须编写一个接口X extends远程声明一个方法“myMethod()” 其中一个困难是在服务器端管理命名。如果您能做到这一点,我会感到惊讶。Java RMI需要Java对等体。这是不可能的,除非您使用某种Java python桥(),而这种桥仍然是Java RMI,即一个Java程序调用另一个J

我有一个通过Python web2py创建的远程方法。如何从Java测试和调用该方法


我能够测试该方法是否实现了
@service.xmlrpc
,但是如何测试该方法是否实现了
@service.run

您必须编写一个接口X extends远程声明一个方法“myMethod()”


其中一个困难是在服务器端管理命名。

如果您能做到这一点,我会感到惊讶。Java RMI需要Java对等体。

这是不可能的,除非您使用某种Java python桥(),而这种桥仍然是Java RMI,即一个Java程序调用另一个Java程序来包装python脚本

如果这个问题可以粗略地解释为“使用Java调用Python方法”(如果您不需要专门使用Java RMI),那么您可以使用其他框架来桥接Java和Python。例如,一个开放源代码许可的替代方案是(完全披露:我是开发人员之一)。有关用法示例,请参阅VersionPython和VersionJava文档。

基本上我想在Python远程方法上测试Java rmi。不是XMLRPC.try{pyinterface hello=(pyinterface)Naming.lookup(“);System.out.println(hello.m2());}catch(异常e){System.out.println(“+e”);}我遇到了异常:java.net.MalformedURLException:无效的URL方案:请参阅URI文档:我知道命名是如何工作的,谢谢。我对Python实现RMI的能力表示怀疑,正如我在自己的回答中所说的,从它能够将任何东西放入RMI注册表开始。我重复:您尝试过吗?1)java RMI超过了IIOP 2)这是一种套接字通信,如果你想用COBOL、Pascal或任何你想要的语言来编码,你可以;-)@Aubin Java RMI实际上是在JRMP、IIOP或JERI之上的,还有一些其他的专有实现,如果它涉及命名,正如你在回答中所建议的,它肯定是在JRMP之上的,而JRMP又是在对象序列化之上分层的,它需要一个JVM。您似乎不太了解它。Python脚本由一个引擎解释。这个引擎是一个提供大量服务的执行平台。@Aubin除非这些服务包括一个功能齐全的JVM,否则注释是不相关的。
X x = (X)Naming.lookup( "//a/b/c" );
x.myMethod();