표준전문 오류 처리 관련 수정

This commit is contained in:
yunjy-hp
2026-01-14 09:32:47 +09:00
parent 825a95a114
commit 6d1e76ad50
3 changed files with 20 additions and 14 deletions
@@ -259,18 +259,19 @@ public class HttpAdapterServiceStandard extends HttpAdapterServiceSupport
} }
// 300응답에서 받은 Header정보 사용하기 위해 읽어옴. // 300응답에서 받은 Header정보 사용하기 위해 읽어옴.
Map<String, Object> responsePropertyMap = new HashMap<String, Object>(); Map<String, Object> responsePropertyMap = (Map<String, Object>) prop.get(OUTBOUND_PROPERTY_MAP);
responsePropertyMap = (Map<String, Object>) prop.get(OUTBOUND_PROPERTY_MAP); if(responsePropertyMap != null){
Properties responseHeaders = (Properties)responsePropertyMap.get(OUTBOUND_RESPONSE_HEADERS); Properties responseHeaders = (Properties)responsePropertyMap.get(OUTBOUND_RESPONSE_HEADERS);
Map<String, String> responseHeaderMap = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); Map<String, String> responseHeaderMap = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
// Properties 내용을 모두 복사 // Properties 내용을 모두 복사
for (String name : responseHeaders.stringPropertyNames()) { for (String name : responseHeaders.stringPropertyNames()) {
responseHeaderMap.put(name, responseHeaders.getProperty(name)); responseHeaderMap.put(name, responseHeaders.getProperty(name));
} }
String contentTytpe = responseHeaderMap.get("Content-Type"); String contentTytpe = responseHeaderMap.get("Content-Type");
response.setContentType(contentTytpe); // 300응답에서 받은 Content-Type을 그대로 적용.
}
// UI와 통신시(UTF-8) 변환오류로 ENCODE 제거 // 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()){
@@ -185,6 +185,10 @@ public class EAIMessage implements EAIMessageKeys, Serializable, Comparable<EAIM
} }
public void setRspErrCd(String rspErrCd) { public void setRspErrCd(String rspErrCd) {
setRspErrCd(rspErrCd, true);
}
public void setRspErrCd(String rspErrCd, boolean isSetStandardMessageError) {
this.rspErrCd = rspErrCd; this.rspErrCd = rspErrCd;
// -------------------------------------------- // --------------------------------------------
// 에러메시지는 뒤의 9자리를 짤라서 설정한다. // 에러메시지는 뒤의 9자리를 짤라서 설정한다.
@@ -195,18 +199,15 @@ public class EAIMessage implements EAIMessageKeys, Serializable, Comparable<EAIM
// 20080919 - 업무에러일 경우에도 메시지에 설정하도록 수정 // 20080919 - 업무에러일 경우에도 메시지에 설정하도록 수정
// -------------------------------------------- // --------------------------------------------
if (this.mapper != null && this.standardMessage != null && rspErrCd != null && rspErrCd.length() == 12) { if (isSetStandardMessageError && this.mapper != null && this.standardMessage != null && rspErrCd != null && rspErrCd.length() == 12) {
if (rspErrCd.startsWith("RE") || rspErrCd.startsWith("RF") || rspErrCd.equals(BWK_FAILMSG_CODE)) { if (rspErrCd.startsWith("RE") || rspErrCd.startsWith("RF") || rspErrCd.equals(BWK_FAILMSG_CODE)) {
// migration ExtMessage to StandardMessage // migration ExtMessage to StandardMessage
//getMapper().setErrorCode(standardMessage, rspErrCd); //getMapper().setErrorCode(standardMessage, rspErrCd);
StandardMessageManager standardManager = StandardMessageManager.getInstance(); StandardMessageManager standardManager = StandardMessageManager.getInstance();
standardManager.getMessageCoordinator().coordinateSetStandardMessageError(standardMessage, getMapper(), rspErrCd, null); standardManager.getMessageCoordinator().coordinateSetStandardMessageError(standardMessage, getMapper(), rspErrCd, null);
getMapper().setResponseType(standardMessage, STDMessageKeys.RESPONSE_TYPE_CODE_E); getMapper().setResponseType(standardMessage, STDMessageKeys.RESPONSE_TYPE_CODE_E);
} }
} }
} }
public String getRspErrMsg() { public String getRspErrMsg() {
@@ -675,6 +675,10 @@ public abstract class DefaultProcess extends Process {
AdapterVO inboundAdapterVO = AdapterManager.getInstance().getAdapterVO(inboudnAdapterGroupName, inboudnAdapterName); AdapterVO inboundAdapterVO = AdapterManager.getInstance().getAdapterVO(inboudnAdapterGroupName, inboudnAdapterName);
String errorResponseHandlerClass = AdapterPropManager.getInstance().getProperty(inboundAdapterVO.getPropGroupName(), "ERR_MSG_HANDLER"); String errorResponseHandlerClass = AdapterPropManager.getInstance().getProperty(inboundAdapterVO.getPropGroupName(), "ERR_MSG_HANDLER");
if(StringUtils.isBlank(errorResponseHandlerClass)) { if(StringUtils.isBlank(errorResponseHandlerClass)) {
this.resEaiMsg.setRspErrCd("RECEAIINA001", false);
// String errorCode = mapper.getErrorCode(resStandardMessage);
String errorMsg = mapper.getErrorMsg(resStandardMessage);
this.resEaiMsg.setRspErrMsg(errorMsg);
return; return;
} }