Author: nmalin
Date: Mon Mar 19 16:04:21 2018
New Revision: 1827212

URL: http://svn.apache.org/viewvc?rev=1827212&view=rev
Log:
Fixed: HttpClient failed to return the error result
(OFBIZ-10281)

When you call the HttpClient on Rest API on url that return you an error, the 
HttpClient failed to give you the error stream:
    callResult = restClient.getStream();

If the flow is an error in the catch block with the line 
    in = con.getInputStream();
that return a FileNotFoundException

To solve if, if the connexion is an instance of HttpURLConnection we resolve 
this error inputStream contains the error message

Modified:
    
ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/HttpClient.java

Modified: 
ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/HttpClient.java
URL: 
http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/HttpClient.java?rev=1827212&r1=1827211&r2=1827212&view=diff
==============================================================================
--- 
ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/HttpClient.java
 (original)
+++ 
ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/HttpClient.java
 Mon Mar 19 16:04:21 2018
@@ -537,6 +537,14 @@ public class HttpClient {
                 Debug.logWarning(ioe.getCause(), module);
                 return sendHttpRequestStream(method, true);
             }
+            if ((con instanceof HttpURLConnection)) {
+                try {
+                    in = ((HttpURLConnection) con).getErrorStream();
+                } catch (Exception ioerror) {
+                    throw new HttpClientException("IO Error processing 
request", ioerror);
+                }
+                return in;
+            }
             throw new HttpClientException("IO Error processing request", ioe);
         } catch (RuntimeException e) {
             throw e;


Reply via email to