前两天在使用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方法没有被编译进去导致的。
如果有更了解的人看到这篇文章,请帮忙指正错误,在此,先谢过了!