Revision: 340
Author: dkavanagh
Date: Fri Jul 9 13:10:55 2010
Log: better debug exception trapping for bad server responses
http://code.google.com/p/typica/source/detail?r=340
Modified:
/trunk/java/com/xerox/amazonws/common/AWSQueryConnection.java
=======================================
--- /trunk/java/com/xerox/amazonws/common/AWSQueryConnection.java Wed May
5 18:11:34 2010
+++ /trunk/java/com/xerox/amazonws/common/AWSQueryConnection.java Fri Jul
9 13:10:55 2010
@@ -704,13 +704,25 @@
errors.add(new AWSError(AWSError.ErrorType.SENDER, "unknown",
errorMsg));
}
else {
- Response resp = JAXBuddy.deserializeXMLStream(Response.class, bais);
- String errorCode = resp.getErrors().getError().getCode();
- errorMsg = resp.getErrors().getError().getMessage();
- requestId = resp.getRequestID();
- if (errorCode != null && !errorCode.trim().equals("")) {
- errors = new ArrayList<AWSError>();
- errors.add(new AWSError(AWSError.ErrorType.SENDER, errorCode,
errorMsg));
+ try {
+ Response resp = JAXBuddy.deserializeXMLStream(Response.class, bais);
+ String errorCode = resp.getErrors().getError().getCode();
+ errorMsg = resp.getErrors().getError().getMessage();
+ requestId = resp.getRequestID();
+ if (errorCode != null && !errorCode.trim().equals("")) {
+ errors = new ArrayList<AWSError>();
+ errors.add(new AWSError(AWSError.ErrorType.SENDER, errorCode,
errorMsg));
+ }
+ } catch (SAXException ex) {
+ errorMsg = "Couldn't parse error response!";
+ requestId = "???";
+ log.error(errorMsg, ex);
+ log.info("response = "+errorResponse);
+ } catch (UnmarshalException ex2) {
+ errorMsg = "Couldn't parse error response!";
+ requestId = "???";
+ log.error(errorMsg, ex2);
+ log.info("response = "+errorResponse);
}
}
}