Xpages sessionAsSignerWithFullAccess异常失败

Xpages sessionAsSignerWithFullAccess异常失败,xpages,xpages-ssjs,Xpages,Xpages Ssjs,下面的代码是我在XPage上的操作按钮中的一些测试代码。我需要在代码WFSUtils.sysOut中获得当前数据库的FullAccess句柄,它只是将打印的消息格式化到服务器控制台。catch中的错误消息会定期返回 2015-01-09 12:49:11 PM HTTP JVM:WFS~~~在更新演示“sessionAsSignerWithFullAccess”中找不到错误 我是XPage的签名者,数据库是由服务器ID签名的。有时,它运行得很好,但当它失败时,会出现上面的消息。如果我关闭一切,然

下面的代码是我在XPage上的操作按钮中的一些测试代码。我需要在代码WFSUtils.sysOut中获得当前数据库的FullAccess句柄,它只是将打印的消息格式化到服务器控制台。catch中的错误消息会定期返回 2015-01-09 12:49:11 PM HTTP JVM:WFS~~~在更新演示“sessionAsSignerWithFullAccess”中找不到错误

我是XPage的签名者,数据库是由服务器ID签名的。有时,它运行得很好,但当它失败时,会出现上面的消息。如果我关闭一切,然后重新启动,它通常会运行,但随后开始失败。这是非常随机和不可预测的

debug = true;
try{

    if (debug) WFSUtils.sysOut("Starting YYY New SetupDemo");
    var serverName = database.getServer();
    var repID = database.getReplicaID();
    thisDB = sessionAsSignerWithFullAccess.getDatabase("","");
    thisDB.openByReplicaID(serverName,repID); 
    if (debug) WFSUtils.sysOut( "SetupDemo Success" + thisDB.getTitle());
}catch(e){
    WFSUtils.sysOut("Error " + e.toString())
}finally{
    try{
        WFSUtils.recycleObjects([]);
        if (debug) WFSUtils.sysOut("SetupDemo Recycle Success");
    }catch(e){
        if (debug) WFSUtils.sysOut("SetupDemo recycle Failed");
    }

}

出于这样或那样的原因,所有XPage元素在运行时都必须由相同的ID签名,这一点很重要。当它们不是时,
sessionAsSigner
sessionAsSigner with fullaccess
会像您描述的那样变得不稳定-这可能是原因。

我听说过,但确保数据库只有一个签名者是相当困难的,特别是在开发环境中。无论出于什么原因,我发现当我遇到这个错误时,关闭设计器,然后打开XPage并执行代码,它通常是有效的,但并不总是有效的。非常奇怪,非常耗时。我用我的ID签署了DB,现在它可以工作了。因此,在开发过程中,可能应该由人员签名,然后在生产中与服务器签名。