diff --git a/awsapi/src/com/cloud/stack/CloudStackClient.java b/awsapi/src/com/cloud/stack/CloudStackClient.java index d8cabaf214a..ed04737a2ad 100644 --- a/awsapi/src/com/cloud/stack/CloudStackClient.java +++ b/awsapi/src/com/cloud/stack/CloudStackClient.java @@ -170,7 +170,16 @@ public class CloudStackClient { statusCode = ((HttpURLConnection)connect).getResponseCode(); if(statusCode >= 400) { logger.error("Cloud API call + [" + url.toString() + "] failed with status code: " + statusCode); - throw new IOException("CloudStack API call HTTP response error, HTTP status code: " + statusCode); + String errorMessage = ((HttpURLConnection)connect).getResponseMessage(); + if(errorMessage == null){ + errorMessage = connect.getHeaderField("X-Description"); + } + + if(errorMessage == null){ + errorMessage = "CloudStack API call HTTP response error, HTTP status code: " + statusCode; + } + + throw new IOException(errorMessage); } InputStream inputStream = connect.getInputStream();