解决xpage调用LotusScript代理报“cannot find external name:”的错误

前两天在使用xpage调用原来在web端能正常运行的代理的时候,代理报了这个错误,花了我两天的时间终于搞定了这个问题,这期间真的是要抓狂了,尝试了各种解决办法,替换设计,新建代理,改变调用方式等等,最终还是靠读代码解决了这个问题。

funchghtspinfoifbb这个方法是定义在一个ScriptLib里面的,这个scriptlib封装了使用ls调用Java代理的各种方法,但是这个scriptlib里面并没有预先引用 

Uselsx "*javacon"

 尽管没有引用这个扩展,web端流转还是正常调用的,我查阅了帮助文档,如下:

To use LS2J from within Notes®, your LotusScript® code must include this line:

Uselsx "*javacon"

This loads the LS2J Dynamic Link Library (DLL) on Win32 and registers all the Application Data Types (ADTs). LotusScript provides a JavaSession ADT to be used as an instance to connect with the JVM.

大概意思就是,想使用ls调用java方法,必须引用javacon,但是如果在notes.ini文件中进行过配置了,不引用也可以使用。

解决xpage报错的方法就是使用Uselsx "*javacon"将Java链接的动态库加载进来就可以了。

对于出现这种问题的原因,我的猜想是,xpage在使用时可能是使用jvm进行的编译,因此没有引用“javacon”的时候,导致使用Java类的ls方法没有被编译进去导致的。

如果有更了解的人看到这篇文章,请帮忙指正错误,在此,先谢过了!

猜你喜欢

转载自blog.csdn.net/u012159933/article/details/82215763