我需要从LotusScript调用一个基于HTTPS的服务。
在此之前,我使用过:
Set http = CreateObject("Msxml2.ServerXMLHTTP.3.0")但是现在我们已经将应用程序移到了Linux上的Domino服务器上。
我第一次尝试替换这段代码,是通过调用curl来调用shell函数。它可以工作,但shell函数总是返回一个整数,因此响应将作为临时文件传输回LotusScript。卷曲解决方案相当慢。大约2秒的响应时间太长。MsXml解决方案在170毫秒内响应!
然后,为了摆脱临时文件,我尝试使用libcurl,但它需要一个回调方法来接收响应。据我所知,LotusScript无法将回调方法传递给本机方法。
下一次尝试是使用LS2J发出来自Java的HTTP请求。它可以工作,但响应时间超过6秒,对我们的应用程序没有用处。
如何从性能下降的Linux上的LotusScript调用外部API?
@IBM:我们可以在LotusScript中有一个HTTP client和一个JSON解析器吗?
发布于 2017-12-30 11:32:31
LotusScript可以declare和调用外部C库中的函数,我想您在尝试使用libcurl时已经知道了这一点。您可以做的是编写自己的C库,它充当libcurl的前端。您的C代码将必须提供回调,并等待它处理结果,以便您可以将其传递回您的LotusScript。
发布于 2017-12-30 20:25:48
我建议摆脱LS,在Java中做你需要做的事情。在Java中,您有用于http的本地库。或者,您可以在使用JNA时使用C的回调
https://stackoverflow.com/questions/48023922
复制相似问题