Welcome Guest! Log in
Due to some maintenance operations, stambia.org will be switched to read-only mode during the 13th November. It will be possible to read and download, but impossible to post on the forums or create new accounts. For any question please contact the support team.


Symptom

A process uses the API __ctx__.executeCommand("...").

The execution is OK from the Designer or from the Runtime's Scheduler.

But the execution fails from a startdelivery.bat (or startdelivery.sh) command.

Possible errors are :

javax.script.ScriptException: sun.org.mozilla.javascript.internal.WrappedException: Wrapped java.lang.NullPointerException (<Unknown source>#3) in <Unknown source> at line number 3
                at com.sun.script.javascript.RhinoScriptEngine.eval(RhinoScriptEngine.java:156)
                at com.sun.script.javascript.RhinoScriptEngine.eval(RhinoScriptEngine.java:170)
                at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:247)
                at com.indy.engine.actionCodes.ScriptingActionCodeI.executeCodewithRSet(SourceFile:151)
                at com.indy.engine.actionCodes.ScriptingActionCodeI.executeSimpleCode(SourceFile:323)
                at com.indy.engine.action.common.ActionCodeTypeI.executeCode(SourceFile:1646)
                at com.indy.engine.action.common.ActionCodeTypeI.run(SourceFile:1805)
                at java.lang.Thread.run(Thread.java:738)

or :

java.lang.NullPointerException
        at com.indy.engine.command.l.execute(SourceFile:1598)
        at com.indy.engine.command.parser.CommandLineParserI.executeCommandLine(CommandLineParserI.java:51)
        at com.indy.engine.command.a.b(SourceFile:2118)
        at com.indy.engine.main.scripting.ScriptContextI.a(SourceFile:413)
        at com.indy.engine.main.scripting.ScriptContextI.executeCommand(SourceFile:404)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at sun.org.mozilla.javascript.internal.MemberBox.invoke(MemberBox.java:167)
        at sun.org.mozilla.javascript.internal.NativeJavaMethod.call(NativeJavaMethod.java:245)
        at sun.org.mozilla.javascript.internal.Interpreter.interpretLoop(Interpreter.java:1706)
        at sun.org.mozilla.javascript.internal.Interpreter.interpret(Interpreter.java:849)
        at sun.org.mozilla.javascript.internal.InterpretedFunction.call(InterpretedFunction.java:162)
        at sun.org.mozilla.javascript.internal.ContextFactory.doTopCall(ContextFactory.java:430)
        at com.sun.script.javascript.RhinoScriptEngine$1.superDoTopCall(RhinoScriptEngine.java:116)
        at com.sun.script.javascript.RhinoScriptEngine$1.doTopCall(RhinoScriptEngine.java:109)
        at sun.org.mozilla.javascript.internal.ScriptRuntime.doTopCall(ScriptRuntime.java:3160)
        at sun.org.mozilla.javascript.internal.InterpretedFunction.exec(InterpretedFunction.java:173)
        at sun.org.mozilla.javascript.internal.Context.evaluateReader(Context.java:1169)
        at com.sun.script.javascript.RhinoScriptEngine.eval(RhinoScriptEngine.java:214)
        at com.sun.script.javascript.RhinoScriptEngine.eval(RhinoScriptEngine.java:240)
        at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:264)
        at com.indy.engine.actionCodes.ScriptingActionCodeI.executeCodewithRSet(SourceFile:151)
        at com.indy.engine.actionCodes.ScriptingActionCodeI.executeSimpleCode(SourceFile:323)
        at com.indy.engine.action.common.ActionCodeTypeI.executeCode(SourceFile:1608)
        at com.indy.engine.action.common.ActionCodeTypeI.run(SourceFile:1767)
        at java.lang.Thread.run(Thread.java:745)

 

Solution

The __ctx__ API can be used from any process, as long as it is executed in a live Runtime.

It cannot be used in the context of a standalone delivery (startdelivery).

Possible alternatives are :

1. Use __ctx__.executeRemoteCommand(<runtimeHostName>, <runtimePort>, <runtimeCommand>); instead of executeCommand(...)

2. Instead of startdelivery, use startcommand.bat "connect to <runtimeHostname> port <runtimePort>;execute delivery <deliveryName>"

You have no rights to post comments

Knowledge Base

Suggest a new Article!