如何让 JAX RS 2 客户端从 Domino 脚本库工作?
How to get JAX RS 2 client working from Domino script library?
我需要从 LotusScript 代理调用 REST API。我正在使用 LS2J,所以我在脚本库中有 Java 代码。
我首先尝试使用 Jersey 2。首先是最新版本,然后是一些较旧的 Jersey 2 版本,并且总是遇到一个异常,该异常在不同版本中有所不同,但主要是 ExceptionInInitializerError
。我首先在 Exclipse 中使用 Maven 解决了依赖关系,这样我就可以导入所有需要的 jar 文件。
然后我决定尝试使用 Apache CXF。我从我的 pom 开始:
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-rs-client</artifactId>
<version>3.2.7</version>
</dependency>
并将所有已解析的 JAR 从 Maven 存储库导入 Domino 脚本库:
代码编译正常,但在运行时我得到这个:
java.lang.ClassNotFoundException: org.glassfish.jersey.client.JerseyClientBuilder
代码中与 JAX RS 相关的导入是这些:
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.core.GenericType;
import javax.ws.rs.core.MediaType;
任何地方都没有提到泽西岛。在我的理解中,这意味着它没有找到 CXF ClientBuilder
实现并且异常显示默认实现。
我让 REST 客户端与 Jersey 1 一起工作,但我讨厌使用陈旧的解决方案。
有什么想法吗?
Domino Designer 和服务器版本是 10。
我从脚本库中删除了除 javax.ws.rs-api-2.1.1.jar
之外的所有 jar,并将所有这些 jar 添加到 domino 安装下的 /jvm/lib/ext。然后就开始工作了。
对于 JSON 处理,我使用 Jackson 并以这种方式注册提供商:
client.register(new JacksonJsonProvider())
我只在脚本库中添加了 Jackson jars:
我需要从 LotusScript 代理调用 REST API。我正在使用 LS2J,所以我在脚本库中有 Java 代码。
我首先尝试使用 Jersey 2。首先是最新版本,然后是一些较旧的 Jersey 2 版本,并且总是遇到一个异常,该异常在不同版本中有所不同,但主要是 ExceptionInInitializerError
。我首先在 Exclipse 中使用 Maven 解决了依赖关系,这样我就可以导入所有需要的 jar 文件。
然后我决定尝试使用 Apache CXF。我从我的 pom 开始:
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-rs-client</artifactId>
<version>3.2.7</version>
</dependency>
并将所有已解析的 JAR 从 Maven 存储库导入 Domino 脚本库:
代码编译正常,但在运行时我得到这个:
java.lang.ClassNotFoundException: org.glassfish.jersey.client.JerseyClientBuilder
代码中与 JAX RS 相关的导入是这些:
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.core.GenericType;
import javax.ws.rs.core.MediaType;
任何地方都没有提到泽西岛。在我的理解中,这意味着它没有找到 CXF ClientBuilder
实现并且异常显示默认实现。
我让 REST 客户端与 Jersey 1 一起工作,但我讨厌使用陈旧的解决方案。
有什么想法吗?
Domino Designer 和服务器版本是 10。
我从脚本库中删除了除 javax.ws.rs-api-2.1.1.jar
之外的所有 jar,并将所有这些 jar 添加到 domino 安装下的 /jvm/lib/ext。然后就开始工作了。
对于 JSON 处理,我使用 Jackson 并以这种方式注册提供商:
client.register(new JacksonJsonProvider())
我只在脚本库中添加了 Jackson jars: