Java Error when using iCalendar

0
I've implemented the iCalendar Module in a project but I cannot get it to work properly. I've added all ical4j .jar files to the project, but when I use the 'SEAppointmentProcessQueue' Microflow I get the following java error message. Can someone help me to understand what this error message tells me? The message: java.util.concurrent.ExecutionException: java.lang.ExceptionInInitializerError at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) at java.util.concurrent.FutureTask.get(FutureTask.java:83) at gy.a(SourceFile:86) at gy.execute(SourceFile:66) at iW.a(SourceFile:285) at ja$g.a(SourceFile:126) at ja$g$a.a(SourceFile:118) at ja$g$a.apply(SourceFile:116) at akka.actor.Actor$class.apply(Actor.scala:545) at ja$g.apply(SourceFile:112) at akka.actor.LocalActorRef.invoke(ActorRef.scala:910) at akka.dispatch.MessageInvocation.invoke(MessageHandling.scala:25) at akka.dispatch.ExecutableMailbox$class.processMailbox(ExecutorBasedEventDrivenDispatcher.scala:223) at akka.dispatch.ExecutorBasedEventDrivenDispatcher$$anon$4.processMailbox(ExecutorBasedEventDrivenDispatcher.scala:123) at akka.dispatch.ExecutableMailbox$class.run(ExecutorBasedEventDrivenDispatcher.scala:195) at akka.dispatch.ExecutorBasedEventDrivenDispatcher$$anon$4.run(ExecutorBasedEventDrivenDispatcher.scala:123) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) at akka.dispatch.MonitorableThread.run(ThreadPoolBuilder.scala:192) Caused by: java.lang.ExceptionInInitializerError at net.fortuna.ical4j.model.CalendarDateFormatFactory.<clinit>(CalendarDateFormatFactory.java:54) at net.fortuna.ical4j.model.Iso8601.<init>(Iso8601.java:76) at net.fortuna.ical4j.model.Date.<init>(Date.java:128) at net.fortuna.ical4j.model.DateTime.<init>(DateTime.java:236) at icalendarmodule.actions.AppointmentSendNotification.createCalendar(AppointmentSendNotification.java:197) at icalendarmodule.actions.AppointmentSendNotification.executeAction(AppointmentSendNotification.java:97) at icalendarmodule.actions.AppointmentSendNotification.executeAction(AppointmentSendNotification.java:56) at com.mendix.systemwideinterfaces.core.UserAction.execute(SourceFile:57) at com.mendix.core.actionmanagement.CoreAction.call(SourceFile:457) at hC.b(SourceFile:182) at com.mendix.core.Core.execute(SourceFile:219) at lg.a(SourceFile:70) at mf.a(SourceFile:73) at me.executeAction(SourceFile:101) at com.mendix.systemwideinterfaces.core.UserAction.execute(SourceFile:57) at com.mendix.core.actionmanagement.CoreAction.call(SourceFile:457) at hC.b(SourceFile:182) at com.mendix.core.Core.executeSync(SourceFile:196) at lh.a(SourceFile:71) at mf.a(SourceFile:73) at me.executeAction(SourceFile:101) at com.mendix.systemwideinterfaces.core.UserAction.execute(SourceFile:57) at com.mendix.core.actionmanagement.CoreAction.call(SourceFile:457) at hC.b(SourceFile:182) at com.mendix.core.Core.executeSync(SourceFile:196) at lL.a(SourceFile:66) at mf.a(SourceFile:73) at me.executeAction(SourceFile:101) at com.mendix.systemwideinterfaces.core.UserAction.execute(SourceFile:57) at com.mendix.core.actionmanagement.CoreAction.call(SourceFile:457) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Caused by: java.security.AccessControlException: access denied (java.util.PropertyPermission org.apache.commons.logging.LogFactory.HashtableImpl read) at java.security.AccessControlContext.checkPermission(AccessControlContext.java:374) at java.security.AccessController.checkPermission(AccessController.java:546) at java.lang.SecurityManager.checkPermission(SecurityManager.java:532) at java.lang.SecurityManager.checkPropertyAccess(SecurityManager.java:1285) at java.lang.System.getProperty(System.java:650) at org.apache.commons.logging.LogFactory.createFactoryStore(LogFactory.java:320) at org.apache.commons.logging.LogFactory.<clinit>(LogFactory.java:1725) at net.fortuna.ical4j.model.CalendarDateFormatFactory.<clinit>(CalendarDateFormatFactory.java:54) at net.fortuna.ical4j.model.Iso8601.<init>(Iso8601.java:76) at net.fortuna.ical4j.model.Date.<init>(Date.java:128) at net.fortuna.ical4j.model.DateTime.<init>(DateTime.java:236) at icalendarmodule.actions.AppointmentSendNotification.createCalendar(AppointmentSendNotification.java:197) at icalendarmodule.actions.AppointmentSendNotification.executeAction(AppointmentSendNotification.java:97) at icalendarmodule.actions.AppointmentSendNotification.executeAction(AppointmentSendNotification.java:56) at com.mendix.systemwideinterfaces.core.UserAction.execute(SourceFile:57) at com.mendix.core.actionmanagement.CoreAction.call(SourceFile:457) at hC.b(SourceFile:182) at com.mendix.core.Core.execute(SourceFile:219) at lg.a(SourceFile:70) at mf.a(SourceFile:73) at me.executeAction(SourceFile:101) at com.mendix.systemwideinterfaces.core.UserAction.execute(SourceFile:57) at com.mendix.core.actionmanagement.CoreAction.call(SourceFile:457) at hC.b(SourceFile:182) at com.mendix.core.Core.executeSync(SourceFile:196) at lh.a(SourceFile:71) at mf.a(SourceFile:73) at me.executeAction(SourceFile:101) at com.mendix.systemwideinterfaces.core.UserAction.execute(SourceFile:57) at com.mendix.core.actionmanagement.CoreAction.call(SourceFile:457) at hC.b(SourceFile:182) at com.mendix.core.Core.executeSync(SourceFile:196) at lL.a(SourceFile:66) at mf.a(SourceFile:73) at me.executeAction(SourceFile:101) at com.mendix.systemwideinterfaces.core.UserAction.execute(SourceFile:57) at com.mendix.core.actionmanagement.CoreAction.call(SourceFile:457) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662)
asked
4 answers
0

The error looks like it happens during an attempt to send an email - have you got the mail server configured correctly?

answered
0

You have emulate cloud security enabled right? In the stack trace it says:

Caused by: java.security.AccessControlException: access denied (java.util.PropertyPermission org.apache.commons.logging.LogFactory.HashtableImpl read)

Something in your code is trying to read a property that you don't have access to.

answered
0

@ David Sanders The mail server is (as far as I can tell) configured correctly.

@ Bas van den Broek Emulate Cloud Security is enabled. I'm using the Administrator login, which has access to every form, microflow and entity..

Thanks for your answers! Should you come up with anything else: Thanks in advance ;)

answered
0

If you want to try locally with 'emulate cloud security' on then please open the following permissions by adding in the .policy file:

permission java.io.FilePermission "log4j.properties", "read, write"; permission java.util.PropertyPermission "org.apache.commons.logging.LogFactory.HashtableImpl", "read, write"; permission java.util.PropertyPermission "ical4j.", "read"; permission java.util.PropertyPermission "net.fortuna.ical4j.", "read"; permission java.net.SocketPermission "tzurl.org:80", "connect,resolve";

The permissions above need to be granted in order to use the functionality in the Mendix Cloud. You can raise a support ticket to ask Mendix to grant these properties to your Cloud environment and it will work.

answered