【问题标题】:How to redirect a javax.ws.rs.client.WebTarget Post request via a Proxy如何通过代理重定向 javax.ws.rs.client.WebTarget Post 请求
【发布时间】:2018-12-19 13:00:40
【问题描述】:

我有一台服务器正在尝试对外部 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 与之前关于代理调用的 Q 相同,尽管对那个 Q 的回答还不够——我在此处向 cmets 添加了一条关于添加获取'via' 调用已实例化。

这里提到的解决方案是按照以下方式创建配置:

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

使用泽西岛 2.27。

【问题讨论】:

  • @locus2k - 可能是 :) 让我看看这个解决方案是否能解决它。
  • 好的,所以解决方案最终相似。但是,使用默认的 ConnectorProvider 不起作用 - 我最终得到了这样的客户端配置: ClientConfig config = new ClientConfig() .connectorProvider(new ApacheConnectorProvider()) .property(ClientProperties.PROXY_URI, "PROXY_ADDRESS:PROXY_PORT"); 没有 Apache连接器无法“通过”(通过查看球衣记录,如果我使用默认值,则没有记录“通过”)。

标签: java rest post javax.ws.rs


【解决方案1】:

答案是按照

Proxy setting not working in Jersey ClientConfig

我已将所需的代码段添加到原始问题的末尾。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-02
    • 1970-01-01
    • 2011-11-12
    • 2022-08-03
    • 2012-12-02
    • 2016-06-30
    • 2022-01-01
    相关资源
    最近更新 更多