当脚本库包含在代理程序中时,xpage调用Java代理程序失败

时间:2014-12-19 11:14:57

标签: java xpages

我遇到了一个奇怪的问题,功能在所有其他安装上运行良好,但不适用于某个特定客户端。

"功能"涉及一个xpage,其中包含在beforerenderrespons中的代码,用于获取上传的文件,获取文件名等并创建上下文文档。然后将上下文文档作为参数传递给处理文件的java代理。

java代理设置为以Web用户身份运行,并具有允许受限操作。正如我所说 - 它适用于其他客户端的所有安装,但在一次安装时突然失败。

我从beforerenderrespons事件中获得的唯一错误消息是"错误:调用方法时发生异常NotesAgent.runWithDocumentContext(lotus.domino.local.Document)null"。 我已经确认找到了代理但它永远不会被调用。我还确认了上下文文档也存在。 服务器控制台说nada。

我已尝试使用不同的运行方法调用代理,如agent.run(),但它没有什么区别。

现在到了奇怪的东西 - 如果我调用一个不包含脚本库的java代理就可以了!但是只要我向代理添加脚本库,我就会收到上面的错误。

为什么?任何帮助或线索赞赏。感觉就像我错过了某处的安全设置。 服务器doc包括代理签名者"签署代理人代表其他人运行","签署或运行不受限制的方法和操作"和#34;签署或运行受限制的LotusScript / Java代理"

编辑: 使用" pass-thru"进行测试调用包含脚本库的原始java代理的代理程序! pass-thru代理不包含任何脚本库,只是调用我的java代理并传递上下文文档。

即便如此 - 我仍然想知道如果它包含脚本库,为什么调用java代理程序会失败。

/卡塔琳娜托

2 个答案:

答案 0 :(得分:0)

一种可能性是服务器版本。这可以解释为什么它适用于某些装置,而不是另一装置。 runWithDocumentContext()仅在8.5.2 http://blog.nashcom.de/nashcomblog.nsf/dx/passing-a-document-to-an-agent-without-saving-it-first.htm

中添加

答案 1 :(得分:0)

由于您的代理程序仍然是Java,因此可以省去启动新的类加载器和jvm环境的麻烦。将代码移动到jar中并直接从XPage中调用它。 我无法想出使用代理的充分理由(因为在这种情况下,这不是一个很好的理由)