diff --git a/src/main/java/com/eactive/eai/outbound/RESTProcess.java b/src/main/java/com/eactive/eai/outbound/RESTProcess.java index 1059aaf..838879b 100644 --- a/src/main/java/com/eactive/eai/outbound/RESTProcess.java +++ b/src/main/java/com/eactive/eai/outbound/RESTProcess.java @@ -694,35 +694,37 @@ public class RESTProcess extends HTTPProcess { public void setOutboundErrorMessage() throws Exception { this.logPssSno = TranLogUtil.getResLogSeq(this.svcPssTp, this.svcPssSeq, this.isComp); + boolean setResObject = false; // 에러에 대한 응답메시지 if(this.tempProp.get(HttpAdapterServiceKey.OUTBOUND_PROPERTY_MAP) instanceof Map) { @SuppressWarnings("unchecked") Map map = (Map) this.tempProp.get(HttpAdapterServiceKey.OUTBOUND_PROPERTY_MAP); this.callProp.put(HttpAdapterServiceKey.OUTBOUND_PROPERTY_MAP, map); - } - - boolean setResObject = false; - AdapterGroupVO outboundAdapterGroupVO = AdapterManager.getInstance().getAdapterGroupVO(adapterGroupName); - if (outboundAdapterGroupVO != null) { - AdapterVO outboundAdapterVo = null; - if(adapterName != null) - outboundAdapterVo = outboundAdapterGroupVO.getAdapterVO(adapterName); - else - outboundAdapterVo = outboundAdapterGroupVO.nextAdapterVO(); - if (outboundAdapterVo != null) { - String errorHandlerClass = AdapterPropManager.getInstance().getProperty( - outboundAdapterVo.getPropGroupName(), "ERR_MSG_HANDLER"); - if (StringUtils.isNotBlank(errorHandlerClass)) { - if (logger.isInfo()) - logger.info("ExceptionHandler] errorSyncSend ERR_MSG_HANDLER=" + errorHandlerClass); - AdapterErrorMessageHandler handler = AdapterErrorMessageHandlerFactory.createHandler(errorHandlerClass); - this.resObject = handler.generateOutboundErrorResponseMessage(adapterGroupName, adapterGroupName, - callProp, this.reqObject, this.resEaiMsg); - setResObject = true; + // OUTBOUND_PROPERTY_MAP 이 있는 경우, 즉 타겟서버와 통신은 정상적으로 이루진 경우 처리한다. + AdapterGroupVO outboundAdapterGroupVO = AdapterManager.getInstance().getAdapterGroupVO(adapterGroupName); + if (outboundAdapterGroupVO != null) { + AdapterVO outboundAdapterVo = null; + if(adapterName != null) + outboundAdapterVo = outboundAdapterGroupVO.getAdapterVO(adapterName); + else + outboundAdapterVo = outboundAdapterGroupVO.nextAdapterVO(); + + if (outboundAdapterVo != null) { + String errorHandlerClass = AdapterPropManager.getInstance().getProperty( + outboundAdapterVo.getPropGroupName(), "ERR_MSG_HANDLER"); + if (StringUtils.isNotBlank(errorHandlerClass)) { + if (logger.isInfo()) + logger.info("ExceptionHandler] errorSyncSend ERR_MSG_HANDLER=" + errorHandlerClass); + AdapterErrorMessageHandler handler = AdapterErrorMessageHandlerFactory.createHandler(errorHandlerClass); + this.resObject = handler.generateOutboundErrorResponseMessage(adapterGroupName, adapterGroupName, + callProp, this.reqObject, this.resEaiMsg); + setResObject = true; + } } } } + if (!setResObject) { this.resObject = ""; }