gpt4 book ai didi

jax-rs - 为 JAX-RS 2.0 客户端 API 配置代理

转载 作者:行者123 更新时间:2023-12-03 13:58:21 26 4
gpt4 key购买 nike

我有一个在 Java EE 7 应用程序服务器 (WildFly) 上运行的应用程序,它使用 REST 资源查询另一个服务。

在以前的应用程序中,我使用了 Jersey 1.x 客户端 API。通过 Web 代理授予对 REST 服务的访问权限。

在 Jersey ,我创建了 Client像这样的例子:

public Client create() {

Client client;
if ( proxyConfiguration != null && proxyConfiguration.getHost() != null && !proxyConfiguration.getHost().trim().isEmpty() ) {
HttpURLConnectionFactory urlConnectionFactory = new ProxyUrlConnectionFactory( proxyConfiguration );
client = new Client( new URLConnectionClientHandler( urlConnectionFactory ), clientConfig );
} else {
client = Client.create( clientConfig );
}

return client;
}

在 Java EE 7 应用服务器上运行我想使用应用服务器提供的 JAX-RS 2.0 客户端 API。

现在我很难找到有关如何以独立于平台的方式配置 JAX-RS 2.0 客户端的信息。设置 http.proxyHosthttp.proxyPort系统属性在 WildFly 中没有影响(无论如何我宁愿不要全局配置它)。

有谁知道如何解决这个问题?

最佳答案

我认为没有独立于供应商的解决方案(至少,我没有在 JAX-RS API 中找到与代理相关的任何内容)。

对于 Jersey 2.x,您可以尝试:

ClientConfig config = new ClientConfig();
config.property(ClientProperties.PROXY_URI, "192.168.1.254:8080");
Client client = ClientBuilder.withConfig(config).build();

ClientProperties 是来自 Jersey API 的一个类。

对于RESTEasy,配置为:
Client client = new ResteasyClientBuilder()
.defaultProxy("192.168.1.254", 8080, "http")
.build();

ResteasyClientBuilder 是来自 RESTEasy API 的一个类。

关于jax-rs - 为 JAX-RS 2.0 客户端 API 配置代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33872492/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com