我试图在SSJS中使用SessionAsSigner.getDatabase
来访问不同服务器上的数据库。但它总是返回null
。例如,我使用:
var db = sessionAsSigner.getDatabase("canonical name of server","log.nsf", false);
答案 0 :(得分:1)
服务器安全设置可能存在错误。您可以阅读此页面:http://www-01.ibm.com/support/docview.wss?uid=swg21086111
答案 1 :(得分:1)
当您使用sessionAsSigner时,您连接的服务器能够在您登录时验证您的身份。
当您在服务器(A)上运行代码并且需要与另一台服务器(B)通信时,第一台服务器已使用A凭证进行身份验证。它无法像您一样进行身份验证。
要允许它正确运行,您需要将服务器A设置为服务器B上的受信任服务器。
您可以在服务器文档中设置trusted servers。
您可以使用NotesSession.isTrustedSession()
方法以编程方式检查是否已设置此项。
答案 2 :(得分:0)
问题是你的代码是用不同的签名者签名的。 尝试使用您或服务器ID重新签名数据库。
这可能会解决您的问题。
答案 3 :(得分:0)
您正在使用的服务器需要具有访问权限以及要访问的服务器的连接文档。因此,首先要做的是:检查服务器文档中的“谁可以访问此服务器”字段中是否列出了您的服务器。然后检查可信服务器部分。然后检查日志的ACL(您的执行服务器和XPage签名者需要访问log.nsf)