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 :


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"})));
Le script me renvoie en console :
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)
Je vois donc qu'il trouve des script factories mais quand j'en cree une avec PhpScriptEngineFactory, il me renvoie null.
Pourquoi?
Merci.

sources:
http://gpwiki.org/index.php/Java:Tutorials:Scripting