diff --git a/src/main/java/com/eactive/eai/outbound/DefaultProcess.java b/src/main/java/com/eactive/eai/outbound/DefaultProcess.java index 691e07a..65e10d7 100644 --- a/src/main/java/com/eactive/eai/outbound/DefaultProcess.java +++ b/src/main/java/com/eactive/eai/outbound/DefaultProcess.java @@ -37,6 +37,7 @@ import com.eactive.eai.message.manager.StandardMessageManager; import com.eactive.eai.message.mapper.MessageMapper; import com.eactive.eai.message.service.InterfaceMapper; import com.ext.eai.common.stdmessage.STDMessageKeys; +import com.eactive.eai.common.message.ServiceMessage; // jwhong public abstract class DefaultProcess extends Process { protected static Logger logger = Logger.getLogger(Logger.LOGGER_DEFAULT); @@ -252,6 +253,13 @@ public abstract class DefaultProcess extends Process { } // 송신결과확인 checkSendResult(); + // 400 Async 에 대한 ack 오는것 500 으로 log에 저장, jwhong for kjbank + if(isAsyncSyncPattern()){ + StandardMessage standardMessage = this.resEaiMsg.getStandardMessage(); + standardMessage.setBizData(this.resObject, this.outboundCharset); + this.logPssSno = 500; + logSenderCtrlSendRes(); + } // SA if (isSyncAsyncPattern()) { try { @@ -474,6 +482,18 @@ public abstract class DefaultProcess extends Process { return false; } } + + // jwhong + public boolean isAsyncSyncPattern() { + ServiceMessage firstService = this.reqEaiMsg.getSvcMsg(0); + ServiceMessage secondService = this.reqEaiMsg.getSvcMsg(1); + if (EAIMessageKeys.ASYNC_SVC.equals(this.reqEaiMsg.getSvcTsmtUsgTp()) + && EAIMessageKeys.SYNC_SVC.equals(firstService.getPsvItfTp()) + && EAIMessageKeys.ASYNC_SVC.equals(secondService.getPsvItfTp())){ + return true; + } + return false; + } public boolean isSyncAsyncPattern() { if (!MessageUtil.checkRspErrCd(this.resEaiMsg.getRspErrCd())) {