如何通过 LS2J 从 Domino 中的 Java 脚本库中的 AgentBase 访问 PrintWriter

问题描述 投票:0回答:1

我有一个在 LotusScript 中运行的 Web 代理,但它需要通过 LS2J 调用 java 方法。目的是打印一些内容,为此我需要访问打印人员。文档指出我使用

getAgentOutput()
但这会引发空指针异常。课程结构如下:

import java.io.PrintWriter;
import lotus.domino.*;

public class WebPrinter extends AgentBase {
    public boolean printFile(String fileName) {
        try {
            PrintWriter pw = getAgentOutput();  <--- error here
            ...
            
        } catch(Exception e) {
            ...
        }
    }

调用它的lotusscript如下:

Use "JavaWebCode"
Dim jSession As New JavaSession
Dim jClass As JavaClass
Dim jObject As JavaObject

Set jClass = jSession.Getclass("com.test.WebPrinter")
Set jObject = jClass.Createobject()

result = jObject.printFile(fileName)
...

错误是:

java.lang.NullPointerException 位于 Lotus.domino.AgentBase.getAgentOutput(来源未知)

如何在 Java 代理之外访问 PrintWriter?如果可以的话,我真的不想将 LotusScript 代理重构为 Java。

谢谢大家。

java lotus-domino
1个回答
0
投票

LotusScript 代理无法通过 LS2J 使用 AgentBase。它仅在服务器启动 Java 代理时实例化。

© www.soinside.com 2019 - 2024. All rights reserved.