[
https://issues.apache.org/jira/browse/HTTPASYNC-164?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Carlos resolved HTTPASYNC-164.
------------------------------
Fix Version/s: HttpClient 5.0
Resolution: Fixed
[~olegk], yes, that was it!
{code:java}
HttpAsyncClients.custom()
.setVersionPolicy(HttpVersionPolicy.FORCE_HTTP_1)
.setProxy(HttpHost.create("http://127.0.0.1:8080"))
.build();
{code}
Thank you so much! ;-)
> 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
> Priority: Major
> Fix For: HttpClient 5.0
>
>
> 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]