Bonjour, j'aimerais pouvoir a partir d'une classe Java appeler un script PHP ( en fait un Web Service).
J'ai trouve des sources mais ca ne fonctionne pas :
Le script me renvoie en console :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 ScriptEngineManager mgr = new ScriptEngineManager(); List<ScriptEngineFactory> factories = mgr.getEngineFactories(); for(int i=0; i<factories.size(); i++){ System.out.println(factories.get(i)); } ScriptEngine se = mgr.getEngineByName("PhpScriptEngineFactory"); se.eval ("<?php function hello ($who) {return 'Hello '.$who;}; ?>"); System.out.println((((Invocable) se).invokeFunction ("hello", new Object[] {"world"})));
Je vois donc qu'il trouve des script factories mais quand j'en cree une avec PhpScriptEngineFactory, il me renvoie null.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 com.sun.script.javascript.RhinoScriptEngineFactory@c17164 php.java.script.InteractivePhpScriptEngineFactory@13e205f php.java.script.PhpScriptEngineFactory@863399 php.java.script.InvocablePhpScriptEngineFactory@16a55fa Exception in thread "main" java.lang.NullPointerException at EvalScript.main(EvalScript.java:18)
Pourquoi?
Merci.
sources:
http://gpwiki.org/index.php/Java:Tutorials:Scripting
Partager