java - 从 Lotus 脚本 (LS2J) 调用 Java 类的方法

标签 java lotus-notes lotusscript ls2j

最有尊严的开发者,

我在从 Lotus 脚本代理调用我自己的 Java 类的方法时遇到问题。

我的 Java 类简化后看起来像这样

import lotus.domino.*;

public class MyClass{
   /* .. omitted constructor and other methods .. */

   public void myMethod(Document doc){
      /* ... do things with the document object ...*/
   }

}

现在这个类包含在正确的 use 语句中,我可以在 Lotus 脚本中迭代类对象的类方法以获得所需参数的签名。

但是当我尝试调用该方法时,我得到一个 LS2J: Parameter mismatch calling Method myMethod

我已经尝试在 JavaObject 上使用点符号(不,我没有使用 Mac ;))和 ADT

Dim doc as NotesDocument
Dim jSession As JavaSession
Dim jClass As JavaClass
Dim jObject As JavaObject

...

Set jSession = New JavaSession()
Set jClass = jSession.Getclass("MyClass")

Set jObject = jClass.Createobject()
Call jObject.myMethod(doc)

分别

Dim jMethod as JavaMethod
...

Set jMethod = jClass.Getmethod("myMethod", "(Llotus/domino/Document;)V")
tmp = jMethod.Invoke(jObject,doc)

我还添加了错误处理 (OnError ..) 以打印出任何 JavaError (+ stacktrace) 的结果,但它们最终为空,因此没有进一步的线索。

我使用的是 Designer 9.0 版

有什么想法/建议/陷阱吗?它让我秃头。

最佳答案

您正在使用正确的方法来调用您的 Java 方法,但您不能将 Notes 后端对象作为参数传递。

例如,您可以使用文档通用 ID 解析字符串,然后在您的 Java 方法中使用通用 ID 查找文档。

或者,将您的 Lotusscript 逻辑迁移到 Java :-)

关于java - 从 Lotus 脚本 (LS2J) 调用 Java 类的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23912808/

相关文章:

java - 连接到 Notes 中的 LDAP 服务器的 SSLHandshakeException

lotus-notes - Lotus Notes - 将电子邮件导出到纯文本文件

lotus-notes - 我可以在通过目录服务定义的辅助 Domino 目录上使用 NotesDirectory.LookupNames 吗?

java - 从java在远程linux机器上运行进程(命令)

java - 将指数字符串值转换为 double - Java

java - 有人成功使用 LotusScript 中的 ODF "Simple API"生成文档吗?

java - 在 Lotusscript 中,如何通过按钮通过电子邮件发送表单并包含所有表单数据?

lotus-notes - 根据字段值查找 Lotus Notes 文档

java - 一次使用 google guava 和 google collections 时出现异常

java - Scala 的 java char[] 等价物是什么?