1

我见过这样的代码块

use Win32::OLE; 
my $Notes = Win32::OLE->new('Notes.NotesSession') 
    or die "Cannot start Lotus Notes Session object.\n"; 
my $database = $Notes->GetDatabase("",'mail\VIMM.nsf'); 

但是我的脚本在虚拟 webfusion apache 服务上运行,所以你如何在我的 domino 服务器上建立与数据库的连接,我可以控制它的 acl 和它的网站,所以可以传入用户名和密码。脚本和“POST”数据由第三方网关发送,其中包含我需要捕获的事务结果(成功/失败 + 名称值对等)。我不能直接在 domino 服务器上执行此操作,因为尽管 Domino 支持 PERL 脚本,但它们只有在服务器上也安装了 PERL 时才能工作,这不是一个选项。

4

5 回答 5

0

Lotus Domino 也是一个 Web 应用程序服务器,因此您可以使用来自 Apache 服务器上的 perl 脚本的 HTTP(GET 和 POST)与服务器通信。

这可能需要更改相关的 Domino 应用程序,以便它提供您期望的内容。

于 2012-06-06T12:53:11.067 回答
0

此外,您可以在 Domino 服务器上提供 WebService。

于 2012-06-06T16:16:04.217 回答
0

要使 OLE/COM 工作,Perl 和脚本必须位于安装了 Notes 和/或 Domino 的服务器上。否则,OLE/COM 类未安装且不可用。

正如 Per 和 Klaus 所提到的,如果您不能将 Notes/Domino 放在装有 Perl 的机器上,那么您必须切换到某种基于 Web 的通信。

于 2012-06-20T08:51:24.003 回答
0

如果您不限于 COM/OLE,您可以使用IBM Lotus Domino Data Service,它是 Domino Designer 8.5.3 升级包 1 中的新功能:

IBM® Lotus® Domino® Data Service 是一个 REST API,用于访问 Domino 服务器上的数据库。它是 Domino 访问服务的一部分。

Domino 数据服务使用带有 JSON 格式正文内容的 HTTP 和 HTTPS 协议接收请求并发送响应。

Domino 数据服务允许您获取有关数据库、视图、文件夹和文档的信息。您可以更新、添加和删除文档。

于 2012-06-25T13:47:01.117 回答
0

根本问题是诸如http://www.mysite.com/thankyou?orderno=123这样的 URL在 Lotus Domino 网站中不起作用,因为 ? 是 Domino Web 引擎的特殊字符(例如 ?openagent、?opendatabase)。你也不能使用http://www.mysite.com/(thankyou)?openagent?orderno=456(我试过),在这两种情况下你得到的都是 404 page not found 错误和一个多米诺日志错误“don'不了解网址”。这个问题最初是寻求 Perl 的帮助来解决问题,但我无法在我的 webfusion 社区服务器上运行 Perl 脚本,但幸运的是,这个简单的 php 脚本很快就成功了:

<?php
    $params = "";
    $url = "http://www.mywebsite.co.uk/";
    $path = "wpx/website.nsf/httpagent?openagent";
      if($_GET) {
    $kv = array();
          foreach ($_GET as $key => $value) {
              $kv[] = "$key=$value";
          }
          $params = join("&", $kv);
}
print "<script>window.location.href=\"" . $url . $path . "&" . $params . "\"</script>";
?>

该脚本放置在我的 webfusion 服务器上的子域下,该子域有效地将 url 转换为 Domino 可以处理的格式,格式 ?openagent&orderno=456 很容易由 java 或 Lotusscript 代理处理,参数是从 CGI Request_Content 字段中提取的.

重定向意味着我现在不需要直接操作 domino 数据库中的数据,这也意味着除了 url 翻译脚本之外,所有网站代码都在 domino 数据库中。

于 2012-06-26T21:01:22.600 回答