Http Adapter 400응답시 300에서 수신한 Header의 Content-Type 그대로 설정하게 수정.
This commit is contained in:
+18
-2
@@ -6,6 +6,7 @@ import com.eactive.eai.adapter.AdapterVO;
|
|||||||
import com.eactive.eai.adapter.Keys;
|
import com.eactive.eai.adapter.Keys;
|
||||||
import com.eactive.eai.adapter.http.HttpMemoryLogger;
|
import com.eactive.eai.adapter.http.HttpMemoryLogger;
|
||||||
import com.eactive.eai.adapter.http.HttpStatusException;
|
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.adapter.http.dynamic.HttpAdapterServiceSupport;
|
||||||
import com.eactive.eai.common.exception.ExceptionUtil;
|
import com.eactive.eai.common.exception.ExceptionUtil;
|
||||||
import com.eactive.eai.common.util.CommonLib;
|
import com.eactive.eai.common.util.CommonLib;
|
||||||
@@ -26,8 +27,11 @@ import java.net.URLDecoder;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Enumeration;
|
import java.util.Enumeration;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
import java.util.TreeMap;
|
||||||
|
|
||||||
public class HttpAdapterServiceStandard extends HttpAdapterServiceSupport
|
public class HttpAdapterServiceStandard extends HttpAdapterServiceSupport
|
||||||
{
|
{
|
||||||
@@ -218,8 +222,20 @@ public class HttpAdapterServiceStandard extends HttpAdapterServiceSupport
|
|||||||
if (addData.length() > 0){
|
if (addData.length() > 0){
|
||||||
responseData = addData + responseData;
|
responseData = addData + responseData;
|
||||||
}
|
}
|
||||||
// UI와 통신시(UTF-8) 변환오류로 ENCODE 제거
|
|
||||||
response.setContentType("text/plain");
|
// 300응답에서 받은 Header정보 사용하기 위해 읽어옴.
|
||||||
|
Map<String, Object> responsePropertyMap = new HashMap<String, Object>();
|
||||||
|
responsePropertyMap = (Map<String, Object>) prop.get(OUTBOUND_PROPERTY_MAP);
|
||||||
|
Properties responseHeaders = (Properties)responsePropertyMap.get(OUTBOUND_RESPONSE_HEADERS);
|
||||||
|
Map<String, String> 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.setCharacterEncoding(encode);
|
||||||
response.getWriter().print(responseData);
|
response.getWriter().print(responseData);
|
||||||
if (logger.isDebug()){
|
if (logger.isDebug()){
|
||||||
|
|||||||
Reference in New Issue
Block a user