From b2e6484c3464f089b063c1a7c3399416d9971a05 Mon Sep 17 00:00:00 2001 From: "Yunsam.Eo" Date: Fri, 26 Dec 2025 16:04:12 +0900 Subject: [PATCH] =?UTF-8?q?Http=20Adapter=20400=EC=9D=91=EB=8B=B5=EC=8B=9C?= =?UTF-8?q?=20300=EC=97=90=EC=84=9C=20=EC=88=98=EC=8B=A0=ED=95=9C=20Header?= =?UTF-8?q?=EC=9D=98=20Content-Type=20=EA=B7=B8=EB=8C=80=EB=A1=9C=20?= =?UTF-8?q?=EC=84=A4=EC=A0=95=ED=95=98=EA=B2=8C=20=EC=88=98=EC=A0=95.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/HttpAdapterServiceStandard.java | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/eactive/eai/adapter/http/dynamic/impl/HttpAdapterServiceStandard.java b/src/main/java/com/eactive/eai/adapter/http/dynamic/impl/HttpAdapterServiceStandard.java index fc2da76..d3e1287 100644 --- a/src/main/java/com/eactive/eai/adapter/http/dynamic/impl/HttpAdapterServiceStandard.java +++ b/src/main/java/com/eactive/eai/adapter/http/dynamic/impl/HttpAdapterServiceStandard.java @@ -6,6 +6,7 @@ import com.eactive.eai.adapter.AdapterVO; import com.eactive.eai.adapter.Keys; import com.eactive.eai.adapter.http.HttpMemoryLogger; import com.eactive.eai.adapter.http.HttpStatusException; +import com.eactive.eai.adapter.http.dynamic.HttpAdapterServiceKey; import com.eactive.eai.adapter.http.dynamic.HttpAdapterServiceSupport; import com.eactive.eai.common.exception.ExceptionUtil; import com.eactive.eai.common.util.CommonLib; @@ -26,8 +27,11 @@ import java.net.URLDecoder; import java.util.ArrayList; import java.util.Collections; import java.util.Enumeration; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.Properties; +import java.util.TreeMap; public class HttpAdapterServiceStandard extends HttpAdapterServiceSupport { @@ -218,8 +222,20 @@ public class HttpAdapterServiceStandard extends HttpAdapterServiceSupport if (addData.length() > 0){ responseData = addData + responseData; } - // UI와 통신시(UTF-8) 변환오류로 ENCODE 제거 - response.setContentType("text/plain"); + + // 300응답에서 받은 Header정보 사용하기 위해 읽어옴. + Map responsePropertyMap = new HashMap(); + responsePropertyMap = (Map) prop.get(OUTBOUND_PROPERTY_MAP); + Properties responseHeaders = (Properties)responsePropertyMap.get(OUTBOUND_RESPONSE_HEADERS); + Map responseHeaderMap = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); + // Properties 내용을 모두 복사 + for (String name : responseHeaders.stringPropertyNames()) { + responseHeaderMap.put(name, responseHeaders.getProperty(name)); + } + String contentTytpe = responseHeaderMap.get("Content-Type"); + + // UI와 통신시(UTF-8) 변환오류로 ENCODE 제거 + response.setContentType(contentTytpe); // 300응답에서 받은 Content-Type을 그대로 적용. response.setCharacterEncoding(encode); response.getWriter().print(responseData); if (logger.isDebug()){