Hi All,
Oracle JDeveloper 12.2.1.4.
I have a PLSQL function which calls external REST API and return the following JSON string:
{
"defects": ["0", "1", "3"],
"mask": "iVBORw0KGgoAAAANSUhEUgAABkAAAAEACAAAAADOmOWZAAAIcUlEQVR4nO3d3VIbORCA0dZW3v+V\ntRcGYrANuB2N1KNzqpYUuVgmpkrfSJqfFofr0Y7\/oSvqEeGzAMr6c\/yPNGQCnMF\/sw8AgJoEBIAU\nAQEgRUAASBEQAFIEBIAUAZnLNc1AWQICQIqAzNVnHwBAloAAkCIgAKQICAApAjKZTRCgKgEBIEVA\nAEgRkHncRAiUJiAApAjIbHbRgaIEBIAUAQEgRUAASBEQAFIEBIAUAQEgRUAASBGQ2dyPDhQlILO5\nkRAoSkAASBGQecw9gNIEBIAUAZnNJjpQlIAAkCIg81zmHnZCgKIEBIAUAQEgRUAASBGQiVyABVQm\nIACkCAgAKQICQIqAAJAiIACkCAgAKQICQIqAAJAiIACkCAgAKQICQIqAAJAiIACkCMh0XkkI1CQg\nAKQICAApAjKfNSygJAGZySsJgcIEBIAUAQEgRUAASBEQAFIEBIAUAQEgRUAASBEQAFIEBIAUAQEg\nRUAASBEQAFIEBIAUAQEgRUAASBEQAFIEBIAUAQEgRUAASBEQXtFnHwAwj4AAkCIgAKQICAApAsIr\n2uwDAOYREABSnEHOdbmKqepvodc9dOB1ZiAApAgIaT3cCAI7ExDSWoSCwMYEhDTtgL0JyAqMxEBB\nAkKaK7BgbwJCWo9QEdiYgJDWQj9gZwICQIqAkGf6AVsTEPJcPQZbExDymobAzgQEgBQBASBFQABI\nERAAUgRkCbaigXoEZCrhAOoSkKnciQfUJSBrMBUByhGQNZSdipQ9cOBlAsJLTJ1gXwICQIqALKHu\nQlDdIwdeJSC8xBIW7EtAeI2CwLYEZAlFR+H+8QXYkIDM1T79UU3Rwwb+DQHhVaYgsCkBASBFQABI\nEZAlVF4FanZCYFMCAkCKgKyh7hTE\/AO2JSC8RD9gXwICQMqf2QdAZeYfsDMzEABSBASAFAEBIEVA\nAEgREF5R9\/4V4GUCMlf1AdhlWLAxAZnLAAyUNTAg1U+uAfjOwIA4ud6AswTYmCUsXuEsATY2MiA9\nIqI7Rz0zv13Y2NgZyPvw0ruRBuBkhi5B9Gh\/u2Gx4763T6jqx9OrHjjwssFLWP3Td5yPfsC+Bm+i\nG14AzmpkQNQD4MSGvlCqXa9byQnAqRxzFRYApzM2INezDjEBOBV3ogOQIiAApAjIbG\/LfFb4gGoE\nZBEuUgOqERAAUo4KSLNIc0p+qbCxA2cgFmlOyC8VNnZUQDy0FeBk7IEAkDImIDcr461Z7Hig9i5C\n7aMHXjImIO+xuB5evNsW4FSOW8JqpiDfKZrX5sQA9jU0IB9DS\/v0HSfi6gjY1zEzkB7his9T6ja3\nYF9DA2JoATivEQHpH+vi7e9fcVZ+t7CrEQFpt3MPc5ETUxDY1KAlrMsU5GYiwlfFB99e\/R8AvGDU\nHkiLcOXu+XlGJuxsUEAu5ej9vSRjfgoA84xawvr2Wz5IK1DWqCWsSzLavQ11rkgrUNbQPZCPjABw\nOmMG9\/7x9JL29xS7hQdffHU1Aan5yXjGAGxs9LOwbpZorNkAnMPAgHx9TGv\/+AJAfSNnIF9XNsTj\nxjkWf\/xiYU8jA3K7fNXv\/S0RZ0kJsBPvRF9E5a6KH+xpWEAeDohGG4BTGDcDqXxKfRw5BcqyhDWX\nzAJlCQgAKcMCYm3mN6pPQPrVV2A3x2+ic6V6ZtvVV2A3xy5hGWlOxmkC7MweyCpKjsXXD10GdnNo\nQExAvjL0AnWNC4haAJzawTcSqspnZ\/g82in+FcDzDt8DMdicjH7Ato58nPuqbETkVfkdAwMc+jj3\niOtX3C5jjUFwjaN4WtHDBv6BcXeit8t\/n3gfyGM+F6CYQ+9E7xF9zVNWozfAs\/4M+z\/3djssr7iA\nFRHRoy\/ZNYCFjb0PxKgMcFpD7wO57ceaRVl0XgSwtLH3gXwdmdccqdc8KoDFDbwKq9\/eZLbmBGTi\nYWkXUNeIgLyNii2+7pqvuS3SJw7j630aAL916KNM+pIX8S54SAAFDL4T\/cu5\/apjtec5ATxtREDe\nBuMe\/U4\/1lv179Hi5lAB+IF3okfziBWAhEPfB9Lv3hsyX799ahcAP\/BOdABSxj0L664esd4kpEV0\n2+gATzp6BrLqMD3zZhCAkg4OyKK3Evb3nXQAfuv4PZD1+hHrPmceYF3HB2TFoXpeP5bMKcBvDArI\nN+PiikPmko9YAVjboKuwHpzRrzpM33l5IgDfO3wJa8WG6AfA845fwlrQxKcEKxdQ1qEzkIWzYiAH\neJJHmcTV44MB+LVjXyh15A97yrSHKV793HU\/HYB7xgTk8XC86Ci5wutAFl7gA7hjTEAeDccLDNMA\n\/BuDZiDlCuL0H+BJNtEnUy6gKgGJiD5xarTsnAzgBwLyZoHLsABKGfMsrIen1YbLG56jAhTlMt7p\nx7TiRwLws2Mv4zVY3vFeW58NUIs9kLcRfP7wbXkPqEVA3rRYISIAdQgIACkCEhMfpQhQmIDMJ19A\nSQKyDDswQC0CcsVUAOD3BOSiRdMPgGcISETMnnsoF1DRmGdhVdOnDuI2P4CSzEAASBGQiNm3oVvB\nAko6PCBrrtc0j1UHeJIZyAJMQYCKBOTCGA7wJFdhXfSYGBFrZ0BFZiAREdFNQQCeJCB\/mQgAPEFA\n3sysh9kPUNGggDweEtccLFvMfBZW\/\/QHQA1mIBdT3ym1ZlQBvjcoIBVPpg3jAM8wA4mI6D1qRg9g\nHveBRKwy+VjjKAB+6fBN9HVVPGaAecYE5Jux2ELRQz4aoJQxAflmKHSeD3AOh89AADgHV2GtoF19\nBSji6IAYJB+zBwKUcnRADJIAJ2EGsgJZBQqyBwJAioAAkCIgK7CwBxRkE30J7eMLQBWHz0AU5I7u\nUwHqsYS1gsvrrFQEKGVUQB4ux1inuadHlP5otA929D\/2v\/MP4Egs6AAAAABJRU5ErkJggg==\n"
}
Where mask is the base64 encoded image and defects is an array of numbers. I have an application module service method that calls the PLSQL. The call works fine and return the JSON string. However, I am stuck with JSON processing.
The following JAVA code inside a Test class works perfectly to process the JSON message listed above without raising any error:
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
public class Test {
public Test() {
super();
}
public static void main(String[] args) {
String output =
"{\"mask\": \"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\\n\", \"defects\": [\"0\", \"1\", \"3\"]}";
JSONParser parser = new JSONParser();
JSONObject obj;
try {
obj = (JSONObject) parser.parse(output.toString());
String mask = (String) obj.get("mask");
System.out.println(mask);
JSONArray defectsArr = (JSONArray) obj.get("defects");
for (Object o : defectsArr) {
System.out.println(o);
}
} catch (ParseException e) {
e.printStackTrace();
}
}
}
However when I use this code inside the valueChangeEvent for the inputFile component, it generate error stating that String can't be converted into JSONObject. Check the error below:
<oracle.dfw.impl.incident.DiagnosticsDataExtractorImpl> <DiagnosticsDataExtractorImpl> <createADRIncident> <incident 69 created with problem key "ADFC-00032 [ADFc]">
<oracle.adf.view> <RichExceptionHandler> <_logUnhandledException> <ADF_FACES-60098:Faces lifecycle receives unhandled exceptions in phase PROCESS_VALIDATIONS 3>
javax.el.ELException: //home/big-deal/.jdeveloper/system12.2.1.4.42.190911.2248/o.j2ee.12.2.1.4.42.210503.842/drs/SeverstalPlaygroundApp/PlaygroundVCWebApp.war/fragments/mainPlayGroundPage.jsff @76,109 valueChangeListener="#{FileUploadHandler.onUploadFileValueChangeEvent}": java.lang.ClassCastException: java.lang.String cannot be cast to org.json.simple.JSONObject
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:111)
at javax.faces.event.MethodExpressionValueChangeListener.processValueChange(MethodExpressionValueChangeListener.java:146)
at javax.faces.event.ValueChangeEvent.processListener(ValueChangeEvent.java:134)
at org.apache.myfaces.trinidad.component.UIXComponentBase.broadcast(UIXComponentBase.java:1136)
at org.apache.myfaces.trinidad.component.UIXEditableValue.broadcast(UIXEditableValue.java:253)
at org.apache.myfaces.trinidad.component.UIXComponent.broadcastInContext(UIXComponent.java:373)
at oracle.adf.view.rich.event.ProxyEvent.broadcastWrappedEvent(ProxyEvent.java:72)
at oracle.adf.view.rich.component.fragment.UIXRegion._handleProxyEvent(UIXRegion.java:939)
at oracle.adf.view.rich.component.fragment.UIXRegion.broadcast(UIXRegion.java:119)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:755)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executeApplyValidateOrUpdate(LifecycleImpl.java:668)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:387)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:238)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:650)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:295)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:260)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:137)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:353)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:207)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:105)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain$1.call(TrinidadFilterImpl.java:591)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain$1.call(TrinidadFilterImpl.java:587)
at org.apache.myfaces.trinidad.context.ExternalContextPropagator.processInScope(ExternalContextPropagator.java:216)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:596)
at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:91)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain$1.call(TrinidadFilterImpl.java:591)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain$1.call(TrinidadFilterImpl.java:587)
at org.apache.myfaces.trinidad.context.ExternalContextPropagator.processInScope(ExternalContextPropagator.java:216)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:596)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$1.call(TrinidadFilterImpl.java:372)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$1.call(TrinidadFilterImpl.java:368)
at org.apache.myfaces.trinidad.context.ExternalContextPropagator.processInScope(ExternalContextPropagator.java:216)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:383)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:241)
at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:101)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
at oracle.security.jps.ee.http.JpsAbsFilter$3.run(JpsAbsFilter.java:175)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:650)
at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:112)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilterInternal(JpsAbsFilter.java:293)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:150)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:94)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:248)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
at oracle.jrf.servlet.ExtensibleGlobalFilter.doFilter(ExtensibleGlobalFilter.java:92)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:32)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3797)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3763)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:344)
at weblogic.security.service.SecurityManager.runAsForUserCode(SecurityManager.java:197)
at weblogic.servlet.provider.WlsSecurityProvider.runAsForUserCode(WlsSecurityProvider.java:203)
at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:71)
at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2451)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2299)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2277)
at weblogic.servlet.internal.ServletRequestImpl.runInternal(ServletRequestImpl.java:1720)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1680)
at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:272)
at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:352)
at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:337)
at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:57)
at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41)
at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:655)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:420)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:360)
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to org.json.simple.JSONObject
at severstal.playground.vc.beans.FilesHandler.onUploadFileValueChangeEvent(FilesHandler.java:78)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:181)
at com.sun.el.parser.AstValue.invoke(AstValue.java:289)
at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:304)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
... 72 more
<oracle.adf.view> <PartialResponseUtils> <handleError> <ADF_FACES-60096:Server Exception during PPR, #1>
javax.el.ELException: //home/big-deal/.jdeveloper/system12.2.1.4.42.190911.2248/o.j2ee.12.2.1.4.42.210503.842/drs/SeverstalPlaygroundApp/PlaygroundVCWebApp.war/fragments/mainPlayGroundPage.jsff @76,109 valueChangeListener="#{FileUploadHandler.onUploadFileValueChangeEvent}": java.lang.ClassCastException: java.lang.String cannot be cast to org.json.simple.JSONObject
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:111)
at javax.faces.event.MethodExpressionValueChangeListener.processValueChange(MethodExpressionValueChangeListener.java:146)
at javax.faces.event.ValueChangeEvent.processListener(ValueChangeEvent.java:134)
at org.apache.myfaces.trinidad.component.UIXComponentBase.broadcast(UIXComponentBase.java:1136)
at org.apache.myfaces.trinidad.component.UIXEditableValue.broadcast(UIXEditableValue.java:253)
at org.apache.myfaces.trinidad.component.UIXComponent.broadcastInContext(UIXComponent.java:373)
at oracle.adf.view.rich.event.ProxyEvent.broadcastWrappedEvent(ProxyEvent.java:72)
at oracle.adf.view.rich.component.fragment.UIXRegion._handleProxyEvent(UIXRegion.java:939)
at oracle.adf.view.rich.component.fragment.UIXRegion.broadcast(UIXRegion.java:119)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:755)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executeApplyValidateOrUpdate(LifecycleImpl.java:668)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:387)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:238)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:650)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:295)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:260)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:137)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:353)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:207)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:105)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain$1.call(TrinidadFilterImpl.java:591)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain$1.call(TrinidadFilterImpl.java:587)
at org.apache.myfaces.trinidad.context.ExternalContextPropagator.processInScope(ExternalContextPropagator.java:216)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:596)
at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:91)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain$1.call(TrinidadFilterImpl.java:591)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain$1.call(TrinidadFilterImpl.java:587)
at org.apache.myfaces.trinidad.context.ExternalContextPropagator.processInScope(ExternalContextPropagator.java:216)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:596)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$1.call(TrinidadFilterImpl.java:372)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$1.call(TrinidadFilterImpl.java:368)
at org.apache.myfaces.trinidad.context.ExternalContextPropagator.processInScope(ExternalContextPropagator.java:216)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:383)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:241)
at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:101)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
at oracle.security.jps.ee.http.JpsAbsFilter$3.run(JpsAbsFilter.java:175)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:650)
at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:112)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilterInternal(JpsAbsFilter.java:293)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:150)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:94)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:248)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
at oracle.jrf.servlet.ExtensibleGlobalFilter.doFilter(ExtensibleGlobalFilter.java:92)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:32)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3797)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3763)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:344)
at weblogic.security.service.SecurityManager.runAsForUserCode(SecurityManager.java:197)
at weblogic.servlet.provider.WlsSecurityProvider.runAsForUserCode(WlsSecurityProvider.java:203)
at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:71)
at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2451)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2299)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2277)
at weblogic.servlet.internal.ServletRequestImpl.runInternal(ServletRequestImpl.java:1720)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1680)
at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:272)
at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:352)
at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:337)
at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:57)
at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41)
at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:655)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:420)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:360)
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to org.json.simple.JSONObject
at severstal.playground.vc.beans.FilesHandler.onUploadFileValueChangeEvent(FilesHandler.java:78)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:181)
at com.sun.el.parser.AstValue.invoke(AstValue.java:289)
at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:304)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
... 72 more
Can someone tell why the code gives this error when run in the web app? Does Jdeveloper has native JSON parsing library that I can use for the task? Or does I need to read the mask (being large text) from JSON using inputStreams?
Any guidance will be very much appreciated.
Thanks in advance
Bilal