We upgraded to 4.3 some time ago and our QA has found the problem for
following configuration:


   1. The HTTPS protocol used. The authentication scheme is not important.
   2. The HTTP proxy used with Basic authentication.

Following exception is thrown

Caused by: java.lang.IllegalStateException: Socket factory must implement
SchemeLayeredSocketFactory
at org.apache.http.util.Asserts.check(Asserts.java:34)
at
org.apache.http.impl.conn.DefaultClientConnectionOperator.updateSecureConnection(DefaultClientConnectionOperator.java:214)
at
org.apache.http.impl.conn.AbstractPoolEntry.layerProtocol(AbstractPoolEntry.java:243)
at
org.apache.http.impl.conn.AbstractPooledConnAdapter.layerProtocol(AbstractPooledConnAdapter.java:152)
at
org.apache.http.impl.client.DefaultRequestDirector.establishRoute(DefaultRequestDirector.java:800)
at
org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:614)
at
org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:445)
at
org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:863)
at
org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)


We register own SSL Socket implementation for HTTPClient. The SSL Socket
Factory implements LayeredSchemeSocketFactory interface. I understand that
the LayeredSchemeSocketFactory interface has been deprecated, however my
understanding is that the deprecated interfaces should continue to work
until this interface is definitely removed. Am I wrong about it?

Thanks,
Bronislav Gabrhelik

Reply via email to