From 585a9e4520581845401a071313112bf749f513d8 Mon Sep 17 00:00:00 2001 From: curry772 Date: Tue, 18 Aug 2026 15:36:22 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9D=91=EB=8B=B5=20=EB=B3=80=ED=99=98=20?= =?UTF-8?q?=EC=8B=9C=20=ED=95=9C=EA=B8=80=20=EA=B9=A8=EC=A7=80=EB=8A=94=20?= =?UTF-8?q?=EB=AC=B8=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 원인은 HTTPProcess에서 어댑터 문자셋에 따라 무조건 charset 마추어 bytes로 변경하는 문제 --- .../java/com/eactive/eai/outbound/HTTPProcess.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) 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];