Nicolas Sprauel created CXF-5836:
------------------------------------
Summary: NullPointerException in AsyncHTTPConduit if
http.noProxyHosts set
Key: CXF-5836
URL: https://issues.apache.org/jira/browse/CXF-5836
Project: CXF
Issue Type: Bug
Components: Transports
Affects Versions: 2.7.11, 2.7.10, 2.7.9, 2.7.8, 2.7.7, 2.7.6
Environment: Windows or Linux
Reporter: Nicolas Sprauel
Priority: Critical
This issue occurs when using the asynchronous conduit (use.async.http.conduit
set to true), AND with the environment proxy configuration set (http.proxyHost,
http.proxyPort, and http.nonProxyHosts properties set).
The end of the AsyncHTTPConduit.setupConnection() method calls:
<code>
Proxy p = proxyFactory.createProxy(csPolicy , uri);
if (p != null) {
</code>
When the http.nonProxyHosts property matches the target server host, then the
ProxyFactory.createProxy() method returns Proxy.NO_PROXY, and not null. This
means that because p is not null, the next 2 lines are executed:
<code>
InetSocketAddress isa = (InetSocketAddress)p.address();
HttpHost proxy = new HttpHost(isa.getHostName(), isa.getPort());
</code>
p.address() returns null as expected, which means that the next line (line 200
in release 2.7.6) causes a NullPointerException, and crashes the call.
The fix would be simple, by replacing:
<code>
if (p != null) {
</code>
with
<code>
if (p != null && !p.type() == Proxy.Type.DIRECT) {
</code>
--
This message was sent by Atlassian JIRA
(v6.2#6252)