micro-integrator icon indicating copy to clipboard operation
micro-integrator copied to clipboard

microintegrator - setbinary error

Open uarulraj486 opened this issue 4 years ago • 0 comments

Description:

ERROR {ScriptMediator} - {api:docUpload} The script engine returned an error executing the inlined js script function mediate com.sun.phobos.script.util.ExtendedScriptException: org.mozilla.javascript.EcmaError: TypeError: Cannot call method "setBinary" of null (<Unknown Source>#3) in <Unknown Source> at line number 3 at com.sun.phobos.script.javascript.RhinoCompiledScript.eval(RhinoCompiledScript.java:68) at javax.script.CompiledScript.eval(CompiledScript.java:92) at org.apache.synapse.mediators.bsf.ScriptMediator.mediateForInlineScript(ScriptMediator.java:395) at org.apache.synapse.mediators.bsf.ScriptMediator.invokeScript(ScriptMediator.java:290) at org.apache.synapse.mediators.bsf.ScriptMediator.mediate(ScriptMediator.java:258) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:109) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:71) at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158) at org.apache.synapse.api.Resource.process(Resource.java:342) at org.apache.synapse.api.API.process(API.java:463) at org.apache.synapse.api.AbstractApiHandler.apiProcess(AbstractApiHandler.java:93) at org.apache.synapse.api.AbstractApiHandler.dispatchToAPI(AbstractApiHandler.java:71) at org.apache.synapse.api.rest.RestRequestHandler.dispatchToAPI(RestRequestHandler.java:84) at org.apache.synapse.api.rest.RestRequestHandler.process(RestRequestHandler.java:70) at org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:54) at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:344) at org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:101) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) at org.apache.synapse.transport.passthru.ServerWorker.processNonEntityEnclosingRESTHandler(ServerWorker.java:375) at org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:434) at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:182) at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: org.mozilla.javascript.EcmaError: TypeError: Cannot call method "setBinary" of null (<Unknown Source>#3) at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3687) at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3665) at org.mozilla.javascript.ScriptRuntime.typeError(ScriptRuntime.java:3693) at org.mozilla.javascript.ScriptRuntime.typeError2(ScriptRuntime.java:3712) at org.mozilla.javascript.ScriptRuntime.undefCallError(ScriptRuntime.java:3731) at org.mozilla.javascript.ScriptRuntime.getPropFunctionAndThisHelper(ScriptRuntime.java:2258) at org.mozilla.javascript.ScriptRuntime.getPropFunctionAndThis(ScriptRuntime.java:2251) at org.mozilla.javascript.gen._Unknown_Source__38._c_script_0(<Unknown Source>:3) at org.mozilla.javascript.gen._Unknown_Source__38.call(<Unknown Source>) at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394) at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091) at org.mozilla.javascript.gen._Unknown_Source__38.call(<Unknown Source>) at org.mozilla.javascript.gen._Unknown_Source__38.exec(<Unknown Source>) at com.sun.phobos.script.javascript.RhinoCompiledScript.eval(RhinoCompiledScript.java:55) ... 24 more

Suggested Labels:

Suggested Assignees:

Affected Product Version: micro-integrator 4.0 OS, DB, other environment details and versions:

Steps to reproduce: Create a Rest API paste the above code snippet. Compile and run through Postman Pass the request payload in the body { "fileName":"//release.png", "fileContent":"Base64 IMAGECONTENT"

} Code snippet <inSequence> <payloadFactory media-type="xml"> <ns:binary xmlns:ns="http://ws.apache.org/commons/ns/payload">$1</ns:binary> </payloadFactory>

<suspendOnFailure> <initialDuration>-1</initialDuration> <progressionFactor>1</progressionFactor> </suspendOnFailure> <markForSuspension> <retriesBeforeSuspension>0</retriesBeforeSuspension> </markForSuspension>
<payloadFactory media-type="json"> {
"status": "success",
"statusMessage" : "Image Uploaded"
}
</payloadFactory> </inSequence>

Related Issues:

uarulraj486 avatar Dec 08 '21 05:12 uarulraj486