En utilisant Codehaus Jackson sur un serveur Domino dans un XPages produit la trace de la pile suivanteJava L'autorisation de Jackson sur Domino XPage
[07715:00011-2293234576] 04/02/2013 10:28:12 AM HTTP JVM: java.lang.SecurityException: not allowed to access members in class class java.util.ArrayList
[07715:00011-2293234576] 04/02/2013 10:28:12 AM HTTP JVM: at java.lang.Throwable.<init>(Throwable.java:67)
[07715:00011-2293234576] 04/02/2013 10:28:12 AM HTTP JVM: at lotus.notes.AgentSecurityManager.checkMemberAccess(Unknown Source)
[07715:00011-2293234576] 04/02/2013 10:28:12 AM HTTP JVM: at java.lang.Class.checkMemberAccess(Class.java:112)
[07715:00011-2293234576] 04/02/2013 10:28:12 AM HTTP JVM: at java.lang.Class.getDeclaredMethods(Class.java:675)
[07715:00011-2293234576] 04/02/2013 10:28:12 AM HTTP JVM: at org.codehaus.jackson.map.introspect.AnnotatedClass._addMemberMethods(AnnotatedClass.java:620)
[07715:00011-2293234576] 04/02/2013 10:28:12 AM HTTP JVM: at org.codehaus.jackson.map.introspect.AnnotatedClass.resolveMemberMethods(AnnotatedClass.java:413)
[07715:00011-2293234576] 04/02/2013 10:28:12 AM HTTP JVM: at org.codehaus.jackson.map.introspect.BasicClassIntrospector.classWithCreators(BasicClassIntrospector.java:185)
[07715:00011-2293234576] 04/02/2013 10:28:12 AM HTTP JVM: at org.codehaus.jackson.map.introspect.BasicClassIntrospector.collectProperties(BasicClassIntrospector.java:157)
[07715:00011-2293234576] 04/02/2013 10:28:12 AM HTTP JVM: at org.codehaus.jackson.map.introspect.BasicClassIntrospector.forSerialization(BasicClassIntrospector.java:96)
[07715:00011-2293234576] 04/02/2013 10:28:12 AM HTTP JVM: at org.codehaus.jackson.map.introspect.BasicClassIntrospector.forSerialization(BasicClassIntrospector.java:16)
[07715:00011-2293234576] 04/02/2013 10:28:12 AM HTTP JVM: at org.codehaus.jackson.map.SerializationConfig.introspect(SerializationConfig.java:973)
Dans le java.policy j'ai essayé ces paramètres:
// Jackson (JSON)
permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
// permission java.lang.RuntimePermission "accessDeclaredMembers";
// permission java.lang.RuntimePermission "accessClassInPackage.java.util.ArrayList";
permission java.security.AllPermission;
Les La première permission n'a rien à voir avec le problème actuel. J'ai essayé de le résoudre avec les deuxième et troisième réglages, mais cela ne fonctionne pas.
Seul le dernier réglage aide, mais c'est beaucoup plus ... De meilleures solutions?
Toutes les classes/jars dans la pile d'appels doivent avoir les permissions correctes, et pas seulement le dernier appelant. Vous ne montrez pas la section de stratégie complète et la trace de la pile, il est donc difficile de dire si c'est le problème. Il serait utile que vous puissiez ajouter d'autres informations. – NilsH
http://pastebin.com/iP3YNchM – Nabor
http://pastebin.com/XbHSRnTy – Nabor