我試圖在SSJS中使用SessionAsSigner.getDatabase
來訪問不同服務器上的數據庫。但它總是返回null
。例如我使用:sessionAsSigner.getDatabase返回null
var db = sessionAsSigner.getDatabase("canonical name of server","log.nsf", false);
我試圖在SSJS中使用SessionAsSigner.getDatabase
來訪問不同服務器上的數據庫。但它總是返回null
。例如我使用:sessionAsSigner.getDatabase返回null
var db = sessionAsSigner.getDatabase("canonical name of server","log.nsf", false);
服務器安全設置中可能有錯誤。你可以閱讀本頁:http://www-01.ibm.com/support/docview.wss?uid=swg21086111
問題是你的代碼是用不同的簽名者簽名的。 嘗試使用您的服務器ID或數據庫辭職。
這可能會解決您的問題。
不知道這個,在這種情況下,getSessionAsSigner返回null,所以上面的代碼將失敗,並帶有NullPointerException。 –
當您使用sessionAsSigner你正在連接的服務器能夠驗證你是誰,當你登錄。
當你的服務器(A)上運行的代碼,你需要跟到另一臺服務器( B),那麼第一臺服務器使用A憑證進行認證。它無法像您一樣進行身份驗證。
要允許它正確,您需要設置一個服務器作爲服務器B上的受信任的服務器
您可以在服務器文檔中設置trusted servers運行。
您可以通過編程方式檢查是否使用NotesSession.isTrustedSession()
方法進行設置。
您正在使用的服務器需要訪問並連接到您要訪問的服務器的文檔。所以首先要做的是:檢查服務器文檔中的「誰可以訪問此服務器」字段中列出了您的服務器。然後檢查可信服務器部分。然後檢查日誌的ACL(您的執行服務器和XPage簽名者需要訪問log.nsf)
目標服務器是否將您的XPage運行的服務器列爲Domino目錄中的「受信任的服務器」? –