如何通过代理重定向javax.ws.rs.client.WebTarget Post请求

时间:2018-12-19 13:00:40

标签: java rest post javax.ws.rs

我有一台正在尝试对外部IP进行POST呼叫的服务器,不幸的是,如果我直接进行呼叫,则它被内部防火墙阻止。

但是我们确实有一个允许出站http流量的代理,如果我首先通过该代理重定向POST调用,那么它应该会成功。

进行呼叫的客户端正在使用javax.ws.rs.client.WebTarget对象以呼叫格式创建/定向POST:

WebTarget.path("URL_HERE").request().post(ENTITY_HERE).readEntity(RETURN_TYPE_HERE.class);

但是,我看不到javax ws文档中通过代理(例如,通过host = proxy_domain和port = 1)重定向此调用的方法。

第二,有没有办法确定代理重定向的范围?例如,我可以在网上看到一些类似的文档,有关为全局设置更新wsdl-但我只希望在单个POST调用中能做到这一点。

编辑:此Q与关于代理调用的较早版本相同,尽管对该问题的答案并不足够-我在此处的注释中添加了一条注释,该注释中需要添加ApacheConnectorProvider。实例化了“ via”调用。

那里提到的解决方案是按照以下步骤创建配置:

ClientConfig config = new ClientConfig().connectorProvider(new ApacheConnectorProvider()) .property(ClientProperties.PROXY_URI, "http://PROXY_ADDRESS:PROXY_PORT");

使用Jersey 2.27。

1 个答案:

答案 0 :(得分:0)

答案符合

Proxy setting not working in Jersey ClientConfig

我已经在原始问题的末尾添加了所需的代码段。