From: <php...@li...> - 2015-09-15 11:40:48
|
Hello, I know this is a stupid question, but I actually tried almost everything (docs, google, mailing list, etc.). I don't know why this simple closure is not working. I'm sure there is an obvious reason, but I'm not seeing. TIA, Ely Matos <?php try { /* create a Java object from the PHP object */ $javaObject = java_closure(new TesteClass()); echo "PHP says that Java says: "; echo $javaObject->teste(); echo "<br>\n"; echo "<br>\n"; } catch (JavaException $ex) { echo "An exception occured: "; echo $ex; echo "<br>\n"; } class TesteClass { function teste() { return 'teste'; } } ?> On execution, I receive: PHP says that Java says: An exception occured: [[o:Exception]:"java.lang.Exception: Invoke failed: [[o:$Proxy37]]->teste. Cause: java.lang.NoSuchMethodException: teste(). Candidates: [] VM: 1.7.0_25@http://java.oracle.com/" at: #-6 php.java.bridge.JavaBridge.checkM(JavaBridge.java:1085) #-5 php.java.bridge.JavaBridge.Invoke(JavaBridge.java:1024) #-4 php.java.bridge.Request.handleRequest(Request.java:417) #-3 php.java.bridge.Request.handleRequests(Request.java:500) #-2 php.java.bridge.http.ContextRunner.run(ContextRunner.java:145) #-1 php.java.bridge.ThreadPool$Delegate.run(ThreadPool.java:60) #0 C:\Program Files\Apache Software Foundation\apache-tomcat-7.0.62\webapps\mknob\java\Java.inc(232): java_ThrowExceptionProxyFactory->getProxy(2, 'com.sun.proxy.$...', 'T', true) #1 C:\Program Files\Apache Software Foundation\apache-tomcat-7.0.62\webapps\mknob\java\Java.inc(360): java_Arg->getResult(true) #2 C:\Program Files\Apache Software Foundation\apache-tomcat-7.0.62\webapps\mknob\java\Java.inc(366): java_Client->getWrappedResult(true) #3 C:\Program Files\Apache Software Foundation\apache-tomcat-7.0.62\webapps\mknob\java\Java.inc(560): java_Client->getResult() #4 C:\Program Files\Apache Software Foundation\apache-tomcat-7.0.62\webapps\mknob\java\Java.inc(1752): java_Client->invokeMethod(1, 'teste', Array) #5 C:\Program Files\Apache Software Foundation\apache-tomcat-7.0.62\webapps\mknob\java\Java.inc(1851): java_JavaProxy->__call('teste', Array) #6 C:\Program Files\Apache Software Foundation\apache-tomcat-7.0.62\webapps\mknob\java\Java.inc(1999): java_AbstractJava->__call('teste', Array) #7 C:\Program Files\Apache Software Foundation\apache-tomcat-7.0.62\webapps\mknob\closure.php(8): Java->__call('teste', Array) #8 C:\Program Files\Apache Software Foundation\apache-tomcat-7.0.62\webapps\mknob\closure.php(8): java_InternalJava->teste() #9 {main}]<br> |