我有一台正在尝试对外部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。