Currently the Java SDK uses the HttpComponents DefaultHttpClient class. In version 4.3 of HttpComponents this class has been marked as deprecated, and it inheritance hierarchy has been changed so that the it extends the new CloseableHttpClient class. One side effect of this changes is that the "execute" method has changed its signature from this: HttpResponse execute(HttpUriRequest, HttpContext) To this: CloseableHttpResponse execute(HttpUriRequest, HttpContext) This doesn't cause a problem for existing compiled .class or .jar files that use that class, because the new CloseableHttpResponse class is compatible with HttpResponse. But it causes a problem when the client is recompiled from source. For example, consider this code (which is part of the Java SDK): DefaultHttpClient client = ...; client.execute(request, context); With version 4.2 of HttpComponents compiling this code results in the following binary code: invokevirtual #14 // Method org/apache/http/impl/client/DefaultHttpClient.execute:(Lorg/apache/http/client/methods/HttpUriRequest;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/HttpResponse; With version 4.3 of HttpComponents it results in the following binary code: invokevirtual #14 // Method org/apache/http/impl/client/DefaultHttpClient.execute:(Lorg/apache/http/client/methods/HttpUriRequest;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/client/methods/CloseableHttpResponse; Note that 4.2 returns HttpResponse and 4.3 returns CloseableHttpResponse. This new binary will work correctly with version 4.3 of HttpComponents, but it will fail with the following error with version 3.2 of HttpComponents: Exception in thread "main" java.lang.NoSuchMethodError: org.apache.http.impl.client.DefaultHttpClient.execute(Lorg/apache/http/client/methods/HttpUriRequest;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/client/methods/CloseableHttpResponse;
Bug tickets that are moved to testing must have target release set to make sure tester knows what to test. Please set the correct target release before moving to ON_QA.
Note that in this comment I should have written 4.2, not 3.2: ---8<--- This new binary will work correctly with version 4.3 of HttpComponents, but it will fail with the following error with version 3.2 of HttpComponents: --->8--- Version 3.2 of httpcomponents isn't supported or used by the SDK.
Verified with: ovirt-engine-sdk-java-4.0.0.0-0.1.20151127.git7c24cff.fc22.noarch Successfully built the java sdk with versions 4.2 and 4.3 of HttpComponents.
oVirt 3.6.0 has been released, closing current release