Deserialization error submitting forms to AEM Forms JEE

Found an interesting bug (feature?) in AEM Forms 6.2 where you can’t submit your forms to an AEM Forms JEE Workflows server, even after configuring the DSCConfigService.

The errors you will see are similar to the following:

25.11.2016 09:55:14.210 *ERROR* [14.2.208.49 [1480028113565] POST /content/forms/af/[link-to-your-form]/jcr:content/guideContainer.af.submit.jsp HTTP/1.1] com.adobe.aemds.guide.servlet.GuideSubmitServlet Could not complete Submit Action due to An exception occurred processing JSP page /libs/fd/afaddon/components/actions/lcprocess/post.POST.jsp at line 79
org.apache.sling.api.scripting.ScriptEvaluationException: An exception occurred processing JSP page /libs/fd/afaddon/components/actions/lcprocess/post.POST.jsp at line 79
	at org.apache.sling.scripting.core.impl.DefaultSlingScript.call(DefaultSlingScript.java:416)
...
Caused by: org.apache.sling.api.SlingException: An exception occurred processing JSP page /libs/fd/afaddon/components/actions/lcprocess/post.POST.jsp at line 79
	at org.apache.sling.scripting.jsp.jasper.servlet.JspServletWrapper.handleJspExceptionInternal(JspServletWrapper.java:683)
...
Caused by: com.adobe.aemds.guide.service.GuideException: Deserialization not allowed for class sun.util.calendar.ZoneInfo (on Fri Nov 25 09:55:14 AEDT 2016)
	at com.adobe.aemds.guide.addon.service.impl.GuideLCServiceConnectorImpl.invokeProcess(GuideLCServiceConnectorImpl.java:196)
...

Deserialization not allowed for class sun.util.calendar.ZoneInfo?? – that never happened in 6.1 or below…

Turns out you need to add the sun.util.* packages to the Deserialization Firewall config in OSGi (I didn’t even know that was a thing…). It is mentioned in the Adobe help but is very vague as to why.

The direct link to it on Publish would be similar to:

http://localhost:4503/system/console/configMgr/com.adobe.cq.deserfw.impl.DeserializationFirewallImpl

Just add a new package in the Whitelisted classes or packages prefixes and add the sun.util. package to it. Note the trailing period after “util”.

deserialization_firewall.png

aemblog

Everything AEM aka CQ5 based on my experience listed here.

Adobe AEM The Right Way

Best practices, tips, and tricks for your Adobe AEM project

/home/bkondepudi

A WCM journey with Day/Adobe CQ

Technoracle (a.k.a. "Duane's World")

A multi-purpose toolkit for the Adobe LiveCycle and AEM Forms developer.

Adobe LiveCycle Blog

A multi-purpose toolkit for the Adobe LiveCycle and AEM Forms developer.

A multi-purpose toolkit for the Adobe LiveCycle and AEM Forms developer.

XFA@Mobile

A multi-purpose toolkit for the Adobe LiveCycle and AEM Forms developer.

Code Monkey

Ramblings of a Developer