- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我工作的公司创建了一种软件,可以对各种源进行爬网和索引以用于搜索,在这种情况下,我们完全陷入尝试通过 SSL 连接到 Lotus Notes 的困境。这是一个典型的“在开发中有效,但在生产中失败”的案例。
我们是开发人员和技术人员,而不是 Lotus Notes 专家,这一事实使问题变得更加复杂。
基本上,我们有一个 Java 软件可以连接到 Lotus,使用以下命令获取 DIIOP IOR 文本文件:
String ior = NotesFactory.getIOR(host, userIOR, pwdIOR);
现在,这是一个非 SSL 连接,需要用户名和密码才能连接。这每次都很完美。
然后我们尝试使用以下命令创建 session :
session = NotesFactory.createSessionWithIOR(ior, args, this.user, this.pwd);
哪里:
args[0] = "-ORBEnableSSLSecurity";
连接时我们始终收到此堆栈跟踪:
NotesException: Session closed due to communications failure
at lotus.domino.cso.ORBCallback.make_error(Unknown Source)
at lotus.priv.CORBA.iiop.Generic.make_error(Unknown Source)
at lotus.priv.CORBA.portable.ObjectImpl._invoke(Unknown Source)
at lotus.domino.corba._IObjectServerStub.createSession(Unknown Source)
at lotus.domino.cso.Session.initSession(Unknown Source)
at lotus.domino.cso.Session.<init>(Unknown Source)
at lotus.domino.cso.Session.createSession(Unknown Source)
at lotus.domino.NotesFactory.createSessionUP(Unknown Source)
at lotus.domino.NotesFactory.createSessionWithIOR(Unknown Source)
[ ... ]
Caused by: org.omg.CORBA.COMM_FAILURE: java.net.SocketException: Connection reset: Connection closed: Host: <redacted> Port: 63149 vmcid: 0x0 minor code: 1 completed: Maybe
at lotus.priv.CORBA.iiop.IIOPConnection.purge_calls(Unknown Source)
at lotus.priv.CORBA.iiop.ReaderThread.run(Unknown Source)
Caused by: java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:154)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at lotus.priv.CORBA.iiop.Message.readFully(Unknown Source)
at lotus.priv.CORBA.iiop.Message.createFromStream(Unknown Source)
at lotus.priv.CORBA.iiop.IIOPInputStream.prefill(Unknown Source)
at lotus.priv.CORBA.iiop.IIOPConnection.createInputStream(Unknown Source)
... 1 more
我知道最常见的原因是因为我们没有正确导入 TrustedCerts.class 文件,但是经过双重和三重检查后,它在类路径中就很好了(事实上它在开发环境中工作)我们'确信它已被加载。
我们知道,如果禁用 SSL(也称为删除上述参数),我们的代码将连接到非 SSL DIIOP 端口 63148 并且工作正常,但项目要求所有数据都必须通过 SSL 传递。
这最终让我想到了我的实际问题:我们如何让 Lotus 报告此连接失败的原因?
我尝试将 DIIOP 日志级别提高到 4,这显然应该显示所有传输,但当我尝试连接时,日志没有显示任何内容。另外值得注意的是 DIIOP 服务肯定正在运行并且也在正确的端口上。
我还检查了我们是否通过防火墙到达远程机器,并且 RedHat 计算机上的 TCPDUMP 清楚地表明我们在远程 Lotus Notes 主机响应关闭连接之前建立了连接。
[Pertinent Information]
Application: Java
Library: NCSO.jar
Lotus Version: Domino 8.5.3 FP6
Lotus Server: Windows Server 2008 Standard
Ports: 63148 (non-SSL), and 63149 (SSL)
最佳答案
好吧,答案很明确,但不是我正在积极寻找的东西。
这不起作用的原因是第三方证书不是 SHA-1 证书,并且 Lotus Notes 8.5.x 仅支持 SHA-1 ( as per this documentation )。
所以基本上他们的证书永远不能以编程方式或其他方式用于 SSL 身份验证。
关于java - 无法连接到 SSL 端口 63149 上的 Lotus Notes DIIOP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39196620/
我已经创建了一个扩展库组件,但我的 XPage 扩展库正在我的本地 Notes 浏览器上运行。如果我在notes 中运行我的XPage,它运行良好。 当我在浏览器中运行它时,出现以下错误: Canno
我正在学习 React 教程,作者有一些代码如下: 但是,如果您只是这样做,同样的代码也可以工作:
我使用一个简单的 Action 代理创建了一个自动回复代理,它当前响应所有发件人,我只想将回复发送给一组特定的发件人。 这是我想要实现的一个例子: 我有一个 Lotus Notes 邮件数据库,电子邮
我有一个要求,其中有一个带有附件的文档,当我点击一个按钮时,它会打开一个新表单。此表单必须在富文本字段中包含该附件。我在打开的新表单的 PostOpen 事件中编写了以下代码 Set item
我在 Windows 7 上使用 Lotus Notes 8.5.2。我想创建一个自定义 View 来显示除已发送邮件之外的所有电子邮件。换句话说,它包含:收件箱和所有文件夹。 目前我的 ALL DO
我正在设置一个 Lotus Notes 帐户来接受来自客户端的电子邮件,并自动将每封电子邮件保存为纯文本文件以供其他应用程序处理。 因此,我正在尝试在 Lotus 中创建我的第一个代理,以自动将电子邮
有没有不用付费软件就可以解锁 Lotus Notes 数据库设计的方法? 锁定数据库的人离开了公司,我们没有此应用程序的任何模板。因此,只有通过解锁此数据库才能开始进一步开发此数据库。 最佳答案 您是
我正在用 Lotus Notes 6.0.3(即将升级到 8.5)设计一个工作流数据库,我的操作系统是 Windows XP。 我最近尝试将选项卡式表格转换为可编程表格。这样我就可以控制在打开时向用户
我尝试在 Lotus Notes 中构建高级表单。某些字段应根据其他字段的状态隐藏。 我可以通过定义一个公式来隐藏一个字段。但问题是我必须首先保存文档,关闭它然后重新打开它才能看到字段被隐藏。 当我更
我在服务器 1 中有一个数据库,它引用服务器 2 中的多个数据库用于记录验证目的。当计划的代理运行时,它遇到“对象变量未设置”错误。但是,当我尝试手动运行代理(右键单击代理名称,单击运行)时,它运行顺
在 Lotus Notes 数据库上启用源代码控制很容易 - 这将维护数据库中所有设计元素的磁盘副本。但是,是否也可以包含文档?在我们的设计中,我们在数据库中的 Lotus Notes 文档中存储了大
我想以编程方式解密 Lotus Notes NSF 文件。假设对于每个 NSF,我都有访问 NSF 所需的 ID 文件和密码。 我使用的是 Lotus Notes 8.5.2,Windows 7 SP
我正在使用 Lotus Notes 数据库,我们整个公司都将其客户数据添加到其中。搜索功能应该为我提供客户,当我单击它时,我会获得日常工作所需的更详细信息。 但是,我必须搜索这个数据库,它在显示数据方
我的要求是收集 Lotus Notes 文档,对于给定的一组搜索词,这些文档包含: 所有这些条款, 这些条款中的任何一个 或没有这些条款。 我正在使用 Database.FTsearch(...)方法
我试图在我们的网站上设置 mailto。 我写了如下代码 mail us 当有人按下“向我们发送邮件”链接时,在 Lotus Notes 中,文本会直接出现在电子邮件地址所在的位置。 mail.us.
莲花 8.5.3 我需要做的是启动外部流程以响应符合特定条件的传入电子邮件。 规则无法做到这一点。很公平,看起来代理可以。 好的,所以设置一个带有代理的 LotusScript 来做我需要的,用运行测
在我的 Lotus Notes 代理中,我使用新表单临时创建了一些文档(表单中有一个富文本字段),在代码的末尾,我有“Call TempDoc.Remove(True)”,当程序执行这行代码,出现错误
我正在编写向用户发送邮件的代码。邮件文本包含日期。虽然日期计算正确,但日期仍以英语显示,即使所有用户都使用德语 Windows 操作系统并且在 Notes 首选项中将德语设置为他们的语言。这是我的代码
我们正在服务台团队中与 Lotus Notes 合作,了解我们回复消息需要多长时间会很有用。有什么办法可以实现这一点吗? 最佳答案 建议方法的问题在于,它们仅测量某人开始撰写响应之前的时间,而不是发送
我们正在服务台团队中与 Lotus Notes 合作,了解我们回复消息需要多长时间会很有用。有什么办法可以实现这一点吗? 最佳答案 建议方法的问题在于,它们仅测量某人开始撰写响应之前的时间,而不是发送
我是一名优秀的程序员,十分优秀!