使用AllPermission java策略反序列化对象时获取SecurityException

使用AllPermission java策略反序列化对象时获取SecurityException,java,xpages,lotus-notes,xpages-ssjs,Java,Xpages,Lotus Notes,Xpages Ssjs,在我的XPages应用程序中,我通过序列化某些对象并将它们保存到备份文档中的MIME实体来备份它们。为了稍后重新加载对象,我使用以下服务器端JavaScript函数进行反序列化: var entity:NotesMIMEEntity=doc.getMIMEEntity(field); if (!entity) return null; var stream:NotesStream=session.createStream(); entity.getContentAsBytes(stream);

在我的XPages应用程序中,我通过序列化某些对象并将它们保存到备份文档中的MIME实体来备份它们。为了稍后重新加载对象,我使用以下服务器端JavaScript函数进行反序列化:

var entity:NotesMIMEEntity=doc.getMIMEEntity(field);
if (!entity) return null;
var stream:NotesStream=session.createStream();
entity.getContentAsBytes(stream);
stream.setPosition(0);
var ois:java.io.ObjectInputStream=new java.io.ObjectInputStream(new java.io.ByteArrayInputStream(stream.read()));
var o=ois.readObject(); // ERROR OCCURS IN THIS LINE
ois.close();
entity.recycle();
doc.closeMIMEEntities(false,field);
当我尝试从流中读取对象时,会引发异常:

java.lang.SecurityException:不允许使用java桥

我已经在java.policy文件中设置了java.security.AllPermission,因此我不知道为什么会引发此异常。我还发现,只有在Notes客户机中运行应用程序时才会出现此问题,但当我通过Domino服务器在浏览器中运行应用程序时,一切正常

有人能告诉我如何解决这个问题吗

PS:以下是SecurityException的完整跟踪:

