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