Bonjour,
Voici mon javascript :
Wsdltocpp est un host object.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 defineClass("com.iona.scripting.wsdlgen_utilities.Wsdltocpp"); var wsdlfile = "simple_service.wsdl" var mapper = new Wsdltocpp(wsdlfile) mapper.Execute()
J'obtiens cette rerrue lorsque j'execute mon javascript avec rhino :
Voici le contenu du host object :W:\aspen\src\wsdlgen\com\iona\scripting\utilities>java org.mozilla.javascript.to
ols.shell.Main main.js
argument : simple_service.wsdl
org.mozilla.javascript.WrappedException: Wrapped java.lang.ClassCastException (m
ain.js#11)
at org.mozilla.javascript.Context.throwAsScriptRuntimeEx(Context.java:16
93)
at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:157)
at org.mozilla.javascript.FunctionObject.call(FunctionObject.java:411)
at org.mozilla.javascript.BaseFunction.construct(BaseFunction.java:310)
at org.mozilla.javascript.ScriptRuntime.newObject(ScriptRuntime.java:206
7)
at org.mozilla.javascript.gen.c1._c0(main.js:11)
at org.mozilla.javascript.gen.c1.call(main.js)
Ceci est le constructeur du host object : l'erreur semble venir du castage a pargs, Que faire d'autre pour caster ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public static Scriptable jsConstructor(Context ctx, Object[] args, Function consObj, boolean expr) { Wsdltocpp result = new Wsdltocpp(); if (args.length == 0 || args[0] == Context.getUndefinedValue()) { System.out.println(" provide one argument wsdl file "+ args[0]); } else { System.out.println(" argument : "+ args[0]); pargs=(String[])args; } return result; }
Le reste du code contient des methodes a invoquer !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 public String getClassName() { return "Wsdltocpp"; } public void jsFunction_Execute() { try { //HashSet set = new HashSet(); System.out.println(" test 1"); HashMap paramMap = new HashMap(); System.out.println(" test 2"); paramMap.put(WSDLToCppAction.CFG_CMD_ARG,pargs); System.out.println(" test 3"); cppAction = new WSDLToCppAction(); cppAction.setMergeMode(false); cppAction.doIt(); } catch (Exception ex) { System.err.println("Error : " + ex.getMessage()); System.err.println(); System.exit(1); } }
Partager