如何使Axis 2 Proxy属性识别转发代理服务器的HTTPS

时间:2016-05-14 06:02:54

标签: axis2 apache-commons-httpclient

我们正在使用Axis 2框架来使用我们需要通过转发代理服务器路由呼叫的外部服务。我使用下面的代码在实验室中证明它,但似乎在实际的代理服务器上(https://....。)我似乎没有办法与内部使用CommonsHttpTransportSender的Axis 2(ServiceClient)进行交互它理解传递的主机名将与HTTPS方案一起使用。

使用CommonHttpTransportSender是否有更简单的方法来实现这一目标?

Options o = s._getServiceClient().getOptions();
HttpTransportProperties.ProxyProperties proxyProperties = new HttpTransportProperties.ProxyProperties();
proxyProperties.setProxyName(config.getForwardProxyServer());
proxyProperties.setProxyPort(config.getForwardProxyPort());
o.setProperty(HTTPConstants.PROXY, proxyProperties);

Options o = s._getServiceClient().getOptions(); HttpTransportProperties.ProxyProperties proxyProperties = new HttpTransportProperties.ProxyProperties(); proxyProperties.setProxyName(config.getForwardProxyServer()); proxyProperties.setProxyPort(config.getForwardProxyPort()); o.setProperty(HTTPConstants.PROXY, proxyProperties);

1 个答案:

答案 0 :(得分:0)

在阅读用于Web代理隧道的RFC之后,我意识到需求本身是错误的,正向代理通常会监听HTTP协议并简单地促进客户端和服务器之间的隧道,如果代理必须充当监听HTTPS,那么对于反向代理而言,更多的情况是不适用于HTTP代理,如上述最初提出的问题!

CommonsHttpTransportSender在内部使用Commons HTTP Client 3.1,它根据RFC使用HTTP代理。