From 591ffa0c3568d540552ee42d1bcb228eab6dec90 Mon Sep 17 00:00:00 2001 From: daekuk1 Date: Mon, 9 Feb 2026 14:23:36 +0900 Subject: [PATCH] =?UTF-8?q?=ED=95=9C=EA=B8=80=20=EC=98=A4=EB=A5=98=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rule/layoutsync/LayoutSyncController.java | 71 ++++++++----------- 1 file changed, 30 insertions(+), 41 deletions(-) diff --git a/src/main/java/com/eactive/eai/rms/onl/manage/rule/layoutsync/LayoutSyncController.java b/src/main/java/com/eactive/eai/rms/onl/manage/rule/layoutsync/LayoutSyncController.java index 15604d6..b8df9ea 100644 --- a/src/main/java/com/eactive/eai/rms/onl/manage/rule/layoutsync/LayoutSyncController.java +++ b/src/main/java/com/eactive/eai/rms/onl/manage/rule/layoutsync/LayoutSyncController.java @@ -404,7 +404,7 @@ public class LayoutSyncController extends OnlBaseAnnotationController implements String resultS = null; ServletInputStream sis = null; - HashMap param = new HashMap(); + HashMap param = new HashMap<>(); String recvTime = DateUtil.getDateTime("yyyyMMddHHmmssSS").substring(0, 16); // 초기화 @@ -431,43 +431,33 @@ public class LayoutSyncController extends OnlBaseAnnotationController implements byte[] arg = new byte[request.getContentLength()]; int resultSet = 0; int total = 0; - try { - resultSet = sis.readLine(arg, 0, arg.length); - while(resultSet != -1) { - total += resultSet; - resultSet = sis.readLine(arg, total, 1024); - } + + String xmlContent = null; + try { + resultSet = sis.readLine(arg, 0, arg.length); + while (resultSet != -1) { + total += resultSet; + resultSet = sis.readLine(arg, total, 1024); + } - // ===== 인코딩 확인 로그 시작 ===== - logger.info("========== 인코딩 디버깅 정보 =========="); - logger.info("request.getCharacterEncoding(): " + request.getCharacterEncoding()); - logger.info("request.getContentType(): " + request.getContentType()); - logger.info("Content Length: " + arg.length + " bytes"); + xmlContent = new String(arg, "EUC-KR"); + // ===== 인코딩 확인 로그 시작 ===== + logger.info("========== 인코딩 디버깅 정보 =========="); + // 다양한 인코딩으로 읽어보기 + logger.info("request.getCharacterEncoding(): {}", request.getCharacterEncoding()); + logger.info("request.getContentType(): {}", request.getContentType()); + logger.info("Content Length: {} bytes", arg.length); + logger.info("EUC-KR 전체 내용:\n{}", xmlContent); + logger.info("========================================"); + // ===== 인코딩 확인 로그 끝 ===== + param.put("recvData", xmlContent); + } catch (Exception e) { + logger.error("MessageSync.err - don't read the XML File", e); + param.put("recvData", ""); + } - // 다양한 인코딩으로 읽어보기 - String asDefaultEncoding = new String(arg); - String asUtf8 = new String(arg, "UTF-8"); - String asEucKr = new String(arg, "EUC-KR"); - - logger.info("Default Encoding 전체 내용:\n" + asDefaultEncoding); - logger.info("UTF-8 전체 내용:\n" + asUtf8); - logger.info("EUC-KR 전체 내용:\n" + asEucKr); - logger.info("========================================"); - // ===== 인코딩 확인 로그 끝 ===== - - param.put("recvData", new String(arg, "EUC-KR")); - } catch(Exception e) { - logger.error("MessageSync.err - don't read the XML File - " + new String(arg, "EUC-KR"), e); - param.put("recvData", ""); - } - - // byte[]로부터 XML 파싱 (BOM 제거) - EUC-KR로 읽기 - String xmlContent = new String(arg, "EUC-KR").trim(); - // BOM 제거 (UTF-8 BOM: EF BB BF) - if (xmlContent.startsWith("\uFEFF")) { - xmlContent = xmlContent.substring(1); - } - Document doc = builder.build(new ByteArrayInputStream(xmlContent.getBytes("EUC-KR"))); + // byte[]로부터 XML 파싱 - EUC-KR로 읽기 + Document doc = builder.build(new StringReader(xmlContent)); param.put("logPrcssSeqno", UUIDGenerator.getUUID()); // xml 1.1 @@ -485,9 +475,9 @@ public class LayoutSyncController extends OnlBaseAnnotationController implements param.put("recvAmndHMS", recvTime); logger.info(layoutName + " command - [" + command +"]"); - HashMap returnMap = new HashMap(); + HashMap returnMap = new HashMap<>(); if( command.equals("delete") ) { - HashMap vo = new HashMap(); + HashMap vo = new HashMap<>(); vo.put("loutName",layoutName); service.deleteLayout(vo); @@ -513,10 +503,10 @@ public class LayoutSyncController extends OnlBaseAnnotationController implements // } String layout = body.getChild("data").getText(); - logger.info(layoutName + " recv Data - [" + layout + "]"); + logger.info("{} recv Data - [{}]]", layoutName, layout); param.put("recvData", layout); - Document doc2 = builder.build(new ByteArrayInputStream(layout.getBytes())); + Document doc2 = builder.build(new StringReader(layout)); HashMap vo = new HashMap(); @@ -601,7 +591,6 @@ public class LayoutSyncController extends OnlBaseAnnotationController implements } catch( Exception e ) { logger.error("",e); - logger.error("",e.getStackTrace()[0]); try { if( results != null ) { if (e instanceof UseSystemException) {