From d9d30bfb44a2e55aa88fa40c99b0ff307c96c7b3 Mon Sep 17 00:00:00 2001 From: "Yunsam.Eo" Date: Mon, 5 Jan 2026 08:55:14 +0900 Subject: [PATCH] =?UTF-8?q?properties=20=EC=B2=98=EB=A6=AC=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client/filter/AsyncReponseFilter.java | 41 ++++++++++++++----- 1 file changed, 30 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/eactive/eai/custom/kjb/adapter/http/client/filter/AsyncReponseFilter.java b/src/main/java/com/eactive/eai/custom/kjb/adapter/http/client/filter/AsyncReponseFilter.java index a381f31..01eeb53 100644 --- a/src/main/java/com/eactive/eai/custom/kjb/adapter/http/client/filter/AsyncReponseFilter.java +++ b/src/main/java/com/eactive/eai/custom/kjb/adapter/http/client/filter/AsyncReponseFilter.java @@ -6,8 +6,6 @@ import java.util.TreeMap; import com.eactive.eai.adapter.http.dynamic.HttpAdapterServiceKey; import com.eactive.eai.common.TransactionContextKeys; -import com.eactive.eai.common.property.PropGroupVO; -import com.eactive.eai.common.property.PropManager; import com.eactive.eai.common.util.Logger; @@ -22,7 +20,6 @@ public class AsyncReponseFilter implements HttpClientAdapterFilter, HttpAdapterS throws Exception { logger.debug("AsyncReponseFilter] PreFilter Processing Start!!"); - Object returnMessage = message; String traceId = tempProp.getProperty(TransactionContextKeys.TRANSACTION_UUID, ""); Properties filterHeaders = (Properties) tempProp.get("FILTERHEADER"); @@ -31,13 +28,7 @@ public class AsyncReponseFilter implements HttpClientAdapterFilter, HttpAdapterS tempProp.put("FILTERHEADER", filterHeaders); } try { - Properties inboundHeader = (Properties)tempProp.get(INBOUND_HEADER); - Map inboundHeaderMap = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); - - // Properties 내용을 모두 복사 - for (String name : inboundHeader.stringPropertyNames()) { - inboundHeaderMap.put(name, inboundHeader.getProperty(name)); - } + Map inboundHeaderMap = getInboundHeaderProp(tempProp); if (!inboundHeaderMap.isEmpty()) { if (inboundHeaderMap.containsKey(X_TRACE_ID)) { @@ -52,7 +43,35 @@ public class AsyncReponseFilter implements HttpClientAdapterFilter, HttpAdapterS logger.error(e.getMessage()); } - return returnMessage; + return message; + } + + public Map getInboundHeaderProp(Properties prop) { + Properties header = new Properties(); + Map inboundHeaderMap = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); + try { + Object headerObj = prop.get(HttpAdapterServiceKey.INBOUND_HEADER); + if (headerObj instanceof Properties) { //tomcat + header = (Properties) headerObj; + for (String name : header.stringPropertyNames()) { + inboundHeaderMap.put(name, header.getProperty(name)); + } + } else if (headerObj instanceof String) { //weblogic + String str = (String) headerObj; + str = str.substring(1, str.length() - 1); + // key=value 쌍 분리 + String[] entries = str.split(","); + for (String entry : entries) { + String[] kv = entry.split("=", 2); + if (kv.length == 2) { + inboundHeaderMap.put(kv[0].trim(), kv[1].trim()); + } + } + } + } catch (Exception e) { + e.printStackTrace(); + } + return inboundHeaderMap; } @Override