我有一台服务器正在尝试对外部 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 相同,尽管对那个问题的回答还不够——我在这里的评论中添加了一条关于添加获取“通过”所需的 ApacheConnectorProvider 的注释调用实例化。
如上所述的解决方案是按照以下方式创建配置:
ClientConfig config = new ClientConfig().connectorProvider(new ApacheConnectorProvider()) .property(ClientProperties.PROXY_URI, "http://PROXY_ADDRESS:PROXY_PORT");
使用泽西岛 2.27。