I try to use a jar-file (for example, abdera-0.4.0-incubating.jar) in server javascript on XPage.
I put a jar into application as stated here:
-
Open NSF in designer
-
Swap to Java perspective
-
Open the folder WebContent\WEB_INF
-
Create a folder called lib
-
Import the JAR into the lib directory
Then I added my custom class “org.apache.abdera.examples.simple.Create” into WebContent\WEB_INF\class\ subfolder.
And finally I call org.apache.abdera.examples.simple.Create.getFeedXmlString() from javascript on XPage
Full stack trace:
java.security.AccessControlException: Access denied (java.lang.RuntimePermission getClassLoader)
at java.lang.Throwable.<init>(Throwable.java:67)
at java.security.AccessControlException.<init>(Unknown Source)
at java.security.AccessController.checkPermission(AccessController.java:108)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:545)
at java.lang.Thread.getContextClassLoader(Thread.java:456)
at org.apache.abdera.util.ServiceUtil.getClassLoader(ServiceUtil.java:135)
at org.apache.abdera.util.AbderaConfiguration.<init>(AbderaConfiguration.java:94)
at org.apache.abdera.util.AbderaConfiguration.<init>(AbderaConfiguration.java:90)
at org.apache.abdera.util.AbderaConfiguration.getDefault(AbderaConfiguration.java:62)
at org.apache.abdera.Abdera.<init>(Abdera.java:81)
at org.apache.abdera.Abdera.getNewFactory(Abdera.java:275)
at org.apache.abdera.examples.simple.Create.getFeedXmlString(Create.java:44)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:59)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:39)
at java.lang.reflect.Method.invoke(Method.java:612)
at com.ibm.jscript.types.JavaAccessObject.call(JavaAccessObject.java:260)
at com.ibm.jscript.types.FBSObject.call(FBSObject.java:142)
at com.ibm.jscript.ASTTree.ASTCall.interpret(ASTCall.java:146)
at com.ibm.jscript.ASTTree.ASTVariableDecl.interpret(ASTVariableDecl.java:80)
at com.ibm.jscript.ASTTree.ASTProgram.interpretEx(ASTProgram.java:100)
at com.ibm.jscript.JSExpression.interpretExpression(JSExpression.java:396)
at com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:247)
at com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:234)
at com.ibm.xsp.javascript.JavaScriptInterpreter.interpret(JavaScriptInterpreter.java:193)
at com.ibm.xsp.binding.javascript.JavaScriptMethodBinding.invoke(JavaScriptMethodBinding.java:102)
at com.ibm.xsp.controller.FacesControllerImpl.invokePhaseMethodBinding(FacesControllerImpl.java:425)
at com.ibm.xsp.controller.FacesControllerImpl.access$0(FacesControllerImpl.java:414)
at com.ibm.xsp.controller.FacesControllerImpl$ViewPhaseListener.afterPhase(FacesControllerImpl.java:492)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:218)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:120)
at com.ibm.xsp.controller.FacesControllerImpl.render(FacesControllerImpl.java:240)
at com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:201)
at com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:151)
at com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:148)
at com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:128)
at com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:113)
at com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:354)
at com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:414)
at com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:508)
at com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:451)
at com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:343)
at com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:398)
at com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:143)
at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:221)
at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:183)
at com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:222)
Another sample - ehcache-1.6.0-beta3.jar and very similar (on the top) stack:
java.security.AccessControlException: Access denied (java.lang.RuntimePermission getClassLoader)
at java.lang.Throwable.<init>(Throwable.java:67)
at java.security.AccessControlException.<init>(Unknown Source)
at java.security.AccessController.checkPermission(AccessController.java:108)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:545)
at java.lang.Thread.getContextClassLoader(Thread.java:456)
at net.sf.ehcache.util.ClassLoaderUtil.getStandardClassLoader(ClassLoaderUtil.java:43)
at net.sf.ehcache.config.ConfigurationFactory.parseConfiguration(ConfigurationFactory.java:121)
at net.sf.ehcache.CacheManager.parseConfiguration(CacheManager.java:288)
at net.sf.ehcache.CacheManager.init(CacheManager.java:234)
at net.sf.ehcache.CacheManager.<init>(CacheManager.java:224)
at net.sf.ehcache.CacheManager.create(CacheManager.java:415)
at javaCache.CacheTest.test(CacheTest.java:17)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:59)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:39)
at java.lang.reflect.Method.invoke(Method.java:612)
at com.ibm.jscript.types.JavaAccessObject.call(JavaAccessObject.java:260)
at com.ibm.jscript.types.FBSObject.call(FBSObject.java:142)
at com.ibm.jscript.ASTTree.ASTCall.interpret(ASTCall.java:146)
at com.ibm.jscript.ASTTree.ASTVariableDecl.interpret(ASTVariableDecl.java:80)
at com.ibm.jscript.ASTTree.ASTProgram.interpretEx(ASTProgram.java:100)
at com.ibm.jscript.JSExpression.interpretExpression(JSExpression.java:396)
at com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:247)
at com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:234)
at com.ibm.xsp.javascript.JavaScriptInterpreter.interpret(JavaScriptInterpreter.java:193)
at com.ibm.xsp.binding.javascript.JavaScriptMethodBinding.invoke(JavaScriptMethodBinding.java:102)
at com.ibm.xsp.controller.FacesControllerImpl.invokePhaseMethodBinding(FacesControllerImpl.java:425)
at com.ibm.xsp.controller.FacesControllerImpl.access$0(FacesControllerImpl.java:414)
at com.ibm.xsp.controller.FacesControllerImpl$ViewPhaseListener.afterPhase(FacesControllerImpl.java:492)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:218)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:120)
at com.ibm.xsp.controller.FacesControllerImpl.render(FacesControllerImpl.java:240)
at com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:201)
at com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:151)
at com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:148)
at com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:128)
at com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:113)
at com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:354)
at com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:414)
at com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:508)
at com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:451)
at com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:343)
at com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:398)
at com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:143)
at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:221)
at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:183)
at com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:222)