当前位置: 代码迷 >> Lotus >> lotus跨库调用代理有关问题
  详细解决方案

lotus跨库调用代理有关问题

热度:451   发布时间:2016-05-05 06:42:43.0
lotus跨库调用代理问题
代理A(在库M中)调用代理B(在库N中)(M,N是在不同服务器上),A传了一个文档的id给B,在B里怎么获取到文档
------解决思路----------------------
单独传一个文档有些困难,对于跨域的两台服务器,只要文档表单相同,可以生成XDL传到另一台服务器,将文本导入新生成文档中即可,但问题是ID肯定不同。

 如果是在同一域中,最简单可实现的办法是在Domino的nsf数据库间做复制,没有必要一定要通过代码获取。
------解决思路----------------------
其实最简单的思路是A调用B代理时,创建一个中间文档,里面保存A的数据库路径、文档UNID,B代理执行时,通过这个临时文档即可获取到A代理所在的数据库、UNID。这样:
set dbA = ss.getdatabase(serverA,dbpathA)
set docA = dbA.getdocumentbyunid(docUNIDA)
------解决思路----------------------
A库代理
Dim Agent As NotesAgent
Set db = s.Getdatabase(B库服务器名, B库路径)
If db.IsOpen Then
Set Agent = db.GetAgent(B库代理)
Call Agent.RunOnServer(doc.NoteID)
End If
B库代理
Dim agent As NotesAgent
Set agent = session.CurrentAgent
Set db= session.GetDatabase(A库服务器名, A库路径)
Set doc = db.GetDocumentByID(agent.ParameterDocID)
你可以试试。
  相关解决方案