Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > problemas con javaBridge

Buenas tarde, tengo una consulta, a la que no le encuentro la vuelta.
estoy trabajando con javaBridge, para trabajar con java y php, comence con un ejemplo basico, pero me muestra un error, que es porque no encuentra el metodo que estoy llamando desde php.

desde ya gracias
aqui el error

Fatal error: Uncaught [[o:Exception]:"java.lang.Exception: Invoke failed: [[c:HelloWorld]]->holaMundo. Cause: php.java.bridge.NoSuchProcedureException: static holaMundo(). Candidates: [] VM: 1.7.0_55@http://java.oracle.com/" at:
#-6 php.java.bridge.JavaBridge.checkM(JavaBridge.java:1118)
#-5 php.java.bridge.JavaBridge.Invoke(JavaBridge.java:1057)
#-4 php.java.bridge.Request.handleRequest(Request.java:414)
#-3 php.java.bridge.Request.handleRequests(Request.java:490)
#-2 php.java.bridge.http.ContextRunner.run(ContextRunner.java:146)
#-1 php.java.bridge.ThreadPool$Delegate.run(ThreadPool.java:60)
#0 /opt/tomcat/webapps/JavaBridge/java/Java.inc(248): java_ThrowExceptionProxyFactory->getProxy(2, NULL, 'static holaMund...', true)
#1 /opt/tomcat/webapps/JavaBridge/java/Java.inc(388): java_Arg->getResult(true)
#2 /opt/tomcat/webapps/JavaBridge/java/Java.inc(394): java_Client->getWrappedResult(true)
#3 /opt/tomcat/webapps/JavaBridge/java/Java.inc(594): java_Client->getResult()
#4 /opt/tomcat/webapps/JavaBridge/java/Java.inc(1731): in /opt/tomcat/webapps/JavaBridge/java/Java.inc on line 215

aqui el php

require_once('JavaBridge/java/Java.inc');

java_require('class/HelloWorld.jar');
$world = new Java('HelloWorld'); //helloWorld clase compilada
var_dump( $world->holaMundo());

aqui la clase de java

class HelloWorld {
public String holaMundo(){
return "hola Mundo";
}
}

junio 13, 2014 | Registered Commenterskayllkronn

Buenas,

Ya que es una herramienta para PHP sería más conveniente preguntar en un foro de dicho lenguaje. Lo has hecho ya?

Haciendo un poco de adivinación y en vista del error NoSuchProcedureException: static holaMundo() , es posible que esa librería solo te permita acceder a métodos estáticos?

En ese caso si haces

public static String holaMundo(){
return "hola Mundo";
}

Debería funcionar.

Un saludo

junio 13, 2014 | Unregistered CommenterUnoPorAhi

hola gracias por responder, preg en otros foros de php, y me dijeron q era problema de java..

puse a la clase static pero me sale otro error

Fatal error: Uncaught [[o:Exception]:"java.lang.Exception: Invoke failed: [[c:HelloWorld]]->holaMundo. Cause: java.lang.IllegalAccessException: Class php.java.bridge.JavaBridge can not access a member of class HelloWorld with modifiers "public static" VM: 1.7.0_55@http://java.oracle.com/" at: #-9 sun.reflect.Reflection.ensureMemberAccess(Reflection.java:109) #-8 java.lang.reflect.AccessibleObject.slowCheckMemberAccess(AccessibleObject.java:261) #-7 java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:253) #-6 java.lang.reflect.Method.invoke(Method.java:599) #-5 php.java.bridge.JavaBridge.Invoke(JavaBridge.java:1077) #-4 php.java.bridge.Request.handleRequest(Request.java:414) #-3 php.java.bridge.Request.handleRequests(Request.java:490) #-2 php.java.bridge.http.ContextRunner.run(ContextRunner.java:146) #-1 php.java.bridge.ThreadPool$Delegate.run(ThreadPool.java:60) #0 /opt/tomcat/webapps/JavaBridge/java/Java.inc(248): java_ThrowExceptionProxyFactory->getProxy(2, NULL, 'Class php.java....', true) #1 /opt/tomc in /opt/tomcat/webapps/JavaBridge/java/Java.inc on line 215

junio 13, 2014 | Registered Commenterskayllkronn

¿Has seguido las instrucciones y ejemplos de esta página?

http://php-java-bridge.sourceforge.net/pjb/index.php

junio 14, 2014 | Registered Commenterchoces

hola si he seguido las instrucciones de la pagina oficial de javaBridge

junio 15, 2014 | Registered Commenterskayllkronn