xpages应用程序中的间歇性行为:通过按下按钮进行保存,文档不会被重定向并再次显示

时间:2018-03-01 23:26:44

标签: xpages

我在生产中部署了几个月的新xpages应用程序时出现问题,但现在只扩展到整个企业。应用程序处于生产试用期间未发生的问题是间歇性的,并且当操作执行当前notesxsppdocument save(currentdocument)时发生。症状是通过按下您保存的按钮,文档不会被重定向并再次显示。这可能是什么问题。会话超时,来自xpages的错误?应用程序基本上使用扩展库的组件,xpages没有外部组件。出现问题时,如果用户关闭文档的xpages再次打开,然后再次单击该按钮,代码将成功运行。

我有一个函数可以将附加到doc的文件存储在存储库中。我怀疑她是问题所在。该函数使用文件上载组件和按钮来执行将文件存储在存储库中的java代理。下面的按钮代码如下。它的功能基本上是创建富文本(如果它不存在),并调用使用Web服务的代理将文件传输到存储库并将其从文档中删除。

我要求用户在服务时几天不使用该功能,以验证问题是否仍然存在。

if(validaArquivo())
{

var url=@ReplaceSubstring(context.getUrl(),"openDocument","editDocument")
url += '&tab=dossie' ;
var fieldItem:NotesItem = 
currentDocument.getDocument().getFirstItem("arquivos");
    if (fieldItem==null){
        // create the field as an RTF
        //writeToLog("Creating xxxxx field");
        var rtItem:NotesRichTextItem = 
        currentDocument.getDocument().createRichTextItem("arquivos");
        currentDocument.save(); 
    }else if (fieldItem.getType()==1280){
        //writeToLog("--> Converting xxxxx to RTF");
        currentDocument.replaceItemValue("arquivosTEXT", 
        fieldItem.getText());
        fieldItem.remove();
        var rtItem:NotesRichTextItem = 
        currentDocument.getDocument().createRichTextItem("arquivos");
        currentDocument.save();         
    } 
var agente:NotesAgent=database.getAgent("(SalvaAnexos)");
agente.runWithDocumentContext(currentDocument.getDocument(true));
context.redirectToPage(url)
}
else
{
 document1.removeAllAttachments("arquivos");
}

1 个答案:

答案 0 :(得分:0)

当用户使用该应用程序时,重建或更改prod环境中的某些代码会导致此问题。