我认为这很容易:
function assignToMeAgent() {
if (null != viewScope.get("rowId")) {
var _db: NotesDatabase = session.getDatabase(datasources["server"], datasources["database"]);
var doc: NotesDocument = _db.getDocumentByUNID(viewScope.get("rowId"));
if (null != doc) {
var agent: NotesAgent = _db.getAgent("ABC");
if (agent != null) {
agent.runWithDocumentContext(doc);
}
}
}
}
但是我可以在行上发错:
agent.runWithDocumentContext(DOC);
如果我包含print语句,我会看到该文档在数据库中找到,并且找到了代理。
我得到的错误信息如下:
[0B5C:000D-127C] 2018-01-22 12:36:48 HTTP JVM:CLFAD0131E:无法推送数据,原因是:执行JavaScript计算表达式时出错。有关更多详细信息,请参阅位于E:/ IBM / Domino / data / domino / workspace / log中的error-log-0.xml [0B5C:000D-127C] 2018-01-22 12:39:36 HTTP JVM:com.ibm.xsp.webapp.FacesServlet $ ExtendedServletException:com.ibm.xsp.FacesExceptionEx:com.ibm.xsp.exception.EvaluationExceptionEx:执行JavaScript计算表达式时出错
答案 0 :(得分:1)
找到了答案: 以Web用户身份运行
注意:基于Domino服务器的代理程序代码必须在“属性”下的“安全”选项卡上选择“以Web用户身份运行”的代理程序中运行。
在这篇文章中:
http://blog.nashcom.de/nashcomblog.nsf/dx/passing-a-document-to-an-agent-without-saving-it-first.htm