Lotus Domino Designer:AJAX或其他一些打开URL以检索数据的方法

时间:2011-11-03 09:55:10

标签: ajax lotus-notes lotus-domino lotus

关注Lotus Domino Designer: Add a button in the default calendar

该链接实际上是一个SSO链接(单点登录),由我们的API提供,用于将用户连接到我们的应用程序。

我们必须执行网址http://foo.com/api.asp?cas=GETUSERTOKEN&rdn=9428521&login=mike&logincnx=adminAPIHays&pwdcnx=app

返回连接用户的有时间限制的SSO链接http://foo.com/hays/array.asp?key=750EA68A476C9F8D26F9704B203205FDF64D2B849B688F169B398D217FFF570F54C1CB6B4635A494E504E624EDF3266D0D5C2A1210AA43EE3CD2098AE8B42DBF

通过什么方式我可以在Domino Designer中对其进行编程?

如果有必要,我们可以将按钮放在新的东西中(实际上不一定在默认日历中)。

2 个答案:

答案 0 :(得分:2)

因为您想从初始URL请求获取另一个URL,所以您需要使用java代理打开URL连接,并处理响应以确定。最好的方法是使用J2SE URLConnection类。进入Java代理后,您可以捕获响应并将其存储在Documents中。

如果在收到响应后需要在UI中执行某些操作,则需要从视图操作或表单按钮中从LotusScript函数中调用Java代理。但是,如果不需要,您还可以直接在视图操作和表单按钮中调用Java代理。除了Java调试控制台之外,Java代理没有UI输出。在多米诺圈子里,Bob Balaban是一位大师,最近开始修改他的Java in Domino着作。它可以很好地了解它如何与Domino API“挂在一起”。

互联网上有很多关于在Domino中使用Java的例子。 IBM已发布有关Java Agents in Domino的信息。可以找到一些好的示例hereherehere。最新版本的Domino Designer在Eclipse下运行,因此可能是help到。

答案 1 :(得分:0)

我在LotusScript中做到了这一点:

Sub Click(Source As Button)
    Dim objHttp As Variant
    Dim url As String
    Dim response As String

    Set objHttp = CreateObject("Microsoft.XMLHTTP")

    url = "http://foo.com/api.asp?cas=GETUSERTOKEN&rdn=9428521&login=mike&logincnx=adminAPIHays&pwdcnx=app"

    objHttp.open "GET", url, False
    objHttp.setRequestHeader "Content-type", "application/x-www-form-urlencoded"

    objHttp.send

    newUrl = objHttp.responseText

    Set w = New NotesUIWorkspace
    w.UrlOpen newUrl
End Sub