java.lang.SecurityException: Java bridge is not allowed
at com.ibm.jscript.types.JavaAccessObject.<init>(Unknown Source)
at com.ibm.jscript.types.FBSUtility.wrapAsObject(Unknown Source)
at com.ibm.jscript.types.FBSUtility.wrap(Unknown Source)
at com.ibm.jscript.types.FBSValue.readValue(Unknown Source)
at com.ibm.jscript.types.FBSDefaultObject.readExternal(Unknown Source)
at com.ibm.jscript.std.ObjectObject.readExternal(Unknown Source)
at java.io.ObjectInputStream.readExternalData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at sun.reflect.GeneratedMethodAccessor35.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.ibm.jscript.types.JavaAccessObject.call(Unknown Source)
at com.ibm.jscript.types.FBSObject.call(Unknown Source)
at com.ibm.jscript.ASTTree.ASTCall.interpret(Unknown Source)
at com.ibm.jscript.ASTTree.ASTVariableDecl.interpret(Unknown Source)
at com.ibm.jscript.ASTTree.ASTBlock.interpret(Unknown Source)
at com.ibm.jscript.ASTTree.ASTTry.interpret(Unknown Source)
at com.ibm.jscript.std.FunctionObject._executeFunction(Unknown Source)
at com.ibm.jscript.std.FunctionObject.executeFunction(Unknown Source)
at com.ibm.jscript.std.FunctionObject.call(Unknown Source)
at com.ibm.jscript.types.FBSObject.call(Unknown Source)
at com.ibm.jscript.ASTTree.ASTCall.interpret(Unknown Source)
at com.ibm.jscript.ASTTree.ASTAssign.interpret(Unknown Source)
at com.ibm.jscript.ASTTree.ASTBlock.interpret(Unknown Source)
at com.ibm.jscript.ASTTree.ASTIf.interpret(Unknown Source)
at com.ibm.jscript.ASTTree.ASTBlock.interpret(Unknown Source)
at com.ibm.jscript.ASTTree.ASTTry.interpret(Unknown Source)
at com.ibm.jscript.std.FunctionObject._executeFunction(Unknown Source)
at com.ibm.jscript.std.FunctionObject.executeFunction(Unknown Source)
at com.ibm.jscript.std.FunctionObject.call(Unknown Source)
at com.ibm.jscript.types.FBSObject.call(Unknown Source)
at com.ibm.jscript.ASTTree.ASTCall.interpret(Unknown Source)
at com.ibm.jscript.ASTTree.ASTAssign.interpret(Unknown Source)
at com.ibm.jscript.ASTTree.ASTBlock.interpret(Unknown Source)
at com.ibm.jscript.ASTTree.ASTForIn.interpret(Unknown Source)
at com.ibm.jscript.ASTTree.ASTBlock.interpret(Unknown Source)
at com.ibm.jscript.ASTTree.ASTTry.interpret(Unknown Source)
at com.ibm.jscript.std.FunctionObject._executeFunction(Unknown Source)
at com.ibm.jscript.std.FunctionObject.executeFunction(Unknown Source)
at com.ibm.jscript.std.FunctionObject.call(Unknown Source)
at com.ibm.jscript.types.FBSObject.call(Unknown Source)
at com.ibm.jscript.ASTTree.ASTCall.interpret(Unknown Source)
at com.ibm.jscript.ASTTree.ASTBlock.interpret(Unknown Source)
at com.ibm.jscript.ASTTree.ASTTry.interpret(Unknown Source)
at com.ibm.jscript.std.FunctionObject._executeFunction(Unknown Source)
at com.ibm.jscript.std.FunctionObject.executeFunction(Unknown Source)
at com.ibm.jscript.std.FunctionObject.call(Unknown Source)
at com.ibm.jscript.types.FBSObject.call(Unknown Source)
at com.ibm.jscript.ASTTree.ASTCall.interpret(Unknown Source)
at com.ibm.jscript.ASTTree.ASTUnaryOp.interpret(Unknown Source)
at com.ibm.jscript.ASTTree.ASTIf.interpret(Unknown Source)
at com.ibm.jscript.ASTTree.ASTProgram.interpret(Unknown Source)
at com.ibm.jscript.ASTTree.ASTProgram.interpretEx(Unknown Source)
at com.ibm.jscript.JSExpression._interpretExpression(Unknown Source)
at com.ibm.jscript.JSExpression.access$1(Unknown Source)
at com.ibm.jscript.JSExpression$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Unknown Source)
at com.ibm.jscript.JSExpression.interpretExpression(Unknown Source)
at com.ibm.jscript.JSExpression.evaluateValue(Unknown Source)
at com.ibm.jscript.JSExpression.evaluateValue(Unknown Source)
at com.ibm.xsp.javascript.JavaScriptInterpreter.interpret(Unknown Source)
at com.ibm.xsp.binding.javascript.JavaScriptMethodBinding.invoke(Unknown Source)
at com.ibm.xsp.component.UIIncludeComposite.initBeforePageContents(Unknown Source)
at com.ibm.xsp.page.compiled.AbstractCompiledPage.initComponent(Unknown Source)
at com.ibm.xsp.page.compiled.AbstractCompiledPage.createTree(Unknown Source)
at com.ibm.xsp.page.compiled.AbstractCompiledPage.addComponent(Unknown Source)
at com.ibm.xsp.component.UIIncludeComposite.buildContents(Unknown Source)
at com.ibm.xsp.page.compiled.AbstractCompiledPage.initComponent(Unknown Source)
at com.ibm.xsp.page.compiled.CompiledComponentBuilder.buildChildren(Unknown Source)
at com.ibm.xsp.page.compiled.CompiledComponentBuilder.buildAll(Unknown Source)
at com.ibm.xsp.component.UIViewRootEx.buildContents(Unknown Source)
at com.ibm.xsp.component.UIViewRootEx2.buildContents(Unknown Source)
at com.ibm.xsp.page.compiled.AbstractCompiledPage.initComponent(Unknown Source)
at com.ibm.xsp.page.compiled.AbstractCompiledPage.createTree(Unknown Source)
at com.ibm.xsp.page.compiled.AbstractCompiledPage.createViewRoot(Unknown Source)
at com.ibm.xsp.application.ViewHandlerExImpl._createViewRoot(Unknown Source)
at com.ibm.xsp.application.ViewHandlerExImpl.createViewRoot(Unknown Source)
at com.ibm.xsp.application.ViewHandlerExImpl.doCreateView(Unknown Source)
at com.ibm.xsp.application.ViewHandlerEx.createView(Unknown Source)
at com.ibm.xsp.webapp.FacesServlet.serviceView(Unknown Source)
at com.ibm.xsp.webapp.FacesServletEx.serviceView(Unknown Source)
at com.ibm.xsp.webapp.FacesServlet.service(Unknown Source)
at com.ibm.xsp.webapp.FacesServletEx.service(Unknown Source)
at com.ibm.xsp.webapp.DesignerFacesServlet.service(Unknown Source)
at com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(Unknown Source)
at com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(Unknown Source)
at com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(Unknown Source)
at com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(Unknown Source)
at com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(Unknown Source)
at com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(Unknown Source)
at com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(Unknown Source)
at com.ibm.domino.xsp.module.nsf.NSFService.access$0(Unknown Source)
at com.ibm.domino.xsp.module.nsf.NSFService$NsfServiceRequest.call(Unknown Source)
at com.ibm.domino.xsp.module.nsf.NSFService$NsfServiceRequest.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
at com.ibm.domino.xsp.module.nsf.NSFService$NsfServiceThread.run(Unknown Source)
java.lang.SecurityException:不允许使用java桥
位于com.ibm.jscript.types.JavaAccessObject。(未知源)
位于com.ibm.jscript.types.FBSUtility.wrapAsObject(未知源)
位于com.ibm.jscript.types.FBSUtility.wrap(未知源)
位于com.ibm.jscript.types.FBSValue.readValue(未知源)
位于com.ibm.jscript.types.FBSDefaultObject.readExternal(未知源)
位于com.ibm.jscript.std.ObjectObject.readExternal(未知源)
位于java.io.ObjectInputStream.readExternalData(未知源)
位于java.io.ObjectInputStream.ReadOrderinaryObject(未知源)
位于java.io.ObjectInputStream.readObject0(未知源)
位于java.io.ObjectInputStream.readObject(未知源)
位于sun.reflect.GeneratedMethodAccessor35.invoke(未知源)
在sun.reflect.DelegatingMethodAccessorImpl.invoke处(未知源)
位于java.lang.reflect.Method.invoke(未知源)
位于com.ibm.jscript.types.JavaAccessObject.call(未知源)
位于com.ibm.jscript.types.FBSObject.call(未知源)
在com.ibm.jscript.astree.ASTCall.explain(未知源)
位于com.ibm.jscript.ASTTree.ASTVariableDecl.explain(未知源)
在com.ibm.jscript.astree.ASTBlock.explain(未知源)
在com.ibm.jscript.astree.ASTTry.explain(未知源)
位于com.ibm.jscript.std.FunctionObject.\u executeFunction(未知源)
位于com.ibm.jscript.std.FunctionObject.executeFunction(未知源)
位于com.ibm.jscript.std.FunctionObject.call(未知源)
位于com.ibm.jscript.types.FBSObject.call(未知源)
在com.ibm.jscript.astree.ASTCall.explain(未知源)
位于com.ibm.jscript.ASTTree.ASTAssign.explain(未知源)
在com.ibm.jscript.astree.ASTBlock.explain(未知源)
位于com.ibm.jscript.ASTTree.ASTIf.explain(未知源)
在com.ibm.jscript.astree.ASTBlock.explain(未知源)
在com.ibm.jscript.astree.ASTTry.explain(未知源)
位于com.ibm.jscript.std.FunctionObject.\u executeFunction(未知源)
位于com.ibm.jscript.std.FunctionObject.executeFunction(未知源)
位于com.ibm.jscript.std.FunctionObject.call(未知源)
位于com.ibm.jscript.types.FBSObject.call(未知源)
在com.ibm.jscript.astree.ASTCall.explain(未知源)
位于com.ibm.jscript.ASTTree.ASTAssign.explain(未知源)
在com.ibm.jscript.astree.ASTBlock.explain(未知源)
位于com.ibm.jscript.ASTTree.ASTForIn.explain(未知源)
在com.ibm.jscript.astree.ASTBlock.explain(未知源)
在com.ibm.jscript.astree.ASTTry.explain(未知源)
位于com.ibm.jscript.std.FunctionObject.\u executeFunction(未知源)
位于com.ibm.jscript.std.FunctionObject.executeFunction(未知源)
位于com.ibm.jscript.std.FunctionObject.call(未知源)
位于com.ibm.jscript.types.FBSObject.call(未知源)
在com.ibm.jscript.astree.ASTCall.explain(未知源)
在com.ibm.jscript.astree.ASTBlock.explain(未知源)
在com.ibm.jscript.astree.ASTTry.explain(未知源)
位于com.ibm.jscript.std.FunctionObject.\u executeFunction(未知源)
位于com.ibm.jscript.std.FunctionObject.executeFunction(未知源)
位于com.ibm.jscript.std.FunctionObject.call(未知源)
位于com.ibm.jscript.types.FBSObject.call(未知源)
在com.ibm.jscript.astree.ASTCall.explain(未知源)
位于com.ibm.jscript.ASTTree.ASTUnaryOp.explain(未知源)
位于com.ibm.jscript.ASTTree.ASTIf.explain(未知源)
在com.ibm.jscript.astree.ASTProgram.explain(未知源)
在com.ibm.jscript.astree.ASTProgram.解释器上(未知源)
在com.ibm.jscript.JSExpression.\u解释器expression(未知源)
位于com.ibm.jscript.JSExpression.access$1(未知源)
位于com.ibm.jscript.JSExpression$2.run(未知源)
位于java.security.AccessController.doPrivileged(未知源)
位于com.ibm.jscript.JSExpression.解释器expression(未知源)
位于com.ibm.jscript.JSExpression.evaluateValue(未知源)
位于com.ibm.jscript.JSExpression.evaluateValue(未知源)
位于com.ibm.xsp.javascript.javascriptexplorer.exploration(未知源)
位于com.ibm.xsp.binding.javascript.JavaScriptMethodBinding.invoke(未知源)
位于com.ibm.xsp.component.UIIncludeComposite.initBeforePageContents(未知源)
位于com.ibm.xsp.page.compiled.AbstractCompiledPage.initComponent(未知源)
位于com.ibm.xsp.page.compiled.AbstractCompiledPage.createTree(未知源)
位于com.ibm.xsp.page.compiled.AbstractCompiledPage.addComponent(未知源)
位于com.ibm.xsp.component.UIIncludeComposite.buildContents(未知源)
位于com.ibm.xsp.page.compiled.AbstractCompiledPage.initComponent(未知源)
位于com.ibm.xsp.page.compiled.CompiledComponentBuilder.buildChildren(未知源)
位于com.ibm.xsp.page.compiled.CompiledComponentBuilder.buildAll(未知源)
在com.ibm.xsp.component.UIViewRootEx.buildContents(未知源)
位于com.ibm.xsp.component.UIViewRootEx2.buildContents(未知源)
位于com.ibm.xsp.page.compiled.AbstractCompiledPage.initComponent(未知源)
位于com.ibm.xsp.page.compiled.AbstractCompiledPage.createTree(未知源)
位于com.ibm.xsp.page.compiled.AbstractCompiledPage.createViewRoot(未知源)
在