diff --git a/src/main/java/com/eactive/eai/outbound/HTTPProcess.java b/src/main/java/com/eactive/eai/outbound/HTTPProcess.java index d790e38..122792b 100644 --- a/src/main/java/com/eactive/eai/outbound/HTTPProcess.java +++ b/src/main/java/com/eactive/eai/outbound/HTTPProcess.java @@ -273,7 +273,10 @@ public class HTTPProcess extends DefaultProcess { try { // 응답전문으로 응답 구조체(resEaiMsg) SET resEaiMsg = setRcvLogInfo(resEaiMsg, this.adptrMsgType, this.resObject, this.outboundCharset); - this.resObject = resEaiMsg.getStandardMessage().getBizDataBytes(); + // JSON/XML 은 String 으로 넘긴다. byte[] 로 넘기면 charset 정보가 유실되어 변환 시 깨진다. + this.resObject = MessageUtil.isBytesMessage(this.adptrMsgType) + ? resEaiMsg.getStandardMessage().getBizDataBytes() + : resEaiMsg.getStandardMessage().getBizData(); } catch (Exception e) { String[] msgArgs = new String[1]; msgArgs[0] = this.reqEaiMsg.getEAISvcCd(); @@ -289,7 +292,10 @@ public class HTTPProcess extends DefaultProcess { logger.debug(guidLogPrefix + "SUB표준 업무데이터 추출"); try { this.resEaiMsg = convertToStandardMessage(resEaiMsg, adptrMsgType, this.resObject, this.outboundCharset); - this.resObject = resEaiMsg.getStandardMessage().getBizDataBytes(); + // JSON/XML 은 String 으로 넘긴다. byte[] 로 넘기면 charset 정보가 유실되어 변환 시 깨진다. + this.resObject = MessageUtil.isBytesMessage(this.adptrMsgType) + ? resEaiMsg.getStandardMessage().getBizDataBytes() + : resEaiMsg.getStandardMessage().getBizData(); } catch (Exception e) { e.printStackTrace(); String[] msgArgs = new String[1];