Sidebar

message appears to be null

0 votes
138 views
asked Feb 4 by scott-m-6181 (210 points)
reshown Feb 7 by jon-t-7005

I have a message created from an XML template. 

message = qie.createXMLMessage("....", 'UTF-8');

I am able to modify the message

message.setNode("/ClinicalDocument/id/@extension", source.getNode("/note/id"));

But for some reason, when I try to base64 encode it, I get an error

messageCache.setValue('cda_base64', qie.base64Encode(message.toString()));
messageCache.setValue('cda_sha1', qie.getSHA1Hash(message.toString()));
 

2024-02-04 05:48:58,328 EST [Test Mapping Function Runner] WARN com.qvera.qie.engine.ChannelManagerImpl - com.sun.phobos.script.util.ExtendedScriptException: org.mozilla.javascript.EcmaError: TypeError: Cannot call method "toString" of null (<Unknown Source>#1) in <Unknown Source> at line number 1 []
com.sun.phobos.script.util.ExtendedScriptException: org.mozilla.javascript.EcmaError: TypeError: Cannot call method "toString" of null (<Unknown Source>#1) in <Unknown Source> at line number 1
    at com.sun.phobos.script.javascript.RhinoCompiledScript.eval(RhinoCompiledScript.java:68) ~[rhino-js-engine-1.7.7c.jar:?]
    at javax.script.CompiledScript.eval(CompiledScript.java:92) ~[?:1.8.0_332]
    at com.qvera.qie.utils.message.ChannelNodeHelper.runScript(ChannelNodeHelper.java:1693) ~[classes/:?]
    at com.qvera.qie.utils.message.ChannelNodeHelper.runScript(ChannelNodeHelper.java:1667) ~[classes/:?]
    at com.qvera.qie.engine.ChannelManagerImpl$8.runImpl(ChannelManagerImpl.java:11364) ~[classes/:?]
    at com.qvera.qie.web.zone.server.TestRunner.run(TestRunner.java:25) ~[classes/:?]
    at java.lang.Thread.run(Thread.java:750) ~[?:1.8.0_332]
Caused by: org.mozilla.javascript.EcmaError: TypeError: Cannot call method "toString" of null (<Unknown Source>#1)
    at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:4048) ~[rhino-js-1.7.7c.jar:1.7.8-SNAPSHOT]
    at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:4026) ~[rhino-js-1.7.7c.jar:1.7.8-SNAPSHOT]
    at org.mozilla.javascript.ScriptRuntime.typeError(ScriptRuntime.java:4059) ~[rhino-js-1.7.7c.jar:1.7.8-SNAPSHOT]
    at org.mozilla.javascript.ScriptRuntime.typeError2(ScriptRuntime.java:4078) ~[rhino-js-1.7.7c.jar:1.7.8-SNAPSHOT]
    at org.mozilla.javascript.ScriptRuntime.undefCallError(ScriptRuntime.java:4095) ~[rhino-js-1.7.7c.jar:1.7.8-SNAPSHOT]
    at org.mozilla.javascript.ScriptRuntime.getPropFunctionAndThisHelper(ScriptRuntime.java:2473) ~[rhino-js-1.7.7c.jar:1.7.8-SNAPSHOT]
    at org.mozilla.javascript.ScriptRuntime.getPropFunctionAndThis(ScriptRuntime.java:2466) ~[rhino-js-1.7.7c.jar:1.7.8-SNAPSHOT]
    at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1322) ~[rhino-js-1.7.7c.jar:1.7.8-SNAPSHOT]
    at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:815) ~[rhino-js-1.7.7c.jar:1.7.8-SNAPSHOT]
    at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:109) ~[rhino-js-1.7.7c.jar:1.7.8-SNAPSHOT]
    at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:395) ~[rhino-js-1.7.7c.jar:1.7.8-SNAPSHOT]
    at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3358) ~[rhino-js-1.7.7c.jar:1.7.8-SNAPSHOT]
    at org.mozilla.javascript.InterpretedFunction.exec(InterpretedFunction.java:120) ~[rhino-js-1.7.7c.jar:1.7.8-SNAPSHOT]
    at com.sun.phobos.script.javascript.RhinoCompiledScript.eval(RhinoCompiledScript.java:55) ~[rhino-js-engine-1.7.7c.jar:?]
    ... 6 more

 

1 Answer

0 votes
This can be the result of invalid or special characters in your XML.  The solution is to make sure and escape any blocks of text with qie.escapeXml(), which will ensure any special characters are escaped properly for the XML.
answered Feb 7 by jon-t-7005 (7,590 points)
...