Carlos created HTTPASYNC-164:
--------------------------------
Summary: ParseException: Invalid protocol version when using proxy
settings
Key: HTTPASYNC-164
URL: https://issues.apache.org/jira/browse/HTTPASYNC-164
Project: HttpComponents HttpAsyncClient
Issue Type: Bug
Reporter: Carlos
Hi,
We have upgraded our Apache HTTP Client library from version 4.1.4 to 5.0.3. We
are using the async API. Overall, it's working very good. The reason for the
upgrade is the need of using the new retry feature. However, we have an
endpoint that requires accessing through a proxy. The problem with this one is
that it's returning the following error:
{code:java}
org.apache.hc.core5.http.ParseException: Invalid protocol version; error at
offset 0:
<[0x2e][0x2f][0x30][0x31][0x32][0x33][0x34][0x35][0x36][0x37][0x38][0x39][0x3a][0x3b][0x3c][0x3d][0x3e]>
at
org.apache.hc.core5.http.message.BasicLineParser.parseProtocolVersion(BasicLineParser.java:109)
at
org.apache.hc.core5.http.message.BasicLineParser.parseStatusLine(BasicLineParser.java:180)
at
org.apache.hc.core5.http.impl.nio.DefaultHttpResponseParser.createMessage(DefaultHttpResponseParser.java:83)
at
org.apache.hc.core5.http.impl.nio.DefaultHttpResponseParser.createMessage(DefaultHttpResponseParser.java:44)
at
org.apache.hc.core5.http.impl.nio.AbstractMessageParser.parseHeadLine(AbstractMessageParser.java:115)
at
org.apache.hc.core5.http.impl.nio.AbstractMessageParser.parse(AbstractMessageParser.java:167)
at
org.apache.hc.core5.http.impl.nio.AbstractMessageParser.parse(AbstractMessageParser.java:51)
at
org.apache.hc.core5.http.impl.nio.AbstractHttp1StreamDuplexer.parseMessageHead(AbstractHttp1StreamDuplexer.java:238)
at
org.apache.hc.core5.http.impl.nio.AbstractHttp1StreamDuplexer.onInput(AbstractHttp1StreamDuplexer.java:267)
at
org.apache.hc.core5.http.impl.nio.AbstractHttp1IOEventHandler.inputReady(AbstractHttp1IOEventHandler.java:64)
at
org.apache.hc.core5.http.impl.nio.ClientHttp1IOEventHandler.inputReady(ClientHttp1IOEventHandler.java:39)
at
org.apache.hc.core5.reactor.ssl.SSLIOSession.decryptData(SSLIOSession.java:536)
at
org.apache.hc.core5.reactor.ssl.SSLIOSession.access$400(SSLIOSession.java:71)
at
org.apache.hc.core5.reactor.ssl.SSLIOSession$1.inputReady(SSLIOSession.java:176)
at
org.apache.hc.core5.reactor.InternalDataChannel.onIOEvent(InternalDataChannel.java:124)
at
org.apache.hc.core5.reactor.InternalChannel.handleIOEvent(InternalChannel.java:51)
at
org.apache.hc.core5.reactor.SingleCoreIOReactor.processEvents(SingleCoreIOReactor.java:179)
at
org.apache.hc.core5.reactor.SingleCoreIOReactor.doExecute(SingleCoreIOReactor.java:128)
at
org.apache.hc.core5.reactor.AbstractSingleCoreIOReactor.execute(AbstractSingleCoreIOReactor.java:85)
at
org.apache.hc.core5.reactor.IOReactorWorker.run(IOReactorWorker.java:44)
at java.base/java.lang.Thread.run(Thread.java:834)
{code}
Same invocation with the previous library version was perfectly. We've tried a
few options, but all of them result in the same exception being thrown:
{code:java}
// Option 1
return
HttpAsyncClientBuilder.create().setProxy(HttpHost.create("http://127.0.0.1:8080")).build();
// Option 2
final ProxySelector proxySelector = ProxySelector.of(new
InetSocketAddress("127.0.0.1", 8080));
final HttpRoutePlanner routePlanner = new
SystemDefaultRoutePlanner(proxySelector);
return
HttpAsyncClientBuilder.create().setRoutePlanner(routePlanner).build();
// Option 3
return
HttpAsyncClients.customHttp2().setRoutePlanner(routePlanner).build();
// Option 4
return
HttpAsyncClients.custom().setProxy(HttpHost.create("http://127.0.0.1:8080")).build();
// Option 5
return
HttpAsyncClientBuilder.create().setProxy(HttpHost.create("http://127.0.0.1:8080")).build();
{code}
Is there a way to solve this issue? Any way to restore the previous version
configuration?
Thank you!
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]