Skip to Main Content

Java Development Tools

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

JSON reading in bean is giving error

BilalAug 9 2021

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

Comments

Processing

Post Details

Added on Aug 9 2021
3 comments
418 views