diff --git a/elink-online-common b/elink-online-common index bf03a97..fef16d1 160000 --- a/elink-online-common +++ b/elink-online-common @@ -1 +1 @@ -Subproject commit bf03a97fa357ea399d62bad9d461e46a459f4cf0 +Subproject commit fef16d1b99f881b69a2a84b32e5488836af10936 diff --git a/elink-online-core b/elink-online-core index 658f2a0..52b968e 160000 --- a/elink-online-core +++ b/elink-online-core @@ -1 +1 @@ -Subproject commit 658f2a048534ea8003817a2ac81d9614182fa473 +Subproject commit 52b968e8f839af8745e6e7e96c1da514fed73f98 diff --git a/src/main/java/com/eactive/eai/custom/adapter/handler/KakaopayAdapterErrorMsgHandler.java b/src/main/java/com/eactive/eai/custom/adapter/handler/KakaopayAdapterErrorMsgHandler.java index edb6b25..6c864e6 100644 --- a/src/main/java/com/eactive/eai/custom/adapter/handler/KakaopayAdapterErrorMsgHandler.java +++ b/src/main/java/com/eactive/eai/custom/adapter/handler/KakaopayAdapterErrorMsgHandler.java @@ -73,7 +73,17 @@ public class KakaopayAdapterErrorMsgHandler extends TemplateCodeConvertAdapterEr String jsonStr = (String) responseBody; if (!StringUtils.isBlank(jsonStr)) { JsonNode rootNode = OBJECT_MAPPER.readTree(jsonStr); - msgDesc = rootNode.get("error_code").textValue() + "/" + rootNode.get("error_message").textValue(); + StringBuffer sb = new StringBuffer(); + JsonNode errorCode = rootNode.get("error_code"); + if(errorCode != null) + sb.append(errorCode.textValue()); + + sb.append("/"); + JsonNode errorMessage = rootNode.get("error_message"); + if(errorMessage != null) + sb.append(errorMessage.textValue()); + + msgDesc = sb.toString(); msgCd = "BFEX03216"; msgCtnt = "참가기관코드 에러입니다."; logger.debug("오류 응답 수신 - {}", jsonStr); diff --git a/src/main/java/com/eactive/eai/custom/adapter/http/dynamic/filter/DouzoneEncFieldInCryptoFilter.java b/src/main/java/com/eactive/eai/custom/adapter/http/dynamic/filter/DouzoneEncFieldInCryptoFilter.java index 09e244a..09ffbe7 100644 --- a/src/main/java/com/eactive/eai/custom/adapter/http/dynamic/filter/DouzoneEncFieldInCryptoFilter.java +++ b/src/main/java/com/eactive/eai/custom/adapter/http/dynamic/filter/DouzoneEncFieldInCryptoFilter.java @@ -7,8 +7,9 @@ import javax.servlet.http.HttpServletResponse; import org.springframework.http.HttpStatus; -import com.eactive.eai.adapter.http.HttpStatusException; import com.eactive.eai.adapter.http.dynamic.HttpAdapterServiceKey; +import com.eactive.eai.adapter.http.dynamic.filter.FilterCryptoException; +import com.eactive.eai.adapter.http.dynamic.filter.FilterException; import com.eactive.eai.adapter.http.dynamic.filter.HttpAdapterFilter; import com.eactive.eai.adapter.http.dynamic.filter.InCryptoFilter; import com.eactive.eai.common.security.keyderiv.KeyDerivationStrategy; @@ -56,7 +57,7 @@ public class DouzoneEncFieldInCryptoFilter implements HttpAdapterFilter { setContext(prop); return filter.doPreFilter(adptGrpName, adptName, message, setProp(prop), request, response); } catch (Exception e) { - throw new HttpStatusException(ERROR_DEC_FAIL, "복호화 오류", HttpStatus.INTERNAL_SERVER_ERROR.value(), e); + throw new FilterCryptoException("복호화 오류", ERROR_DEC_FAIL, HttpStatus.INTERNAL_SERVER_ERROR.value(), e); } } @@ -67,7 +68,7 @@ public class DouzoneEncFieldInCryptoFilter implements HttpAdapterFilter { setContext(prop); return filter.doPostFilter(adptGrpName, adptName, resultMessage, setProp(prop), request, response); } catch (Exception e) { - throw new HttpStatusException(ERROR_ENC_FAIL, "암호화 오류", HttpStatus.INTERNAL_SERVER_ERROR.value(), e); + throw new FilterCryptoException("암호화 오류", ERROR_ENC_FAIL, HttpStatus.INTERNAL_SERVER_ERROR.value(), e); } } diff --git a/src/main/java/com/eactive/eai/custom/message/StandardMessageCoordinatorDJB.java b/src/main/java/com/eactive/eai/custom/message/StandardMessageCoordinatorDJB.java index 2a11024..47b3d71 100644 --- a/src/main/java/com/eactive/eai/custom/message/StandardMessageCoordinatorDJB.java +++ b/src/main/java/com/eactive/eai/custom/message/StandardMessageCoordinatorDJB.java @@ -156,6 +156,13 @@ public class StandardMessageCoordinatorDJB extends DefaultStandardMessageCoordin standardMessage.setData(HEAD_MESG_RSPN_DT, now.format(FMT_DATE)); standardMessage.setData(HEAD_MESG_RSPN_TIME, now.format(FMT_TIME_MILLIS)); + + StandardItem msgListRowCnt = standardMessage.findItem(StandardMessageCoordinatorDJB.MSG_LIST_ROWCNT); + if (msgListRowCnt == null || "0".equals(msgListRowCnt.getValue()) || "".equals(msgListRowCnt.getValue())) { + StandardItem msgPart = standardMessage.findItem("MSG"); + msgPart.getChilds().remove("MSG_LIST"); + } + makeupDataScopLen(standardMessage, charset); }