diff options
author | Smokowski, Steve (ss835w) <ss835w@us.att.com> | 2018-08-10 12:09:06 -0400 |
---|---|---|
committer | Smokowski, Steve (ss835w) <ss835w@us.att.com> | 2018-08-10 12:25:13 -0400 |
commit | f0d0522cf3e32162a1160588ad6b2c2d07063abe (patch) | |
tree | 7fdf280f6a3fc3320cd9bf67aeabd1a9ee13e5ba /mso-api-handlers/mso-api-handler-infra/src/main/java/org | |
parent | 6dcb886f61f0a7675bd63060a5ff1b9df68dbabd (diff) |
Fix Error Scenario
If Camunda returns a non-auth error, or invalid JSON. APIH was not
logging the error or properly updating the request database record
Issue-ID: SO-818
Change-Id: I8b164002132ca6c25f95e1fa2b194e6cb4c3be03
Change-Id: If6e06de0fb8a01a00ef06ade915dd7c13623047b
Signed-off-by: Smokowski, Steve (ss835w) <ss835w@us.att.com>
Diffstat (limited to 'mso-api-handlers/mso-api-handler-infra/src/main/java/org')
-rw-r--r-- | mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/ServiceInstances.java | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/ServiceInstances.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/ServiceInstances.java index e259839d6e..b241a5136e 100644 --- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/ServiceInstances.java +++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/ServiceInstances.java @@ -845,8 +845,20 @@ public class ServiceInstances { throw clientException; } - ResponseHandler respHandler = new ResponseHandler (response, requestClient.getType ()); - int bpelStatus = respHandler.getStatus (); + ResponseHandler respHandler = null; + int bpelStatus = 500; + try { + respHandler = new ResponseHandler (response, requestClient.getType ()); + bpelStatus = respHandler.getStatus (); + } catch (ApiException e) { + msoLogger.error(e); + ErrorLoggerInfo errorLoggerInfo = new ErrorLoggerInfo.Builder(MessageEnum.APIH_BPEL_RESPONSE_ERROR, MsoLogger.ErrorCode.SchemaError).errorSource(Constants.MSO_PROP_APIHANDLER_INFRA).build(); + ValidateException validateException = new ValidateException.Builder("Exception caught mapping Camunda JSON response to object", HttpStatus.SC_INTERNAL_SERVER_ERROR, ErrorNumbers.SVC_BAD_PARAMETER).cause(e) + .errorInfo(errorLoggerInfo).build(); + currentActiveReq.setRequestStatus(Status.FAILED.name()); + currentActiveReq.setStatusMessage(validateException.getMessage()); + throw validateException; + } // BPEL accepted the request, the request is in progress if (bpelStatus == HttpStatus.SC_ACCEPTED) { @@ -858,7 +870,7 @@ public class ServiceInstances { ObjectMapper mapper = new ObjectMapper(); jsonResponse = mapper.readValue(camundaResp.getResponse(), ServiceInstancesResponse.class); } catch (IOException e) { - e.printStackTrace(); + msoLogger.error(e); ErrorLoggerInfo errorLoggerInfo = new ErrorLoggerInfo.Builder(MessageEnum.APIH_BPEL_RESPONSE_ERROR, MsoLogger.ErrorCode.SchemaError).errorSource(Constants.MSO_PROP_APIHANDLER_INFRA).build(); ValidateException validateException = new ValidateException.Builder("Exception caught mapping Camunda JSON response to object", HttpStatus.SC_NOT_ACCEPTABLE, ErrorNumbers.SVC_BAD_PARAMETER).cause(e) .errorInfo(errorLoggerInfo).build(); |