DJBank에 필요없는 클래스 정리

- 타 사이트 설정파일 및 표준전문 클래스
This commit is contained in:
curry772
2026-06-01 09:57:06 +09:00
parent 6a53e29710
commit 7109c56623
41 changed files with 1 additions and 2608 deletions
@@ -1,81 +0,0 @@
package com.eactive.eai.custom.message;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import org.apache.commons.lang3.StringUtils;
import com.eactive.eai.common.server.Keys;
import com.eactive.eai.common.util.StringUtil;
import com.eactive.eai.common.util.UUID;
/**
* 1. 기능 : UUID Generation Class 2. 처리 개요 : * - 3. 주의사항
*
* @author :
* @version : v 1.0.0
* @see : 관련 기능을 참조
* @since : :
*/
public final class GUIDGeneratorKAKAOCARD {
private static final DateTimeFormatter SDF_YYYYMMDDHHMMSSMS = DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS");
/*
* 날짜(17) + "-"(1) + 시스템코드(3) + hostname(6) + 일련번호(5) + "-"(1) + 001(3)
*
*/
public static final int GUID_LENGTH = 33; // seq값 제외부분
/**
* 1. 기능 : Private 생성자 2. 처리 개요 : - 3. 주의사항 - Instance 생성하지 못함
**/
private GUIDGeneratorKAKAOCARD() {
}
public synchronized static String getGUID(String systemCode) {
StringBuilder sb = new StringBuilder();
sb.append(SDF_YYYYMMDDHHMMSSMS.format(ZonedDateTime.now()));
sb.append("-");
sb.append(systemCode);
sb.append(UNIQUE_NUM);
char[] formatSeq = { '0', '0', '0', '0', '0' };
char[] seqCharArray = String.valueOf(seq).toCharArray();
int destPos = formatSeq.length - seqCharArray.length;
System.arraycopy(seqCharArray, 0, formatSeq, destPos, seqCharArray.length);
sb.append(formatSeq);
seq++;
if (seq > 99999) {
seq = 1;
}
return sb.toString() + "-" + "001";
}
private static String UNIQUE_NUM;
private static int seq = 1;
private static int hostlength = 6;
static {
String uniqueValue = System.getProperty(Keys.SERVER_KEY);
if (StringUtils.isBlank(uniqueValue)) {
try {
uniqueValue = java.net.InetAddress.getLocalHost().getHostName();
} catch (Exception e) {
uniqueValue = StringUtil.stringFormat("", false, 'X', hostlength);
}
}
if (uniqueValue.length() > hostlength) {
uniqueValue = uniqueValue.substring(uniqueValue.length() - hostlength, uniqueValue.length());
} else if (uniqueValue.length() < hostlength) {
uniqueValue = StringUtil.stringFormat(uniqueValue, false, 'X', hostlength);
}
UNIQUE_NUM = uniqueValue.toUpperCase();
}
public static void main(String[] args) {
String guid = getGUID("FEP");
// System.out.println("[" + guid.length() + "]" + guid);
}
}
@@ -1,40 +0,0 @@
package com.eactive.eai.custom.message;
import com.eactive.eai.common.server.Keys;
import com.eactive.eai.common.util.DatetimeUtil;
import com.eactive.eai.common.util.StringUtil;
public class GUIDGeneratorKBANK {
private static String UNIQUE_NUM;
private static int seq = 1;
static {
String uniqueValue = System.getProperty(Keys.SERVER_KEY);
if(uniqueValue.length() < 8) {
uniqueValue = StringUtil.stringFormat(uniqueValue, false, '0', 8);
}else if(uniqueValue.length() > 8){
uniqueValue = uniqueValue.substring(uniqueValue.length() - 8);
}
UNIQUE_NUM = uniqueValue.toUpperCase();
}
public synchronized static String makeGUID() {
StringBuilder sb = new StringBuilder();
sb.append(DatetimeUtil.getCurrentDateTime());
sb.append(UNIQUE_NUM);
char[] formatSeq = {'0','0','0','0','0','0','0','0'};
char[] seqCharArray = String.valueOf(seq).toCharArray();
int destPos = formatSeq.length - seqCharArray.length;
System.arraycopy(seqCharArray, 0, formatSeq, destPos, seqCharArray.length);
sb.append(formatSeq);
seq ++;
if(seq > 99999999) {
seq = 1;
}
return sb.toString() ;
}
}
@@ -1,98 +0,0 @@
package com.eactive.eai.custom.message;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import com.eactive.eai.common.util.DatetimeUtil;
import org.apache.commons.lang3.StringUtils;
import com.eactive.eai.common.server.Keys;
import com.eactive.eai.common.util.StringUtil;
import com.eactive.eai.common.util.UUID;
/**
* 1. 기능 : UUID Generation Class 2. 처리 개요 : * - 3. 주의사항
*
* @author :
* @version : v 1.0.0
* @see : 관련 기능을 참조
* @since : :
*/
public final class GUIDGeneratorKJB {
/*
* 그룹사코드(3) + 호스트명(8) + 서버구분번호(2) + 일자(8) + 전문생성시간(6) + 일련번호(6) + 시스템경로번호(3, '001')
*/
public static final int GUID_LENGTH = 33; // 시스템경로번호 제외부분
/**
* 1. 기능 : Private 생성자 2. 처리 개요 : - 3. 주의사항 - Instance 생성하지 못함
**/
private GUIDGeneratorKJB() {
}
public synchronized static String getGUID(String groupCmpCd) {
String guid = groupCmpCd + UNIQUE_NUM;
guid = guid + DatetimeUtil.getCurrentDateTime();
if(seq < 10) {
guid = guid + "00000" + seq;
}
else if(seq < 100) {
guid = guid + "0000" + seq;
}
else if(seq < 1000) {
guid = guid + "000" + seq;
}
else if(seq < 10000) {
guid = guid + "00" + seq;
}
else if(seq < 100000) {
guid = guid + "0" + seq;
}
else {
guid = guid + seq;
}
seq ++;
if(seq > 999999) {
seq = 1;
}
return guid + "001";
}
private static String UNIQUE_NUM;
private static int seq = 1;
static {
String hostname = "";
try {
hostname = java.net.InetAddress.getLocalHost().getHostName();
}
catch(Exception e) {
hostname = "________";
}
if(hostname.getBytes().length != 8) {
if(hostname.getBytes().length < 8) {
hostname = StringUtils.leftPad(hostname, 8, '_');
} else if(hostname.getBytes().length > 8) {
hostname = StringUtils.substring(hostname, 0, 8);
}
}
String serverName = System.getProperty(Keys.SERVER_KEY);
String instid = "00";
if(serverName != null && serverName.length() > 2) {
instid = serverName.substring(serverName.length()-2, serverName.length());
}
UNIQUE_NUM = hostname.toUpperCase() + instid;
}
public static void main(String[] args) {
String guid = getGUID("051");
// System.out.println("[" + guid.length() + "]" + guid);
}
}
@@ -1,60 +0,0 @@
package com.eactive.eai.custom.message;
import java.text.SimpleDateFormat;
import com.eactive.eai.common.server.Keys;
import com.eactive.eai.common.util.StringUtil;
public final class GUIDGeneratorSBI {
private static final SimpleDateFormat SDF_YYYYMMDDHHMMSSMI = new SimpleDateFormat("yyyyMMddHHmmssSSS");
private GUIDGeneratorSBI() {
}
/**
* 시스템일시(17)+시스템환경코드(1)+시스템코드(3)+시스템고유번호(9)+일련번호(2)
*
* @param envDvcd
* @return
*/
public synchronized static String getGUID(String envDvcd, String systemType) {
String guid = (SDF_YYYYMMDDHHMMSSMI).format(new java.util.Date()) + envDvcd + systemType + UNIQUE_NUM;
if (seq < 10) {
guid = guid + "0" + seq;
} else {
guid = guid + seq;
}
seq++;
if (seq > 99) {
seq = 1;
}
return guid;
}
private static String UNIQUE_NUM;
private static int seq = 1;
static {
String hostname = "";
try {
hostname = java.net.InetAddress.getLocalHost().getHostName();
} catch (Exception e) {
hostname = "_______";
}
if (hostname.getBytes().length != 7) {
hostname = StringUtil.stringFormat(hostname, false, '_', 7);
}
String serverName = System.getProperty(Keys.SERVER_KEY); // inst.Name
String instid = "11";
if (serverName != null && serverName.length() > 2) {
instid = serverName.substring(serverName.length() - 2, serverName.length());
}
UNIQUE_NUM = hostname.toUpperCase() + instid;
}
}
@@ -1,202 +0,0 @@
package com.eactive.eai.custom.message;
import org.apache.commons.lang3.StringUtils;
import com.eactive.eai.common.server.EAIServerManager;
import com.eactive.eai.common.util.StringUtil;
import com.eactive.eai.message.StandardMessage;
import com.eactive.eai.message.service.DefaultInterfaceMapper;
import com.ext.eai.common.stdmessage.STDMessageKeys;
@SuppressWarnings("serial")
public class InterfaceMapperKAKAOCARD extends DefaultInterfaceMapper {
private static String SESSION_ID = "INTERFACE_COMMON.MCI_SESN_ID";
private static String INSTANCE_ID = "INTERFACE_COMMON.MCI_INSTNC_ID";
@Override
public String getEaiSvcCode(StandardMessage standardMessage) {
String eaiSvcCode = null;
String interfaceId = getInterfaceId(standardMessage);
String returnType = getSendRecvDivision(standardMessage); // S | R
String inExDivision = getInExDivision(standardMessage); // 1 | 2
if (interfaceId == null)
interfaceId = "";
interfaceId = interfaceId.trim();
// TODO : site에 맞게 조합해야 함.
eaiSvcCode = interfaceId + returnType + StringUtils.defaultString(inExDivision);
return eaiSvcCode;
}
@Override
public void setGuid(StandardMessage standardMessage, String guid) {
if (guid == null)
throw new RuntimeException("guid is null");
if (guid.length() != 36)
throw new RuntimeException("The length of guid is not 36");
setItemValue(standardMessage, getPath(GUID), guid);
}
@Override
public String getGuid(StandardMessage standardMessage) {
String guid = getItemValue(standardMessage, getPath(GUID));
if (guid.length() == 36) {
guid = guid.substring(0, 33);
}
return guid;
}
@Override
public String getGuidSeq(StandardMessage standardMessage) {
String guidseq = null;
String guid = getItemValue(standardMessage, getPath(GUID));
if (guid.length() == 36) {
guidseq = guid.substring(33);
} else {
guidseq = "000";
}
return guidseq;
}
@Override
public void setGuidSeq(StandardMessage standardMessage, String guidSeq) {
setItemValue(standardMessage, getPath(GUID), getGuid(standardMessage) + guidSeq);
}
@Override
public String getOrgGuid(StandardMessage standardMessage) {
String orgGuid = getItemValue(standardMessage, getPath(GUID_ORG));
if (orgGuid.length() == 36) {
orgGuid = orgGuid.substring(0, 33);
}
return orgGuid;
}
@Override
public void setOrgGuid(StandardMessage standardMessage, String orgGuid) {
if (orgGuid.length() == 36) {
orgGuid = orgGuid.substring(0, 33);
}
setItemValue(standardMessage, getPath(GUID_ORG), orgGuid);
}
@Override
public String nextGuidSeq(StandardMessage standardMessage) {
String guidSeq = getGuidSeq(standardMessage);
if (guidSeq == null)
return "";
int seq = 0;
try {
seq = Integer.parseInt(guidSeq) + 1;
} catch (NumberFormatException e) {
seq = 1;
}
guidSeq = StringUtil.stringFormat(Integer.toString(seq), true, '0', 3);
setGuidSeq(standardMessage, guidSeq);
return guidSeq;
}
/**
* 표준전문의 복원은 COMMON.ORTR_RESTR_YN 의 value는 (Y/N) 엔진에서 복원여부 의 value는 (1/0)
*/
@Override
public String getRecoverYn(StandardMessage standardMessage) {
String data = getItemValue(standardMessage, getPath(RECOVER_YN));
if ("Y".equals(data)) {
return "1";
} else {
return "0";
}
}
@Override
public void setRecoverYn(StandardMessage standardMessage, String recoverYn) {
if ("1".equals(recoverYn)) {
setItemValue(standardMessage, getPath(RECOVER_YN), "Y");
} else {
setItemValue(standardMessage, getPath(RECOVER_YN), "N");
}
}
@Override
public String getInstCode(StandardMessage standardMessage) {
EAIServerManager server = EAIServerManager.getInstance();
if (server != null && server.isMCI()) {
return getItemValue(standardMessage, INSTANCE_ID);
} else {
return "";
}
}
@Override
public void setInstCode(StandardMessage standardMessage, String instCode) {
EAIServerManager server = EAIServerManager.getInstance();
if (server != null && server.isMCI()) {
setItemValue(standardMessage, INSTANCE_ID, instCode);
}
}
@Override
public String getSessionId(StandardMessage standardMessage) {
EAIServerManager server = EAIServerManager.getInstance();
if (server != null && server.isMCI()) {
return getItemValue(standardMessage, SESSION_ID);
} else {
return "";
}
}
@Override
public void setSessionId(StandardMessage standardMessage, String sessionId) {
EAIServerManager server = EAIServerManager.getInstance();
if (server != null && server.isMCI()) {
setItemValue(standardMessage, SESSION_ID, sessionId);
}
}
/*
* 엔진 에서는 public static final String RESPONSE_TYPE_CODE_N = "0";//정상(normal)
* public static final String RESPONSE_TYPE_CODE_E = "1";//오류(error)
*/
@Override
public void setResponseType(StandardMessage standardMessage, String responseType) {
if (responseType != null && (STDMessageKeys.RESPONSE_TYPE_CODE_N.equals(responseType)
|| STDMessageKeys.RESPONSE_TYPE_CODE_E.equals(responseType))) {
if (STDMessageKeys.RESPONSE_TYPE_CODE_N.equals(responseType)) {
setItemValue(standardMessage, getPath(RESPONSE_TYPE), "NR");
} else {
setItemValue(standardMessage, getPath(RESPONSE_TYPE), "ER");
}
} else {
setItemValue(standardMessage, getPath(RESPONSE_TYPE), responseType);
}
}
@Override
public String getInterfaceId(StandardMessage standardMessage) {
String interfaceId = getItemValue(standardMessage, getPath(INTERFACE_ID));
if (interfaceId == null)
return "";
interfaceId = interfaceId.trim();
return interfaceId;
}
@Override
public String getReqSysCode(StandardMessage standardMessage) {
// apiPath의 값에서 추출할 예정 : serviceId = api_path
String apiPath = getItemValue(standardMessage, getPath(SERVICE_ID));
if (apiPath != null) {
String[] split = apiPath.split("/");
if (split.length > 2) {
String route = split[1].toUpperCase();
if (route.length() > 3) {
route = route.substring(0, 3);
}
return route;
}
}
return null;
}
}
@@ -1,50 +0,0 @@
package com.eactive.eai.custom.message;
import org.apache.commons.lang3.StringUtils;
import com.eactive.eai.message.StandardMessage;
import com.eactive.eai.message.service.DefaultInterfaceMapper;
import com.ext.eai.common.stdmessage.STDMessageKeys;
public class InterfaceMapperKBANK extends DefaultInterfaceMapper {
private static final long serialVersionUID = 1L;
//전문작성일시
String ITEM_TLGR_WRTN_DT = "header_part.tlgrWrtnDt";
//전문생성시스템
String ITEM_TLGR_CRTN_SYS_NM = "header_part.tlgrCrtnSysNm";
//전문일련번호
String ITEM_TLGR_SRL_NO = "header_part.tlgrSrlNo";
@Override
public String getInExDivision(StandardMessage standardMessage) {
return "2";
}
@Override
public void setGuid(StandardMessage standardMessage, String guid) {
String tlgrWrtnDt = StringUtils.substring(guid, 0, 14);
String tlgrCrtnSysNm = StringUtils.substring(guid, 14, 22);
String tlgrSrlNo = StringUtils.substring(guid, 22, 30);
setItemValue(standardMessage, ITEM_TLGR_WRTN_DT, tlgrWrtnDt);
setItemValue(standardMessage, ITEM_TLGR_CRTN_SYS_NM, tlgrCrtnSysNm);
setItemValue(standardMessage, ITEM_TLGR_SRL_NO, tlgrSrlNo);
}
@Override
public void setGuidSeq(StandardMessage standardMessage, String guidSeq) {
if(guidSeq.length() == 1) {
guidSeq = "0"+guidSeq;
}
super.setGuidSeq(standardMessage, guidSeq);
}
@Override
public String getGuid(StandardMessage standardMessage) {
String tlgrWrtnDt = getItemValue(standardMessage, ITEM_TLGR_WRTN_DT);
String tlgrCrtnSysNm = getItemValue(standardMessage, ITEM_TLGR_CRTN_SYS_NM);
String tlgrSrlNo = getItemValue(standardMessage, ITEM_TLGR_SRL_NO);
return tlgrWrtnDt+tlgrCrtnSysNm+tlgrSrlNo;
}
}
@@ -1,202 +0,0 @@
package com.eactive.eai.custom.message;
import org.apache.commons.lang3.StringUtils;
import com.eactive.eai.common.server.EAIServerManager;
import com.eactive.eai.common.util.StringUtil;
import com.eactive.eai.message.StandardMessage;
import com.eactive.eai.message.service.DefaultInterfaceMapper;
import com.ext.eai.common.stdmessage.STDMessageKeys;
@SuppressWarnings("serial")
public class InterfaceMapperKJB extends DefaultInterfaceMapper {
private static String SESSION_ID = "INTERFACE_COMMON.MCI_SESN_ID";
private static String INSTANCE_ID = "INTERFACE_COMMON.MCI_INSTNC_ID";
@Override
public String getEaiSvcCode(StandardMessage standardMessage) {
String eaiSvcCode = null;
String interfaceId = getInterfaceId(standardMessage);
String returnType = getSendRecvDivision(standardMessage); // S | R
String inExDivision = getInExDivision(standardMessage); // 1 | 2
if (interfaceId == null)
interfaceId = "";
interfaceId = interfaceId.trim();
// TODO : site에 맞게 조합해야 함.
eaiSvcCode = interfaceId + returnType + StringUtils.defaultString(inExDivision);
return eaiSvcCode;
}
@Override
public void setGuid(StandardMessage standardMessage, String guid) {
if (guid == null)
throw new RuntimeException("guid is null");
if (guid.length() != 36)
throw new RuntimeException("The length of guid is not 36");
setItemValue(standardMessage, getPath(GUID), guid);
}
@Override
public String getGuid(StandardMessage standardMessage) {
String guid = getItemValue(standardMessage, getPath(GUID));
if (guid.length() == 36) {
guid = guid.substring(0, 33);
}
return guid;
}
@Override
public String getGuidSeq(StandardMessage standardMessage) {
String guidseq = null;
String guid = getItemValue(standardMessage, getPath(GUID));
if (guid.length() == 36) {
guidseq = guid.substring(33);
} else {
guidseq = "000";
}
return guidseq;
}
@Override
public void setGuidSeq(StandardMessage standardMessage, String guidSeq) {
setItemValue(standardMessage, getPath(GUID), getGuid(standardMessage) + guidSeq);
}
@Override
public String getOrgGuid(StandardMessage standardMessage) {
String orgGuid = getItemValue(standardMessage, getPath(GUID));
if (orgGuid.length() == 36) {
orgGuid = orgGuid.substring(0, 33);
}
return orgGuid;
}
@Override
public void setOrgGuid(StandardMessage standardMessage, String orgGuid) {
if (orgGuid.length() == 36) {
orgGuid = orgGuid.substring(0, 33);
}
setItemValue(standardMessage, getPath(GUID_ORG), orgGuid);
}
@Override
public String nextGuidSeq(StandardMessage standardMessage) {
String guidSeq = getGuidSeq(standardMessage);
if (guidSeq == null)
return "";
int seq = 0;
try {
seq = Integer.parseInt(guidSeq) + 1;
} catch (NumberFormatException e) {
seq = 1;
}
guidSeq = StringUtil.stringFormat(Integer.toString(seq), true, '0', 3);
setGuidSeq(standardMessage, guidSeq);
return guidSeq;
}
/**
* 표준전문의 복원은 COMMON.ORTR_RESTR_YN 의 value는 (Y/N) 엔진에서 복원여부 의 value는 (1/0)
*/
@Override
public String getRecoverYn(StandardMessage standardMessage) {
String data = getItemValue(standardMessage, getPath(RECOVER_YN));
if ("Y".equals(data)) {
return "1";
} else {
return "0";
}
}
@Override
public void setRecoverYn(StandardMessage standardMessage, String recoverYn) {
if ("1".equals(recoverYn)) {
setItemValue(standardMessage, getPath(RECOVER_YN), "Y");
} else {
setItemValue(standardMessage, getPath(RECOVER_YN), "N");
}
}
@Override
public String getInstCode(StandardMessage standardMessage) {
EAIServerManager server = EAIServerManager.getInstance();
if (server != null && server.isMCI()) {
return getItemValue(standardMessage, INSTANCE_ID);
} else {
return "";
}
}
@Override
public void setInstCode(StandardMessage standardMessage, String instCode) {
EAIServerManager server = EAIServerManager.getInstance();
if (server != null && server.isMCI()) {
setItemValue(standardMessage, INSTANCE_ID, instCode);
}
}
@Override
public String getSessionId(StandardMessage standardMessage) {
EAIServerManager server = EAIServerManager.getInstance();
if (server != null && server.isMCI()) {
return getItemValue(standardMessage, SESSION_ID);
} else {
return "";
}
}
@Override
public void setSessionId(StandardMessage standardMessage, String sessionId) {
EAIServerManager server = EAIServerManager.getInstance();
if (server != null && server.isMCI()) {
setItemValue(standardMessage, SESSION_ID, sessionId);
}
}
/*
* 엔진 에서는 public static final String RESPONSE_TYPE_CODE_N = "0";//정상(normal)
* public static final String RESPONSE_TYPE_CODE_E = "1";//오류(error)
*/
@Override
public void setResponseType(StandardMessage standardMessage, String responseType) {
if (responseType != null && (STDMessageKeys.RESPONSE_TYPE_CODE_N.equals(responseType)
|| STDMessageKeys.RESPONSE_TYPE_CODE_E.equals(responseType))) {
if (STDMessageKeys.RESPONSE_TYPE_CODE_N.equals(responseType)) {
setItemValue(standardMessage, getPath(RESPONSE_TYPE), "NR");
} else {
setItemValue(standardMessage, getPath(RESPONSE_TYPE), "ER");
}
} else {
setItemValue(standardMessage, getPath(RESPONSE_TYPE), responseType);
}
}
@Override
public String getInterfaceId(StandardMessage standardMessage) {
String interfaceId = getItemValue(standardMessage, getPath(INTERFACE_ID));
if (interfaceId == null)
return "";
interfaceId = interfaceId.trim();
return interfaceId;
}
@Override
public String getReqSysCode(StandardMessage standardMessage) {
// apiPath의 값에서 추출할 예정 : serviceId = api_path
String apiPath = getItemValue(standardMessage, getPath(SERVICE_ID));
if (apiPath != null) {
String[] split = apiPath.split("/");
if (split.length > 2) {
String route = split[1].toUpperCase();
if (route.length() > 3) {
route = route.substring(0, 3);
}
return route;
}
}
return null;
}
}
@@ -1,21 +0,0 @@
package com.eactive.eai.custom.message;
import org.apache.commons.lang3.StringUtils;
import com.eactive.eai.message.StandardMessage;
import com.eactive.eai.message.service.DefaultInterfaceMapper;
import com.ext.eai.common.stdmessage.STDMessageKeys;
@SuppressWarnings("serial")
public class InterfaceMapperSBI extends DefaultInterfaceMapper {
@Override
public String getSendRecvDivision(StandardMessage standardMessage) {
String sendRecvDivision = super.getSendRecvDivision(standardMessage);
if (StringUtils.equals(sendRecvDivision, "Q")) {
return STDMessageKeys.SEND_RECV_CD_SEND;
} else {
return sendRecvDivision;
}
}
}
@@ -1,419 +0,0 @@
package com.eactive.eai.custom.message;
import java.util.Properties;
import org.apache.commons.lang3.StringUtils;
import com.eactive.eai.adapter.http.client.HttpClientAdapterServiceKey;
import com.eactive.eai.adapter.http.dynamic.HttpAdapterServiceKey;
import com.eactive.eai.common.exception.ExceptionUtil;
import com.eactive.eai.common.message.EAIMessage;
import com.eactive.eai.common.property.PropManager;
import com.eactive.eai.common.server.EAIServerManager;
import com.eactive.eai.common.util.DatetimeUtil;
import com.eactive.eai.common.util.Logger;
import com.eactive.eai.common.util.MessageUtil;
import com.eactive.eai.custom.stderrorcode.ChannelErrorCodeManager;
import com.eactive.eai.custom.stderrorcode.ChannelErrorCodeVO;
import com.eactive.eai.custom.stderrorcode.StdErrorCodeManager;
import com.eactive.eai.custom.stderrorcode.StdErrorCodeVO;
import com.eactive.eai.inbound.error.InboundErrorKeys;
import com.eactive.eai.inbound.processor.ProcessVO;
import com.eactive.eai.message.StandardItem;
import com.eactive.eai.message.StandardMessage;
import com.eactive.eai.message.manager.StandardMessageManager;
import com.eactive.eai.message.service.DefaultStandardMessageCoordinator;
import com.eactive.eai.message.service.InterfaceMapper;
import com.ext.eai.common.stdmessage.STDMessageErrorKeys;
import com.ext.eai.common.stdmessage.STDMessageKeys;
public class StandardMessageCoordinatorKAKAOCARD extends DefaultStandardMessageCoordinator {
static Logger logger = Logger.getLogger(Logger.LOGGER_DEFAULT);
//private static int defaultTimeout = 30;
private static String GW_SESSION_ID = "INTERFACE_COMMON.GTWY_SESN_ID";
private static String GW_INSTANCE_ID = "INTERFACE_COMMON.GTWY_INSTNC_ID";
private static String MESSAGE_OUT_ATRB_CD = "MESSAGE.OUT_ATRB_CD";//출력속성코드
private static String MESSAGE_OUT_MSG_DESC = "MESSAGE.OUT_MSG_DESC";//출력메시지설명
private static String COMMON_OUT_FMSG_DSTCD = "COMMON.OUT_FMSG_DSTCD";//출력전문구별코드
private static String MESSAGE = "MESSAGE";//메시지부
@Override
public void coordinateAfterParsing(StandardMessage standardMessage, Object paramObject, Properties prop) {
StandardMessageManager standardManager = StandardMessageManager.getInstance();
InterfaceMapper mapper = standardManager.getMapper();
//표준에서 들어올때 표준전문의 값을 header에 셋팅
//표준전문 to prop
if (EAIServerManager.getInstance().isFEP()) {
StandardItem gwSesnId = standardMessage.findItem(GW_SESSION_ID);//transactionId
StandardItem gwNodeNo = standardMessage.findItem(GW_INSTANCE_ID);//instanceId
if (gwSesnId != null && gwNodeNo != null && StringUtils.isNotBlank(gwSesnId.getValue()) && StringUtils.isNotBlank(gwNodeNo.getValue())) {
prop.put(HttpClientAdapterServiceKey.TRANSACTION_ID, gwSesnId.getValue());
prop.put(HttpClientAdapterServiceKey.INSTANCE_ID, gwNodeNo.getValue());
}
}
// REST용 전달값 중 api_path 이후의 값을 표준전문 API_PATH에 셋팅
String adapterApiPath = prop.getProperty(HttpAdapterServiceKey.API_PATH);
if (StringUtils.isNotBlank(adapterApiPath)) {
String adapterExtUri = prop.getProperty(HttpAdapterServiceKey.INBOUND_EXTURI);
/*
* apiPath 나머지를 추출하기 위해서
* 예) 어댑터에 설정되어 있는 API_PATH = /api/cts
* 어댑터에 들어온 INBOUND_EXTURI = /api/cts/cmb/api/user/custom
* 표준전문에 셋팅하고 싶은값 /cmb/api/user/custom
*/
String standardApiPath = adapterExtUri.replaceAll(adapterApiPath, "");
if (!standardApiPath.startsWith("/")) {
standardApiPath = standardApiPath + "/";
}
if (standardApiPath.length() > 1) {
mapper.setServiceId(standardMessage,standardApiPath);
}
}
//아래로직은 표준전문에서 요청일때 MESSAGE부가 안보이고 응답일때 MESSAGE부 보이게 설정
String sendRecvDivision = mapper.getSendRecvDivision(standardMessage);
StandardItem msg = standardMessage.findItem(MESSAGE);
if (StringUtils.equals(sendRecvDivision, STDMessageKeys.SEND_RECV_CD_SEND)) {
msg.setHidden(true);
}
if (StringUtils.equals(sendRecvDivision, STDMessageKeys.SEND_RECV_CD_RECV)) {
msg.setHidden(false);
}
//mci이고 요청 거래시에 설정 인스턴스ID설정
EAIServerManager server = EAIServerManager.getInstance();
if (server != null && server.isMCI() && (StringUtils.equals(sendRecvDivision, STDMessageKeys.SEND_RECV_CD_SEND))) {
//인스턴스ID설정
String instCode = mapper.getInstCode(standardMessage);
String localServer = server.getLocalServerName();
if (instCode != null && localServer != null) {
mapper.setInstCode(standardMessage, localServer);
}
//타임아웃값이 없을경우 default값 설정
String timeout = mapper.getTimeout(standardMessage);
int defaultTimeout = getDefaultTimeout();
if (StringUtils.isBlank(timeout)) {
mapper.setTimeout(standardMessage, Integer.toString(defaultTimeout));
}else {
try {
Integer.parseInt(timeout);
}catch(Exception e) {
mapper.setTimeout(standardMessage, Integer.toString(defaultTimeout));
}
}
}
//TODO 표준전문 메시지 설정해야됨
//표준전문에 메시지 부에 값이 있을경우 처리
if (!msg.isHidden()) {
String errmsg = mapper.getErrorMsg(standardMessage);
if (StringUtils.isBlank(errmsg)) {
String errCode = mapper.getErrorCode(standardMessage);
if (StringUtils.isNotBlank(errCode)) {
StdErrorCodeManager manager = StdErrorCodeManager.getInstance();
StdErrorCodeVO vo = manager.getSTDErrorCode(errCode);
if (vo != null) {
mapper.setErrorMsg(standardMessage, vo.getErrMsg());
if (server != null && server.isMCI()) {
String type = mapper.getChannelDetailCd(standardMessage);
//채널오류코드 셋팅
ChannelErrorCodeManager cmanager = ChannelErrorCodeManager.getInstance();
ChannelErrorCodeVO cvo = cmanager.getChannelErrorCode(errCode+"_"+type);
if (cvo != null) {
mapper.setErrorMsg(standardMessage, cvo.getErrMsg());
}
}
}
}
}
}
}
@Override
//비표준처리
public void coordinateAfterCreateMessageByRule(StandardMessage standardMessage, Object paramObject, Properties prop) {
StandardMessageManager standardManager = StandardMessageManager.getInstance();
InterfaceMapper mapper = standardManager.getMapper();
//비표준에서 들어올때 header값을 표준전문에 셋팅
//prop to 표준전문
if (EAIServerManager.getInstance().isFEP()) {
String trandactionId = prop.getProperty(HttpClientAdapterServiceKey.TRANSACTION_ID);
String instanceId = prop.getProperty(HttpClientAdapterServiceKey.INSTANCE_ID);
if (StringUtils.isNotBlank(trandactionId) && StringUtils.isNotBlank(instanceId)) {
StandardItem gwSesnId = standardMessage.findItem(GW_SESSION_ID);//transactionId
if (gwSesnId != null) {
gwSesnId.setValue(trandactionId);
}
StandardItem gwNodeNo = standardMessage.findItem(GW_INSTANCE_ID);//instanceId
if (gwNodeNo != null) {
gwNodeNo.setValue(instanceId);
}
}
}
EAIServerManager eaiServerManager = EAIServerManager.getInstance();
//HEADER.GUID설정
mapper.setGuid(standardMessage,GUIDGeneratorKAKAOCARD.getGUID(eaiServerManager.getSystemType()));
//HEADER.FMSG_REQ_RES_DSTCD 전문요청응답구별코드 : 표준전문값
//HEADER.FRST_TRNM_IPAD 최초전송IP주소
mapper.setFirstReqIp(standardMessage, "0.0.0.0");
//HEADER.GNRZ_TMOT_TM 총괄타임아웃시간
mapper.setTimeout(standardMessage, "180");
// HEADER.SYS_ENV_DSTCD 시스템운영환경구분코드
String operationEnv = mapper.getOperationEnv(standardMessage);
if (operationEnv != null && StringUtils.isBlank(operationEnv)) {
mapper.setOperationEnv(standardMessage, getSysOprtEnvDvcd(eaiServerManager));
}
// HEADER.CARD_TX_TYP_DSTCD 거래유형구별코드
StandardItem cardTxTypDstcd = standardMessage.findItem("HEADER.CARD_TX_TYP_DSTCD");
if (cardTxTypDstcd != null ) {
cardTxTypDstcd.setValue("O");
}
//COMMON.GROUP_CMP_CD 그룹회사코드
StandardItem groupCmpCd = standardMessage.findItem("COMMON.GROUP_CMP_CD");
if (groupCmpCd != null ) {
groupCmpCd.setValue("090");
}
//COMMON.TX_BRCD 거래부점코드
StandardItem txBrcd = standardMessage.findItem("COMMON.TX_BRCD");
if (txBrcd != null ) {
txBrcd.setValue("0000");
}
//COMMON.RLTR_BRCD 실거래부점코드
StandardItem rltrBrcd = standardMessage.findItem("COMMON.RLTR_BRCD");
if (rltrBrcd != null ) {
rltrBrcd.setValue("0000");
}
//COMMON.TLRNO 텔러번호
StandardItem tlrno = standardMessage.findItem("COMMON.TLRNO");
if (tlrno != null ) {
tlrno.setValue("000000");
}
//COMMON.TX_DT 거래일자
StandardItem txDt = standardMessage.findItem("COMMON.TX_DT");
if (txDt != null ) {
txDt.setValue(DatetimeUtil.getFormattedDate("yyyyMMdd"));
}
//COMMON.TX_TM 거래시간
StandardItem txTm = standardMessage.findItem("COMMON.TX_TM");
if (txTm != null ) {
txTm.setValue(DatetimeUtil.getFormattedDate("HHmmssSSS"));
}
//아래로직은 표준전문에서 요청일때 MESSAGE부가 안보이고 응답일때 MESSAGE부 보이게 설정
String sendRecvDivision = mapper.getSendRecvDivision(standardMessage);
StandardItem msg = standardMessage.findItem(MESSAGE);
if (StringUtils.equals(sendRecvDivision, STDMessageKeys.SEND_RECV_CD_SEND)) {
msg.setHidden(true);
}
if (StringUtils.equals(sendRecvDivision, STDMessageKeys.SEND_RECV_CD_RECV)) {
msg.setHidden(false);
}
//TODO 표준전문 메시지 설정해야됨
//응답일경우 MESSAGE부에 정상 메시지 헤더를 설정하기 위해서
if (StringUtils.equals(sendRecvDivision, STDMessageKeys.SEND_RECV_CD_RECV)) {
StandardItem outputAtrbCd = standardMessage.findItem(MESSAGE_OUT_ATRB_CD);//출력속성코드
outputAtrbCd.setValue("1");
mapper.setErrorCode(standardMessage, STDMessageErrorKeys.SUCCESS_CODE_VALUE);
mapper.setErrorMsg(standardMessage, STDMessageErrorKeys.SUCCESS_MSG_VALUE);
mapper.setResponseType(standardMessage, STDMessageKeys.RESPONSE_TYPE_CODE_N);
}
}
@Override
public void coordinateInReturnObject(StandardMessage standardMessage) {
//아래로직은 표준전문에서 응답일때 MESSAGE부가 보이게 하기위해서
StandardMessageManager standardManager = StandardMessageManager.getInstance();
InterfaceMapper mapper = standardManager.getMapper();
mapper.setSendRecvDivision(standardMessage, STDMessageKeys.SEND_RECV_CD_RECV);
StandardItem msg = standardMessage.findItem(MESSAGE);
msg.setHidden(false);
}
public String getSysOprtEnvDvcd(EAIServerManager eaiServerManager) {
String result = "";
if (eaiServerManager.isPEAIServer()) { // 운영
result = "R";
} else if (eaiServerManager.isDEAIServer()) { // 개발
result = "D";
} else if (eaiServerManager.isSEAIServer()) { // 테스트/검증
result = "T";
}
return result;
}
@Override
public void coordinateBeforeInboundErrorResponse(StandardMessage standardMessage) {
StandardMessageManager standardManager = StandardMessageManager.getInstance();
InterfaceMapper mapper = standardManager.getMapper();
mapper.setSendRecvDivision(standardMessage, STDMessageKeys.SEND_RECV_CD_RECV);
StandardItem msg = standardMessage.findItem(MESSAGE);
msg.setHidden(false);
}
@Override
public boolean coordinateSetStandardMessageError(StandardMessage standardMessage, InterfaceMapper mapper,
String errCode, String errMsg) {
String siteErrCode = null;
String siteErrMessage = null;
if(errCode != null) {
siteErrCode = MessageUtil.getTobeCode(errCode);
siteErrMessage = MessageUtil.getTobeMessage(errCode);
}
String sendRecvDivision = mapper.getSendRecvDivision(standardMessage);
if (StringUtils.equals(sendRecvDivision, STDMessageKeys.SEND_RECV_CD_RECV)) {
StandardItem msg = standardMessage.findItem(MESSAGE);
msg.setHidden(false);
}
StandardItem outputAtrbCd = standardMessage.findItem(MESSAGE_OUT_ATRB_CD);//출력속성코드
outputAtrbCd.setValue("1");
if (siteErrCode != null) {
mapper.setErrorCode(standardMessage, siteErrCode);
}else if (errCode != null) {
mapper.setErrorCode(standardMessage, errCode);
}
if (siteErrMessage != null) {
mapper.setErrorMsg(standardMessage, siteErrMessage);
}else if (errMsg != null){
mapper.setErrorMsg(standardMessage, errMsg);
}
StandardItem outputMsgDesc = standardMessage.findItem(MESSAGE_OUT_MSG_DESC);//출력메시지설명
if (errMsg != null){
outputMsgDesc.setValue(errMsg);
}
mapper.setResponseType(standardMessage, STDMessageKeys.RESPONSE_TYPE_CODE_E);
return false;
}
@Override
//복원시
public void coordinateAfterRestored(StandardMessage dbMessage, StandardMessage responseMessage) {
StandardMessageManager standardManager = StandardMessageManager.getInstance();
InterfaceMapper mapper = standardManager.getMapper();
String interfaceId = mapper.getInterfaceId(responseMessage);
mapper.setInterfaceId(dbMessage, interfaceId);
String sendRecvDivision = mapper.getSendRecvDivision(responseMessage);
mapper.setSendRecvDivision(dbMessage, sendRecvDivision);
String inExDivision = mapper.getInExDivision(responseMessage);
mapper.setInExDivision(dbMessage, inExDivision);
String recoverYn = mapper.getRecoverYn(responseMessage);
mapper.setRecoverYn(dbMessage, recoverYn);
//복원시 처리결과수신 서비스코드를 서비스코드에 셋팅한다.
//처리결과수신값이 없을경우 원거래 서비스ID를 셋팅한다.
String returnServiceId = mapper.getReturnServiceId(dbMessage);
if (StringUtils.isBlank(returnServiceId)){
returnServiceId = mapper.getServiceId(dbMessage);
}
mapper.setServiceId(dbMessage, returnServiceId);
//표준전문 메시지 관련 설정
String dbSendRecvDivision = mapper.getSendRecvDivision(dbMessage);
StandardItem msg = dbMessage.findItem(MESSAGE);
if ( StringUtils.equals(dbSendRecvDivision, STDMessageKeys.SEND_RECV_CD_SEND)) {
msg.setHidden(true);
}
if (StringUtils.equals(dbSendRecvDivision, STDMessageKeys.SEND_RECV_CD_RECV)) {
msg.setHidden(false);
}
//응답일경우 MESSAGE부 정상설정
if (StringUtils.equals(dbSendRecvDivision, STDMessageKeys.SEND_RECV_CD_RECV)) {
StandardItem outputAtrbCd = dbMessage.findItem(MESSAGE_OUT_ATRB_CD);//출력속성코드
outputAtrbCd.setValue("1");
mapper.setErrorCode(dbMessage, STDMessageErrorKeys.SUCCESS_CODE_VALUE);//출력메시지코드
mapper.setErrorMsg(dbMessage, STDMessageErrorKeys.SUCCESS_MSG_VALUE);//출력메시지내용
mapper.setResponseType(dbMessage, STDMessageKeys.RESPONSE_TYPE_CODE_N);
}
}
@Override
public boolean coordinateIsWaitCheckForSync(StandardMessage responseMessage) {
StandardItem outputMesgTycd = responseMessage.findItem(COMMON_OUT_FMSG_DSTCD);
if (outputMesgTycd != null && StringUtils.equals(outputMesgTycd.getValue(), "9")) {
return true;
}
return false;
}
@Override
public int coordinateForTimeoutCodeToValue(EAIMessage eaiMessage) {
StandardMessageManager standardManager = StandardMessageManager.getInstance();
InterfaceMapper mapper = standardManager.getMapper();
EAIServerManager server = EAIServerManager.getInstance();
if (server != null && server.isMCI()) { //MCI 일경우 처리
StandardMessage standardMessage = eaiMessage.getStandardMessage();
String timeout = mapper.getTimeout(standardMessage);
int defaultTimeout = getDefaultTimeout();
if (StringUtils.isBlank(timeout)) {
return defaultTimeout;
}else {
try {
return Integer.parseInt(timeout);
}catch(Exception e) {
return defaultTimeout;
}
}
}else { //MCI 이외일 경우 처리 (인터페이스에 있는 타임아웃기준)
return eaiMessage.getCurrentSvcMsg().getTmoVl();
}
}
private int getDefaultTimeout() {
PropManager manager = PropManager.getInstance();
int defaultTimeout = 30;
try {
String sdefaultTimeout = manager.getProperty("KAKAO_CARD", "DEFAULT_TIMEOUT", Integer.toString(defaultTimeout));
defaultTimeout = Integer.parseInt(sdefaultTimeout);
}catch(Exception e) {
}
return defaultTimeout;
}
@Override
public boolean coordinateValidation(StandardMessage standardMessage, ProcessVO vo) {
// RECEAIIRP110 인터페이스 ({1}) 에 표준전문 항목 ({2}) 의 값이 없습니다.
// RECEAIIRP120 인터페이스 ({1}) 에 표준전문 항목 ({2}) 의 값을 확인하세요.
StandardMessageManager standardManager = StandardMessageManager.getInstance();
InterfaceMapper mapper = standardManager.getMapper();
String interfaceId = mapper.getInterfaceId(standardMessage);
String guid = mapper.getGuid(standardMessage);
if (StringUtils.isBlank(guid)) {
vo.setRspErrorCode("RECEAIIRP110");
vo.setRspErrorMsg(ExceptionUtil.make(vo.getRspErrorCode(), new String[] { interfaceId, "GUID" }));
vo.setErrTypeCode(InboundErrorKeys.IN_ERROR);
return false;
}
String guidSeq = mapper.getGuidSeq(standardMessage);
if (StringUtils.isBlank(guidSeq)) {
vo.setRspErrorCode("RECEAIIRP110");
vo.setRspErrorMsg(ExceptionUtil.make(vo.getRspErrorCode(), new String[] { interfaceId, "GUID" }));
vo.setErrTypeCode(InboundErrorKeys.IN_ERROR);
return false;
}
if (guid.length() + guidSeq.length() != 36) {
vo.setRspErrorCode("RECEAIIRP120");
vo.setRspErrorMsg(ExceptionUtil.make(vo.getRspErrorCode(), new String[] { interfaceId, "GUID" }));
vo.setErrTypeCode(InboundErrorKeys.IN_ERROR);
return false;
}
return true;
}
}
@@ -1,90 +0,0 @@
package com.eactive.eai.custom.message;
import java.util.Properties;
import com.eactive.eai.common.server.EAIServerManager;
import com.eactive.eai.common.server.Keys;
import com.eactive.eai.common.util.DatetimeUtil;
import com.eactive.eai.common.util.MessageUtil;
import com.eactive.eai.common.util.StringUtil;
import com.eactive.eai.message.StandardItem;
import com.eactive.eai.message.StandardMessage;
import com.eactive.eai.message.manager.StandardMessageManager;
import com.eactive.eai.message.service.DefaultStandardMessageCoordinator;
import com.eactive.eai.message.service.InterfaceMapper;
import com.ext.eai.common.stdmessage.STDMessageKeys;
public class StandardMessageCoordinatorKBANK extends DefaultStandardMessageCoordinator {
private static final String MESSAGE_PART_SUB_MSG_GOUP = "message_part.subMsgGoup";
private static final String MESSAGE_PART_MSG_TYPE = "message_part.msgType";
private static final String MESSAGE_PART = "message_part";
@Override
public void coordinateAfterParsing(StandardMessage standardMessage, Object paramObject, Properties prop) {
}
@Override
public void coordinateAfterCreateMessageByRule(StandardMessage standardMessage, Object paramObject, Properties prop) {
// guid 설정
StandardMessageManager standardManager = StandardMessageManager.getInstance();
InterfaceMapper mapper = standardManager.getMapper();
String guid = GUIDGeneratorKBANK.makeGUID();
mapper.setGuid(standardMessage, guid);
String orgGuid = guid + mapper.getGuidSeq(standardMessage);
mapper.setOrgGuid(standardMessage, orgGuid);
mapper.setOperationEnv(standardMessage, System.getProperty(Keys.EAI_SYSTEMMODE));
mapper.setFirstReqIp(standardMessage, EAIServerManager.getInstance().getServerIp());
}
@Override
public boolean coordinateSetStandardMessageError(StandardMessage standardMessage, InterfaceMapper mapper,
String errCode, String errMsg) {
mapper.setResponseType(standardMessage, STDMessageKeys.RESPONSE_TYPE_CODE_E);
StandardItem messagePart = standardMessage.findItem(MESSAGE_PART);
messagePart.setHidden(false);
messagePart.setSize(1);
StandardItem messageType = standardMessage.findItem(MESSAGE_PART_MSG_TYPE);
messageType.setValue("99");
StandardItem subMsgGoup = standardMessage.findItem(MESSAGE_PART_SUB_MSG_GOUP);
subMsgGoup.getList().clear();
subMsgGoup.setRefValue("0");
if(errCode != null) {
String siteErrCode = MessageUtil.getTobeCode(errCode);
String siteErrMessage;
switch(errCode) {
case("RECEAIIRP070"):
siteErrMessage = "거래 통제 되었습니다.";
break;
default:
siteErrMessage = MessageUtil.getTobeMessage(errCode); break;
}
mapper.setErrorCode(standardMessage, siteErrCode);
mapper.setErrorMsg(standardMessage, siteErrMessage);
}
return false;
}
@Override
public void coordinateAfterRecvNonStdSyncResponse(StandardMessage responseMessage) {
StandardItem messagePart = responseMessage.findItem(MESSAGE_PART);
messagePart.setHidden(false);
messagePart.setSize(1);
StandardItem subMsgGoup = responseMessage.findItem(MESSAGE_PART_SUB_MSG_GOUP);
subMsgGoup.getList().clear();
subMsgGoup.setRefValue("0");
}
}
@@ -1,199 +0,0 @@
package com.eactive.eai.custom.message;
import com.eactive.eai.adapter.AdapterGroupVO;
import com.eactive.eai.adapter.AdapterManager;
import com.eactive.eai.common.dao.Keys;
import com.eactive.eai.common.server.EAIServerManager;
import com.eactive.eai.common.util.DatetimeUtil;
import com.eactive.eai.common.util.Logger;
import com.eactive.eai.common.util.MessageUtil;
import com.eactive.eai.common.util.StringUtil;
import com.eactive.eai.inbound.processor.ProcessVO;
import com.eactive.eai.inbound.processor.Processor;
import com.eactive.eai.message.StandardItem;
import com.eactive.eai.message.StandardMessage;
import com.eactive.eai.message.manager.StandardMessageManager;
import com.eactive.eai.message.service.DefaultStandardMessageCoordinator;
import com.eactive.eai.message.service.InterfaceMapper;
import com.ext.eai.common.stdmessage.STDMessageKeys;
import org.apache.commons.lang.StringUtils;
import java.net.UnknownHostException;
import java.util.LinkedHashMap;
import java.util.Properties;
public class StandardMessageCoordinatorKJB extends DefaultStandardMessageCoordinator {
private static Logger logger = Logger.getLogger(Logger.LOGGER_DEFAULT);
private static final String MESSAGE_PART = "Message";
private static final String MESSAGE_PART_HEADER_PART = "Message.Msg_Header";
private static final String MESSAGE_PART_MSG_HEDR_KNCD = "Message.Msg_Header.MSG_HEDR_KNCD";
private static final String MESSAGE_PART_MSG_HEDR_LEN = "Message.Msg_Header.MSG_HEDR_LEN";
private static final String MESSAGE_PART_BODY_PART = "Message.Msg_Body";
private static final String MESSAGE_PART_OUTPUT_MSG_CD = "Message.Msg_Body.OUTPUT_MSG_CD";
private static final String MESSAGE_PART_OUTPUT_MSG_CTNT = "Message.Msg_Body.OUTPUT_MSG_CTNT";
private static final String MESSAGE_PART_OUTPUT_MSG_GRID = "Message.Msg_Body.Output_Msg_Grid";
private static final String COMMON_PART_GROUP_CMD_CD = "Common.Service_info.GROUP_CMP_CD";
private static final String COMMON_PART_OTSD_CHNL_INST_CD = "Common.Service_info.OTSD_CHNL_INST_CD";
private static final String DATA_HEADER_DATA_HEDR_LEN = "Data_Part.Data_Header.DATA_HEDR_LEN";
@Override
public void coordinateAfterParsing(StandardMessage standardMessage, Object paramObject, Properties prop) {
super.coordinateAfterParsing(standardMessage, paramObject, prop);
}
@Override
public void coordinateBeforeStandardMessageSend(StandardMessage standardMessage, String msgType, String charset) {
makeupDataHeaderLength(standardMessage, charset);
}
@Override
public void coordinateBeforeResponse(StandardMessage standardMessage, ProcessVO processVO, Properties prop, String charset) {
makeupDataHeaderLength(standardMessage, charset);
}
@Override
public void coordinateAfterCreateMessageByRule(StandardMessage standardMessage, Object paramObject, Properties prop) {
// guid 설정
StandardMessageManager standardManager = StandardMessageManager.getInstance();
InterfaceMapper mapper = standardManager.getMapper();
//GUID 설정
String groupCmdCd = standardMessage.findItemValue(COMMON_PART_GROUP_CMD_CD);
String guid = GUIDGeneratorKJB.getGUID(groupCmdCd);
mapper.setGuid(standardMessage, guid);
StandardItem dataHeaderEtc = standardMessage.findItem("Data_Part.Data_Header_Etc");
dataHeaderEtc.setHidden(true);
//기관코드, 텔러번호 설정
//Adapter에 셋팅된 기관코드를 셋팅한다.
String adapterGroupName = prop.getProperty(Processor.ADAPTER_GROUP_NAME);
AdapterManager adapterManager = AdapterManager.getInstance();
AdapterGroupVO adptGrpVO = adapterManager.getAdapterGroupVO(adapterGroupName);
// Adapter의 기관코드를 얻어온다.
//TODO: 기관코드의 경우 현재 EAPIM 시스템에 컬럼은 있으나 설정을 사용하지 않고있으므로 불필요 할 경우 사용하지 않는다, 필요 할 경우 추가한다.
String inAdapterOsidInstiNo = adptGrpVO.getOsidInstiNo();
if(inAdapterOsidInstiNo != null && inAdapterOsidInstiNo.trim().length() > 0) {
standardMessage.setData(COMMON_PART_OTSD_CHNL_INST_CD, inAdapterOsidInstiNo);
if (logger.isDebug()) {
logger.debug("FIELD SET " + COMMON_PART_OTSD_CHNL_INST_CD + " << "+inAdapterOsidInstiNo);
}
}
//2012-12-17 나영채 차장 타발요청에만 셋팅해달라고 요청
//전문요청일자
standardMessage.setData("Common.BizProc_Info.MESG_DMAN_DT", DatetimeUtil.getCurrentDate());
//전문요청시간
standardMessage.setData("Common.BizProc_Info.MESG_DMAN_TKTM", DatetimeUtil.getFormattedDate("HHmmssSSS"));
//2012-07-24 임의 로 영업일자에 system시간 설정
standardMessage.setData("Common.BizProc_Info.BZOP_DT", DatetimeUtil.getCurrentDate());
EAIServerManager eaiServerManager = EAIServerManager.getInstance();
//비표준일경우 시스템 운영환경 구분코드를 셋팅한다.
standardMessage.setData("Common.Service_info.SYS_OPRT_ENV_DVCD", getSysOprtEnvDvcd(eaiServerManager));
//헤더부 최초전송IP주소 FRST_TRNM_IPAD
try {
standardMessage.setData("Header.Src_System.FRST_TRNM_IPAD", java.net.InetAddress.getLocalHost().getHostAddress());
} catch (UnknownHostException e) {
}
}
@Override
public boolean coordinateSetStandardMessageError(StandardMessage standardMessage, InterfaceMapper mapper,
String errCode, String errMsg) {
mapper.setResponseType(standardMessage, STDMessageKeys.RESPONSE_TYPE_CODE_E);
mapper.setSendRecvDivision(standardMessage, STDMessageKeys.SEND_RECV_CD_RECV);
StandardItem messagePart = standardMessage.findItem(MESSAGE_PART);
messagePart.setHidden(false);
messagePart.setSize(1);
StandardItem messageHeaderPart = standardMessage.findItem(MESSAGE_PART_HEADER_PART);
messageHeaderPart.setSize(1);
StandardItem messageBodyPart = standardMessage.findItem(MESSAGE_PART_BODY_PART);
messageBodyPart.setSize(1);
errCode = StringUtils.defaultString(errCode);
String siteErrCode = MessageUtil.getTobeCode(errCode);
String siteErrMessage;
switch(errCode) {
case("RECEAIIRP070"):
siteErrMessage = "거래 통제 되었습니다.";
break;
default:
siteErrMessage = MessageUtil.getTobeMessage(errCode);
break;
}
mapper.setErrorCode(standardMessage, siteErrCode);
standardMessage.setData(MESSAGE_PART_MSG_HEDR_KNCD, "EM");
standardMessage.setData(MESSAGE_PART_OUTPUT_MSG_CD, siteErrCode);
StandardItem msgGrid = standardMessage.findItem(MESSAGE_PART_OUTPUT_MSG_GRID);
LinkedHashMap<String, StandardItem> msgGridFirstChilds = msgGrid.getArrayChilds(0, true);
msgGridFirstChilds.get("OUTPUT_MSG_CD").setValue(siteErrCode);
msgGridFirstChilds.get("OUTPUT_MSG_CTNT").setValue(siteErrMessage);
//Message.Msg_Body.OUTPUT_MSG_CTNT
mapper.setErrorMsg(standardMessage, siteErrMessage);
int len = standardMessage.getBytesDataLengthForPath(MESSAGE_PART_BODY_PART);
String lenStr = StringUtils.leftPad(String.valueOf(len), 8, '0');
standardMessage.setData(MESSAGE_PART_MSG_HEDR_LEN, lenStr);
return false;
}
@Override
public void coordinateAfterRecvNonStdSyncResponse(StandardMessage responseMessage) {
StandardItem messagePart = responseMessage.findItem(MESSAGE_PART);
messagePart.setHidden(false);
messagePart.setSize(1);
StandardItem messageHeaderPart = responseMessage.findItem(MESSAGE_PART_HEADER_PART);
messageHeaderPart.setSize(1);
StandardItem messageBodyPart = responseMessage.findItem(MESSAGE_PART_BODY_PART);
messageBodyPart.setSize(1);
responseMessage.setData(MESSAGE_PART_MSG_HEDR_KNCD, "NM");
responseMessage.setData(MESSAGE_PART_OUTPUT_MSG_CD, "100000 ");
responseMessage.setData(MESSAGE_PART_OUTPUT_MSG_CTNT, "정상처리");
StandardItem msgGrid = responseMessage.findItem(MESSAGE_PART_OUTPUT_MSG_GRID);
LinkedHashMap<String, StandardItem> msgGridFirstChilds = msgGrid.getArrayChilds(0, true);
msgGridFirstChilds.get("OUTPUT_MSG_CD").setValue("100000 ");
msgGridFirstChilds.get("OUTPUT_MSG_CTNT").setValue("정상처리");
int len = responseMessage.getBytesDataLengthForPath(MESSAGE_PART_BODY_PART);
String lenStr = StringUtils.leftPad(String.valueOf(len), 8, '0');
responseMessage.setData(MESSAGE_PART_MSG_HEDR_LEN, lenStr);
}
public String getSysOprtEnvDvcd(EAIServerManager eaiServerManager) {
String result = "";
if (eaiServerManager.isPEAIServer()){ //운영
result = STDMessageKeys.SYS_OPRT_ENV_DVCD_ONLINE;
}else if (eaiServerManager.isDEAIServer()){ //개발
result = STDMessageKeys.SYS_OPRT_ENV_DVCD_DEV;
}else if (eaiServerManager.isSEAIServer()){ //테스트/검증
result = STDMessageKeys.SYS_OPRT_ENV_DVCD_TESTSTAGE;
}
return result;
}
private static void makeupDataHeaderLength(StandardMessage standardMessage, String charset) {
String dataBytesLengthStr = null;
try {
dataBytesLengthStr = String.valueOf(standardMessage.getBizDataBytes(charset).length);
String dataHeaderLength = StringUtils.leftPad(dataBytesLengthStr, 8, '0');
standardMessage.setData(DATA_HEADER_DATA_HEDR_LEN, dataHeaderLength);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
@@ -1,142 +0,0 @@
package com.eactive.eai.custom.message;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Properties;
import org.apache.commons.lang3.StringUtils;
import com.eactive.eai.common.server.EAIServerManager;
import com.eactive.eai.common.util.DatetimeUtil;
import com.eactive.eai.common.util.Logger;
import com.eactive.eai.inbound.processor.ProcessVO;
import com.eactive.eai.message.StandardItem;
import com.eactive.eai.message.StandardMessage;
import com.eactive.eai.message.manager.StandardMessageManager;
import com.eactive.eai.message.service.DefaultStandardMessageCoordinator;
import com.eactive.eai.message.service.InterfaceMapper;
import com.eactive.eai.message.service.StandardMessageCoordinator;
public class StandardMessageCoordinatorSBI extends DefaultStandardMessageCoordinator {
static Logger logger = Logger.getLogger(Logger.LOGGER_DEFAULT);
@Override
public void coordinateAfterCreateMessageByRule(StandardMessage message, Object paramObject, Properties prop) {
// STD_HEADER.mesgDvcd 설정
StandardItem mesgDvcdItem = message.findItem("STD_HEADER.mesgDvcd");
if (mesgDvcdItem != null && StringUtils.equals(mesgDvcdItem.getValue(), "S")) {
mesgDvcdItem.setValue("Q");
}
// STD_HEADER.mesgKind 설정
StandardItem mesgKindItem = message.findItem("STD_HEADER.mesgKind");
if (mesgKindItem != null && StringUtils.isBlank(mesgKindItem.getValue())) {
mesgKindItem.setValue("3"); // 3:데이터 4:시스템
}
// STD_HEADER.envDvcd 설정
StandardItem envDvcdItem = message.findItem("STD_HEADER.envDvcd");
EAIServerManager eaiServerManager = EAIServerManager.getInstance();
if (envDvcdItem != null && StringUtils.isBlank(envDvcdItem.getValue())) {
envDvcdItem.setValue(getSysOprtEnvDvcd(eaiServerManager));
}
// guid 설정
StandardMessageManager standardManager = StandardMessageManager.getInstance();
InterfaceMapper mapper = standardManager.getMapper();
mapper.setGuid(message,
GUIDGeneratorSBI.getGUID(getSysOprtEnvDvcd(eaiServerManager), eaiServerManager.getSystemType()));
// STD_HEADER.frstTrnmChnlCd 설정
StandardItem frstTrnmChnlCdItem = message.findItem("STD_HEADER.frstTrnmChnlCd");
if (frstTrnmChnlCdItem != null && StringUtils.isBlank(frstTrnmChnlCdItem.getValue())) {
frstTrnmChnlCdItem.setValue(eaiServerManager.getSystemType());
}
// STD_HEADER.trnmChnlCd 설정
StandardItem trnmChnlCdItem = message.findItem("STD_HEADER.trnmChnlCd");
if (trnmChnlCdItem != null && StringUtils.isBlank(trnmChnlCdItem.getValue())) {
trnmChnlCdItem.setValue(eaiServerManager.getSystemType());
}
// STD_HEADER.userNo 설정
StandardItem userNoItem = message.findItem("STD_HEADER.userNo");
if (userNoItem != null && StringUtils.isBlank(userNoItem.getValue())) {
ProcessVO processVo = (ProcessVO) paramObject;
if (StringUtils.isNotBlank(processVo.getInAdapterUserEmpid())) {
userNoItem.setValue(eaiServerManager.getSystemType());
}
}
// STD_HEADER.mesgDmndDttm 설정
StandardItem mesgDmndDttmItem = message.findItem("STD_HEADER.mesgDmndDttm");
if (mesgDmndDttmItem != null && StringUtils.isBlank(mesgDmndDttmItem.getValue())) {
mesgDmndDttmItem.setValue(DatetimeUtil.getCurrentTimeMillis());
}
// STD_HEADER.ipAd 설정
StandardItem ipAdItem = message.findItem("STD_HEADER.ipAd");
if (ipAdItem != null && StringUtils.isBlank(ipAdItem.getValue())) {
try {
ipAdItem.setValue(InetAddress.getLocalHost().getHostAddress());
} catch (UnknownHostException e) {
logger.error(e.getMessage());
}
}
// STD_HEADER.mesgTycd 설정
StandardItem mesgTycdItem = message.findItem("STD_HEADER.mesgTycd");
if (mesgTycdItem != null && StringUtils.isBlank(mesgTycdItem.getValue())) {
mesgTycdItem.setValue("1");
}
// STD_HEADER.mesgCntySrno 설정
StandardItem mesgCntySrnoItem = message.findItem("STD_HEADER.mesgCntySrno");
if (mesgCntySrnoItem != null && StringUtils.isBlank(mesgCntySrnoItem.getValue())) {
mesgCntySrnoItem.setValue("00");
}
// STD_HEADER.bfrDtLoinYn 설정
StandardItem bfrDtLoinYnItem = message.findItem("STD_HEADER.bfrDtLoinYn");
if (bfrDtLoinYnItem != null && StringUtils.isBlank(bfrDtLoinYnItem.getValue())) {
bfrDtLoinYnItem.setValue("N");
}
// STD_HEADER.canCrctDvcd 설정
StandardItem canCrctDvcdItem = message.findItem("STD_HEADER.canCrctDvcd");
if (canCrctDvcdItem != null && StringUtils.isBlank(canCrctDvcdItem.getValue())) {
canCrctDvcdItem.setValue("0");
}
// STD_HEADER.cmpgRelmUseDvcd 설정
StandardItem cmpgRelmUseDvcdItem = message.findItem("STD_HEADER.cmpgRelmUseDvcd");
if (cmpgRelmUseDvcdItem != null && StringUtils.isBlank(cmpgRelmUseDvcdItem.getValue())) {
cmpgRelmUseDvcdItem.setValue("0");
}
// STD_HEADER.bzwrSvrCd 설정
StandardItem bzwrSvrCdItem = message.findItem("STD_HEADER.bzwrSvrCd");
if (bzwrSvrCdItem != null && StringUtils.isBlank(bzwrSvrCdItem.getValue())) {
String serverName = eaiServerManager.getLocalServerName();
if (StringUtils.isNotBlank(serverName)) {
String instanceid1 = serverName.substring(0, 2);
String instanceid2 = serverName.substring(serverName.length() - 2, serverName.length());
bzwrSvrCdItem.setValue(StringUtils.upperCase(instanceid1 + instanceid2));
}
}
}
public String getSysOprtEnvDvcd(EAIServerManager eaiServerManager) {
String result = "";
if (eaiServerManager.isPEAIServer()) { // 운영
result = "R";
} else if (eaiServerManager.isDEAIServer()) { // 개발
result = "D";
} else if (eaiServerManager.isSEAIServer()) { // 테스트/검증
result = "T";
}
return result;
}
}
Binary file not shown.
@@ -1,9 +0,0 @@
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhXoqB4PrgZpJISjBe9ht
Y1R3Ne9ehxugWucwA4cBWAnYwvmrRAK0p8p+HuDikdZPq2hyAG02ucNt9xoru+Va
K4spNGieORbh0hmLRdvVBBM7Ureia3WhKED5abNnnPQw+jCLZNVYtO9rbtRhpUEG
t73sN1+0bOZlVBkbLenvWKJs2+tyE0gHhwgS8Fzrb++LHYN/c0KoTm+G9ITuPWoM
Vu/iME5WHqR95TkLKpx6s5J/le4BvncQDmkvKFIX9/DFN57orXQVB2lzDF8fMeWC
xaaHXtgfo2ercKKEdHQ5GFIgWN8+j2ZgU2JqfucazJpOpOGcizHiQKzh//NE7beD
IwIDAQAB
-----END PUBLIC KEY-----
@@ -1,9 +0,0 @@
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqCW0auFk5bqt7OZ2AtFw
xa/se93/hgNwDNC1kxKZpnvNM5YVj5gjlf0jOSVGNJlFTVvjIBcyPC7s1zlFDhgm
ebUKplRuw82lkIkS7mPjsqfPvMQlFjjLgrnECQ3AD86EkRcUT/bVliOtwLY6YJUa
5/1eqZCIRfLPVxOApSHuQLJ9JmSPhttwfKwTED3G2dB85D+QN5+Nre5nnWDjMScT
KOcyUZHOLO6m0UupBYU94XGJG4EEMwzSE/Lq1eJ49/wUsvaKY6Kz5G30d/ANwRZI
ex82Wp91ZPOasKKOB6vnQ/LNcMhhyYf6IzCliMUUFl53YeheXmvfWX6VLfWgjlLk
HQIDAQAB
-----END PUBLIC KEY-----
@@ -1,27 +0,0 @@
#-----------------------------------------------------------------------------
# comment start with #
# level; // 0 : root ~ n
# type; // 0: Message, 1: Field, 2:Group 3, Grid, 4 : Field Array, 9 : BIZ DATA
# size // 0 : variable, > 0 fixed
# fieldType; // 0: ELEMENT, 1: ATTRIBUTE,
# length;
# dataType; // 0: String, 1: Number,10: ZZ String, 11: LL Number
#-----------------------------------------------------------------------------
# name ,level ,type ,size ,fieldType ,length ,dataType ,,refPath, refValue,value
#-----------------------------------------------------------------------------
# name ,level ,type ,size ,fieldType ,length ,dataType ,refPath, refValue, value
commonHeader ,1 ,2 ,1 ,0 ,0 ,0 , , ,,공통헤더
firstReqSystemCode ,2 ,1 ,1 ,0 ,0 ,0 , , ,,최초요청시스템코드
firstReqSystemIp ,2 ,1 ,1 ,0 ,0 ,0 , , ,,최초요청IP주소
msgCreationTime ,2 ,1 ,1 ,0 ,0 ,0 , , ,,전문생성일시
globalId ,2 ,1 ,1 ,0 ,0 ,0 , , ,,guid
traceSeqNo ,2 ,1 ,1 ,0 ,0 ,1 , , ,1,시스템경유이력번호
serviceCode ,2 ,1 ,1 ,0 ,0 ,0 , , ,,거래코드
personalInfoYn ,2 ,1 ,1 ,0 ,0 ,0 , , ,,개인정보포함여부
receivingSystemCode ,2 ,1 ,1 ,0 ,0 ,0 , , ,,수신시스템코드
reqResTypeCode ,2 ,1 ,1 ,0 ,0 ,0 , , ,,요청응답구분코드
msgList ,2 ,3 ,0 ,0 ,0 ,0 , , ,,메시지목록
resultCode ,3 ,1 ,1 ,0 ,0 ,0 , , ,,결과코드
resultMsg ,3 ,1 ,1 ,0 ,0 ,0 , , ,,결과메시지
msgStackTrace ,2 ,1 ,1 ,0 ,0 ,0 , , ,,에러내용
payload ,1 ,9 ,0 ,0 ,0 ,0 , , ,,업무데이터
1 #-----------------------------------------------------------------------------
2 # comment start with #
3 # level; // 0 : root ~ n
4 # type; // 0: Message, 1: Field, 2:Group 3, Grid, 4 : Field Array, 9 : BIZ DATA
5 # size // 0 : variable, > 0 fixed
6 # fieldType; // 0: ELEMENT, 1: ATTRIBUTE,
7 # length;
8 # dataType; // 0: String, 1: Number,10: ZZ String, 11: LL Number
9 #-----------------------------------------------------------------------------
10 # name ,level ,type ,size ,fieldType ,length ,dataType ,,refPath, refValue,value
11 #-----------------------------------------------------------------------------
12 # name ,level ,type ,size ,fieldType ,length ,dataType ,refPath, refValue, value
13 commonHeader ,1 ,2 ,1 ,0 ,0 ,0 , , ,,공통헤더
14 firstReqSystemCode ,2 ,1 ,1 ,0 ,0 ,0 , , ,,최초요청시스템코드
15 firstReqSystemIp ,2 ,1 ,1 ,0 ,0 ,0 , , ,,최초요청IP주소
16 msgCreationTime ,2 ,1 ,1 ,0 ,0 ,0 , , ,,전문생성일시
17 globalId ,2 ,1 ,1 ,0 ,0 ,0 , , ,,guid
18 traceSeqNo ,2 ,1 ,1 ,0 ,0 ,1 , , ,1,시스템경유이력번호
19 serviceCode ,2 ,1 ,1 ,0 ,0 ,0 , , ,,거래코드
20 personalInfoYn ,2 ,1 ,1 ,0 ,0 ,0 , , ,,개인정보포함여부
21 receivingSystemCode ,2 ,1 ,1 ,0 ,0 ,0 , , ,,수신시스템코드
22 reqResTypeCode ,2 ,1 ,1 ,0 ,0 ,0 , , ,,요청응답구분코드
23 msgList ,2 ,3 ,0 ,0 ,0 ,0 , , ,,메시지목록
24 resultCode ,3 ,1 ,1 ,0 ,0 ,0 , , ,,결과코드
25 resultMsg ,3 ,1 ,1 ,0 ,0 ,0 , , ,,결과메시지
26 msgStackTrace ,2 ,1 ,1 ,0 ,0 ,0 , , ,,에러내용
27 payload ,1 ,9 ,0 ,0 ,0 ,0 , , ,,업무데이터
-233
View File
@@ -1,233 +0,0 @@
#-----------------------------------------------------------------------------
# comment start with #
# level; // 0 : root ~ n
# type; // 0: Message, 1: Field, 2:Group 3, Grid, 4 : Field Array, 9 : BIZ DATA
# size // 0 : variable, > 0 fixed
# fieldType; // 0: ELEMENT, 1: ATTRIBUTE,
# length;
# dataType; // 0: String, 1: Number,10: ZZ String, 11: LL Number
#-----------------------------------------------------------------------------
# name ,level ,type ,size ,fieldType ,length ,dataType ,,refPath, refValue,value
#-----------------------------------------------------------------------------
# name ,level ,type ,size ,fieldType ,length ,dataType ,refPath, refValue, value
Header,1,3,1,1,0,1,,,
Sys_Info,2,3,1,1,0,1,,,
STND_MESG_LEN,3,2,1,1,8,12,,,
ENCD_CMPI_DVCD,3,2,1,1,1,1,,,0
GUID,3,2,1,1,36,1,,,
MESG_DMAN_DVCD,3,2,1,1,1,1,,,S
MESG_VER_NO,3,2,1,1,3,1,,,R10
Src_System,2,3,1,1,0,1,,,
FRST_TRNM_IPAD,3,2,1,1,39,1,,,
FRST_TRNM_SYS_CD,3,2,1,1,3,1,,,API
TRNM_SYS_CD,3,2,1,1,3,1,,,
TRNM_NODE_NO,3,2,1,1,4,1,,,
MCI_SESN_ID,3,2,1,1,8,1,,,
GNRZ_TMOT_TKTM,3,2,1,1,3,1,,,070
TX_TMOT_TKTM,3,2,1,1,3,1,,,060
KJB_Add,2,3,1,1,0,1,,,
OTSD_DMAN_SYS_CD,3,2,1,1,3,1,,,OBP
EAI_NODE_NO,3,2,1,1,2,1,,,
FEP_NODE_NO,3,2,1,1,2,1,,,
FEP_SESN_ID,3,2,1,1,6,1,,,
Spare_Zone,2,3,1,1,0,1,,,
HEDR_SPR_CTNT,3,2,1,1,25,1,,,
Common,1,3,1,1,0,1,,,
Service_info,2,3,1,1,0,1,,,
GROUP_CMP_CD,3,2,1,1,3,1,,,034
SRVC_ID,3,2,1,1,11,1,,,
PROCS_RSLT_RCMS_SRVC_ID,3,2,1,1,11,1,,,
IF_ID,3,2,1,1,20,1,,,
TX_SYNZ_DVCD,3,2,1,1,1,1,,,
HMAB_DVCD,3,2,1,1,1,1,,,2
OTSD_CHNL_INST_CD,3,2,1,1,3,1,,,
SYS_OPRT_ENV_DVCD,3,2,1,1,1,1,,,
TX_TYP_DVCD,3,2,1,1,1,1,,,O
ORTR_RESTR_YN,3,2,1,1,1,1,,,
ORTR_GUID,3,2,1,1,36,1,,,
Channel_Info,2,3,1,1,0,1,,,
BANK_CD,3,2,1,1,3,1,,,
TX_BRCD,3,2,1,1,4,1,,,
DSPC_RCV_BRN_DVCD,3,2,1,1,2,1,,,
RLTR_BRCD,3,2,1,1,4,1,,,
TRMN_INSL_BRCD,3,2,1,1,4,1,,,
CHNL_TYCD,3,2,1,1,1,1,,,
CHNL_DTLS_CLCD,3,2,1,1,3,1,,,
TMNL_KIND_DVCD,3,2,1,1,2,1,,,
TRMN_NO,3,2,1,1,6,1,,,
SCN_NO,3,2,1,1,13,1,,,
SCN_FILE_VER,3,2,1,1,10,2,,,
SCN_FILE_NM,3,2,1,1,30,1,,,
LANG_DVCD,3,2,1,1,3,1,,,KOR
CHNL_COM_SCTN_EXIS_YN,3,2,1,1,1,1,,,N
Confirm_Info,2,3,1,1,0,1,,,
PRCG_APRV_PROCS_STCD,3,2,1,1,1,1,,,
PRCG_APRV_TYCD,3,2,1,1,1,1,,,
APRV_PRCG_EMPNO,3,2,1,1,7,1,,,
NURN_RSBT_EMPNO,3,2,1,1,7,1,,,
PRCG_APRV_SEQNO,3,2,1,1,10,2,,,
NURN_AGNCY_APRV_YN,3,2,1,1,1,1,,,
DSGT_PRCG_CHNG_YN,3,2,1,1,1,1,,,
CHNG_DSGT_PRCG_EMPNO,3,2,1,1,7,1,,,
PRCG_APRV_DMAN_RSN,3,2,1,1,40,1,,,
PRCG_APRV_RSN,3,2,1,1,40,1,,,
BizProc_Info,2,3,1,1,0,1,,,
BZOP_DT,3,2,1,1,8,1,,,
ANTT_YN,3,2,1,1,1,1,,,
MESG_IQRY_DVCD,3,2,1,1,1,1,,,
ATMC_CLSN_DVCD,3,2,1,1,1,1,,,
TLRNO,3,2,1,1,7,1,,,
ASST_TLRNO,3,2,1,1,7,1,,,
PSWD_VALDTN_YN,3,2,1,1,1,1,,,
TX_TELR_PSWD,3,2,1,1,44,1,,,
CSIF_IDNT_DVCD,3,2,1,1,3,1,,,
CSIF_ID,3,2,1,1,30,1,,,
CSIF_CUST_NM,3,2,1,1,30,1,,,
CSIF_MASK_REVOC_YN,3,2,1,1,1,1,,,
CUST_PTLET_MASK_YN,3,2,1,1,1,1,,,
IDC_IMG_NO,3,2,1,1,32,1,,,
SMTWKP_TX_YN,3,2,1,1,1,1,,,
SECU_ACCO_REG_YN,3,2,1,1,1,1,,,
ABC_TX_DTLS_DVCD,3,2,1,1,2,1,,,
CLNT_TELR_CSHN_RFLC_YN,3,2,1,1,1,1,,,
SLIP_DIV_YN,3,2,1,1,1,1,,,
SLIP_NO,3,2,1,1,9,1,,,
TELR_SLIP_SEQNO,3,2,1,1,10,2,,,
TELR_CASH_AMT,3,2,1,1,17,2,,,
TELR_CBPC_AMT,3,2,1,1,17,2,,,
TELR_TRFAMT,3,2,1,1,17,2,,,
LOGIN_DVCD,3,2,1,1,1,1,,,
TX_DT_EXTNS_YN ,3,2,1,1,1,1,,,
TX_DT,3,2,1,1,8,1,,,
TX_TIME,3,2,1,1,8,1,,,
SYS_DT,3,2,1,1,8,1,,,
SYS_TIME,3,2,1,1,8,1,,,
MESG_DMAN_DT,3,2,1,1,8,1,,,
MESG_DMAN_TKTM,3,2,1,1,9,1,,,
MESG_CNTY_YN,3,2,1,1,1,1,,,
MESG_RSPN_DT,3,2,1,1,8,1,,,
MESG_RSPN_TKTM,3,2,1,1,9,1,,,
PROCS_RSLT_DVCD,3,2,1,1,2,1,,,
OUTPUT_MESG_TYCD,3,2,1,1,1,1,,,
LRQN_OUTPUT_DSCT_TRGT_YN,3,2,1,1,1,1,,,
MESG_CNTY_SEQNO,3,2,1,1,3,1,,,
Error_Info,2,3,1,1,0,1,,,
ERR_CD,3,2,1,1,6,1,,,
ERR_SYS_CD,3,2,1,1,3,1,,,
KJB_Add,2,3,1,1,0,1,,,
ORTR_SCN_ID,3,2,1,1,13,1,,,
CORP_DPRM_NO,3,2,1,1,5,1,,,
CSIF_IQRY_RSCD,3,2,1,1,2,1,,,
Com_Spare_Zone,2,3,1,1,0,1,,,
COM_SPR_CTNT,3,2,1,1,212,1,,,
Channel_Common,1,3,0,1,0,1,Std_Header.Common.Channel_Info.CHNL_COM_SCTN_EXIS_YN,Y,
Data_Header,2,3,0,1,0,1,,,
DATA_HEDR_KNCD,3,2,1,1,2,1,,,
DATA_HEDR_LEN,3,2,1,1,8,1,,,
Data_For_Each,2,3,0,1,0,1,,,
PSWD_ERR_DVCD,3,2,1,1,2,1,,,
ELFN_CUST_TYCD,3,2,1,1,2,1,,,
USER_ID_S14,3,2,1,1,14,1,,,
MST_ID_S14,3,2,1,1,14,1,,,
SVR_TX_NO,3,2,1,1,10,1,,,
HOST_TX_NO_S10,3,2,1,1,10,1,,,
NEXT_PAGE_EXIS_YN1,3,2,1,1,1,1,,,
SCCR_ISS_CD,3,2,1,1,2,1,,,
SQ1_SCCR_SSBP_NO_SER,3,2,1,1,2,1,,,
SQ2_SCCR_SSBP_NO_SER,3,2,1,1,2,1,,,
SECU_MEDIA_SEQNO_S4,3,2,1,1,4,1,,,
SECU_MEDIA_DTL_DVCD_N3,3,2,1,1,3,1,,,
PAGE_NO,3,2,1,1,5,1,,,
PAGE_SIZE,3,2,1,1,5,1,,,
TTCN_N5,3,2,1,1,5,1,,,
IQRY_CCNT_N5,3,2,1,1,5,1,,,
PRIQR_TX_NO,3,2,1,1,10,1,,,
SQ1_CUST_CNFR_INFO_CTNT_S39,3,2,1,1,39,1,,,
SQ2_CUST_CNFR_INFO_CTNT_S39,3,2,1,1,39,1,,,
MAC_S17,3,2,1,1,17,1,,,
HDD_SEQ_NO_S24,3,2,1,1,24,1,,,
CMCM_CD,3,2,1,1,1,1,,,
TLNO_S14,3,2,1,1,14,1,,,
OTP_EXPR_GDNC_DVCD_S1,3,2,1,1,1,1,,,
KFTC_ENCD_MST_KEY_VER_S2,3,2,1,1,2,1,,,
KFTC_ENCD_RAND1_S32,3,2,1,1,32,1,,,
KFTC_ENCD_RAND2_S32,3,2,1,1,32,1,,,
ADDT_ATHN_YN_S1,3,2,1,1,1,1,,,
ADDT_ATHN_METH_DVCD_S2,3,2,1,1,2,1,,,
ADDT_ATHN_ATHN_VAL_S40,3,2,1,1,40,1,,,
DUP_TX_YN_S1,3,2,1,1,1,1,,,
ABR_IP_BLC_YN_S1,3,2,1,1,1,1,,,
VIRT_ACCO_DVCD_S1,3,2,1,1,1,1,,,
BZWK_DVCD1_S1,3,2,1,1,1,1,,,
BZWK_DVCD2_S1,3,2,1,1,1,1,,,
BZWK_DVCD3_S1,3,2,1,1,1,1,,,
BZWK_DVCD4_S1,3,2,1,1,1,1,,,
BZWK_DVCD5_S1,3,2,1,1,1,1,,,
TX_SER_SEQNO_N3,3,2,1,1,3,1,,,
SECU_MEDIA_SEQNO_DMAN_VAL_S4,3,2,1,1,4,1,,,
MEDIA_D1_UZ_POSB_AMT_N12,3,2,1,1,12,1,,,
CPHR_KEY_SECU_CO_CD_S1,3,2,1,1,1,1,,,
HDD_VOLU_ID_S35,3,2,1,1,35,1,,,
SPR_FILD_S197,3,2,1,1,197,1,,,
Message,1,3,0,1,0,1,Std_Header.Header.Sys_Info.MESG_DMAN_DVCD,R,
Msg_Header,2,3,0,1,0,1,,,
MSG_HEDR_KNCD,3,2,1,1,2,1,,,NM
MSG_HEDR_LEN,3,2,1,1,8,2,,,
Msg_Body,2,3,0,1,0,1,,,
OUTPUT_ATRB_CD,3,2,1,1,1,1,,,0
OUTPUT_MSG_CD,3,2,1,1,10,1,,,
OUTPUT_MSG_CTNT,3,2,1,1,200,1,,,
OUTPUT_MSG_DESC,3,2,1,1,300,1,,,
ERR_MNGM_CTNT,3,2,1,1,200,1,,,
ERR_CHGR_NM,3,2,1,1,10,1,,,
ERR_CHGR_CNPL_NO,3,2,1,1,20,1,,,
OUTPUT_MSG_NCNT,3,2,1,1,4,2,,,0000
Output_Msg_Grid,3,4,0,1,0,1,Message.Msg_Body.OUTPUT_MSG_NCNT,,
OUTPUT_MSG_CD,4,2,0,1,10,1,,,
OUTPUT_MSG_CTNT,4,2,0,1,200,1,,,
OUTPUT_MSG_DESC,4,2,0,1,300,1,,,
ERR_MNGM_CTNT,4,2,0,1,200,1,,,
ERR_LOCT_CTNT,4,2,0,1,200,1,,,
ERR_OCCU_ITEM_NM,4,2,0,1,20,1,,,
Manager_Confirm,1,3,0,1,0,1,Std_Header.Header.Sys_Info.MESG_DMAN_DVCD,R,
Data_Header,2,3,0,1,0,1,,,
DATA_HEDR_KNCD,3,2,1,1,2,1,,,
DATA_HEDR_LEN,3,2,1,1,8,2,,,
Data_Header_Etc,2,3,0,1,0,1,,,
OUTPUT_SRVC_ID,3,2,1,1,13,1,,,
OUTPUT_SCN_ID,3,2,1,1,13,1,,,
OUTPUT_SCN_DRVTN_MSG_CTNT,3,2,1,1,50,1,,,
DCG_DVCD,3,2,1,1,1,1,,,
Data_For_Each,2,3,0,1,0,1,,,
ACNO,3,2,1,1,16,1,,,
TRMN_CUST_FLNM,3,2,1,1,20,1,,,
TX_AMT,3,2,1,1,17,2,,,
APRV_RSCD_CCNT,3,2,1,1,5,2,,,
APRV_RSCD,3,2,1,1,5,1,,,
PRCG_APRV_DESC,3,2,1,1,50,1,,,
PRCG_APRV_TYCD,3,2,1,1,1,1,,,
PRCG_APRV_LIST_CCNT,3,2,1,1,5,2,,,
TX_DVCD,3,2,1,1,2,1,,,
PRCG_EMPNO,3,2,1,1,6,1,,,
KOR_FLNM,3,2,1,1,40,1,,,
BLNG_BRCD,3,2,1,1,4,1,,,
BRN_KOR_NM ,3,2,1,1,100,1,,,
LOGIN_IPAD,3,2,1,1,30,1,,,
JOBCLS_CD,3,2,1,1,2,1,,,
LOGIN_STCD,3,2,1,1,2,1,,,
ABSC_YN,3,2,1,1,1,1,,,
AGNCY_APRV_TLRNO,3,2,1,1,7,1,,,
BRMNR_YN,3,2,1,1,1,1,,,
AUDT_UNCN_PRCG_YN,3,2,1,1,1,1,,,
Data_Part,1,3,0,1,0,1,,,
Data_Header,2,3,0,1,0,1,,,
DATA_HEDR_KNCD,3,2,1,1,2,1,,,IO
DATA_HEDR_LEN,3,2,1,1,8,2,,,
Data_Header_Etc,2,3,0,1,0,1,Std_Header.Header.Sys_Info.MESG_DMAN_DVCD,R,
OUTPUT_SRVC_ID,3,2,1,1,13,1,,,
OUTPUT_SCN_ID,3,2,1,1,13,1,,,
OUTPUT_SCN_DRVTN_MSG_CTNT,3,2,1,1,50,1,,,
DCG_DVCD,3,2,1,1,1,1,,,
Data_For_Each,2,3,0,1,0,1,,,
BizData,3,9,1,1,0,1,,,
END_BIT_CTNT,1,2,1,1,2,11,,,@@
1 #-----------------------------------------------------------------------------
2 # comment start with #
3 # level; // 0 : root ~ n
4 # type; // 0: Message, 1: Field, 2:Group 3, Grid, 4 : Field Array, 9 : BIZ DATA
5 # size // 0 : variable, > 0 fixed
6 # fieldType; // 0: ELEMENT, 1: ATTRIBUTE,
7 # length;
8 # dataType; // 0: String, 1: Number,10: ZZ String, 11: LL Number
9 #-----------------------------------------------------------------------------
10 # name ,level ,type ,size ,fieldType ,length ,dataType ,,refPath, refValue,value
11 #-----------------------------------------------------------------------------
12 # name ,level ,type ,size ,fieldType ,length ,dataType ,refPath, refValue, value
13 Header,1,3,1,1,0,1,,,
14 Sys_Info,2,3,1,1,0,1,,,
15 STND_MESG_LEN,3,2,1,1,8,12,,,
16 ENCD_CMPI_DVCD,3,2,1,1,1,1,,,0
17 GUID,3,2,1,1,36,1,,,
18 MESG_DMAN_DVCD,3,2,1,1,1,1,,,S
19 MESG_VER_NO,3,2,1,1,3,1,,,R10
20 Src_System,2,3,1,1,0,1,,,
21 FRST_TRNM_IPAD,3,2,1,1,39,1,,,
22 FRST_TRNM_SYS_CD,3,2,1,1,3,1,,,API
23 TRNM_SYS_CD,3,2,1,1,3,1,,,
24 TRNM_NODE_NO,3,2,1,1,4,1,,,
25 MCI_SESN_ID,3,2,1,1,8,1,,,
26 GNRZ_TMOT_TKTM,3,2,1,1,3,1,,,070
27 TX_TMOT_TKTM,3,2,1,1,3,1,,,060
28 KJB_Add,2,3,1,1,0,1,,,
29 OTSD_DMAN_SYS_CD,3,2,1,1,3,1,,,OBP
30 EAI_NODE_NO,3,2,1,1,2,1,,,
31 FEP_NODE_NO,3,2,1,1,2,1,,,
32 FEP_SESN_ID,3,2,1,1,6,1,,,
33 Spare_Zone,2,3,1,1,0,1,,,
34 HEDR_SPR_CTNT,3,2,1,1,25,1,,,
35 Common,1,3,1,1,0,1,,,
36 Service_info,2,3,1,1,0,1,,,
37 GROUP_CMP_CD,3,2,1,1,3,1,,,034
38 SRVC_ID,3,2,1,1,11,1,,,
39 PROCS_RSLT_RCMS_SRVC_ID,3,2,1,1,11,1,,,
40 IF_ID,3,2,1,1,20,1,,,
41 TX_SYNZ_DVCD,3,2,1,1,1,1,,,
42 HMAB_DVCD,3,2,1,1,1,1,,,2
43 OTSD_CHNL_INST_CD,3,2,1,1,3,1,,,
44 SYS_OPRT_ENV_DVCD,3,2,1,1,1,1,,,
45 TX_TYP_DVCD,3,2,1,1,1,1,,,O
46 ORTR_RESTR_YN,3,2,1,1,1,1,,,
47 ORTR_GUID,3,2,1,1,36,1,,,
48 Channel_Info,2,3,1,1,0,1,,,
49 BANK_CD,3,2,1,1,3,1,,,
50 TX_BRCD,3,2,1,1,4,1,,,
51 DSPC_RCV_BRN_DVCD,3,2,1,1,2,1,,,
52 RLTR_BRCD,3,2,1,1,4,1,,,
53 TRMN_INSL_BRCD,3,2,1,1,4,1,,,
54 CHNL_TYCD,3,2,1,1,1,1,,,
55 CHNL_DTLS_CLCD,3,2,1,1,3,1,,,
56 TMNL_KIND_DVCD,3,2,1,1,2,1,,,
57 TRMN_NO,3,2,1,1,6,1,,,
58 SCN_NO,3,2,1,1,13,1,,,
59 SCN_FILE_VER,3,2,1,1,10,2,,,
60 SCN_FILE_NM,3,2,1,1,30,1,,,
61 LANG_DVCD,3,2,1,1,3,1,,,KOR
62 CHNL_COM_SCTN_EXIS_YN,3,2,1,1,1,1,,,N
63 Confirm_Info,2,3,1,1,0,1,,,
64 PRCG_APRV_PROCS_STCD,3,2,1,1,1,1,,,
65 PRCG_APRV_TYCD,3,2,1,1,1,1,,,
66 APRV_PRCG_EMPNO,3,2,1,1,7,1,,,
67 NURN_RSBT_EMPNO,3,2,1,1,7,1,,,
68 PRCG_APRV_SEQNO,3,2,1,1,10,2,,,
69 NURN_AGNCY_APRV_YN,3,2,1,1,1,1,,,
70 DSGT_PRCG_CHNG_YN,3,2,1,1,1,1,,,
71 CHNG_DSGT_PRCG_EMPNO,3,2,1,1,7,1,,,
72 PRCG_APRV_DMAN_RSN,3,2,1,1,40,1,,,
73 PRCG_APRV_RSN,3,2,1,1,40,1,,,
74 BizProc_Info,2,3,1,1,0,1,,,
75 BZOP_DT,3,2,1,1,8,1,,,
76 ANTT_YN,3,2,1,1,1,1,,,
77 MESG_IQRY_DVCD,3,2,1,1,1,1,,,
78 ATMC_CLSN_DVCD,3,2,1,1,1,1,,,
79 TLRNO,3,2,1,1,7,1,,,
80 ASST_TLRNO,3,2,1,1,7,1,,,
81 PSWD_VALDTN_YN,3,2,1,1,1,1,,,
82 TX_TELR_PSWD,3,2,1,1,44,1,,,
83 CSIF_IDNT_DVCD,3,2,1,1,3,1,,,
84 CSIF_ID,3,2,1,1,30,1,,,
85 CSIF_CUST_NM,3,2,1,1,30,1,,,
86 CSIF_MASK_REVOC_YN,3,2,1,1,1,1,,,
87 CUST_PTLET_MASK_YN,3,2,1,1,1,1,,,
88 IDC_IMG_NO,3,2,1,1,32,1,,,
89 SMTWKP_TX_YN,3,2,1,1,1,1,,,
90 SECU_ACCO_REG_YN,3,2,1,1,1,1,,,
91 ABC_TX_DTLS_DVCD,3,2,1,1,2,1,,,
92 CLNT_TELR_CSHN_RFLC_YN,3,2,1,1,1,1,,,
93 SLIP_DIV_YN,3,2,1,1,1,1,,,
94 SLIP_NO,3,2,1,1,9,1,,,
95 TELR_SLIP_SEQNO,3,2,1,1,10,2,,,
96 TELR_CASH_AMT,3,2,1,1,17,2,,,
97 TELR_CBPC_AMT,3,2,1,1,17,2,,,
98 TELR_TRFAMT,3,2,1,1,17,2,,,
99 LOGIN_DVCD,3,2,1,1,1,1,,,
100 TX_DT_EXTNS_YN ,3,2,1,1,1,1,,,
101 TX_DT,3,2,1,1,8,1,,,
102 TX_TIME,3,2,1,1,8,1,,,
103 SYS_DT,3,2,1,1,8,1,,,
104 SYS_TIME,3,2,1,1,8,1,,,
105 MESG_DMAN_DT,3,2,1,1,8,1,,,
106 MESG_DMAN_TKTM,3,2,1,1,9,1,,,
107 MESG_CNTY_YN,3,2,1,1,1,1,,,
108 MESG_RSPN_DT,3,2,1,1,8,1,,,
109 MESG_RSPN_TKTM,3,2,1,1,9,1,,,
110 PROCS_RSLT_DVCD,3,2,1,1,2,1,,,
111 OUTPUT_MESG_TYCD,3,2,1,1,1,1,,,
112 LRQN_OUTPUT_DSCT_TRGT_YN,3,2,1,1,1,1,,,
113 MESG_CNTY_SEQNO,3,2,1,1,3,1,,,
114 Error_Info,2,3,1,1,0,1,,,
115 ERR_CD,3,2,1,1,6,1,,,
116 ERR_SYS_CD,3,2,1,1,3,1,,,
117 KJB_Add,2,3,1,1,0,1,,,
118 ORTR_SCN_ID,3,2,1,1,13,1,,,
119 CORP_DPRM_NO,3,2,1,1,5,1,,,
120 CSIF_IQRY_RSCD,3,2,1,1,2,1,,,
121 Com_Spare_Zone,2,3,1,1,0,1,,,
122 COM_SPR_CTNT,3,2,1,1,212,1,,,
123 Channel_Common,1,3,0,1,0,1,Std_Header.Common.Channel_Info.CHNL_COM_SCTN_EXIS_YN,Y,
124 Data_Header,2,3,0,1,0,1,,,
125 DATA_HEDR_KNCD,3,2,1,1,2,1,,,
126 DATA_HEDR_LEN,3,2,1,1,8,1,,,
127 Data_For_Each,2,3,0,1,0,1,,,
128 PSWD_ERR_DVCD,3,2,1,1,2,1,,,
129 ELFN_CUST_TYCD,3,2,1,1,2,1,,,
130 USER_ID_S14,3,2,1,1,14,1,,,
131 MST_ID_S14,3,2,1,1,14,1,,,
132 SVR_TX_NO,3,2,1,1,10,1,,,
133 HOST_TX_NO_S10,3,2,1,1,10,1,,,
134 NEXT_PAGE_EXIS_YN1,3,2,1,1,1,1,,,
135 SCCR_ISS_CD,3,2,1,1,2,1,,,
136 SQ1_SCCR_SSBP_NO_SER,3,2,1,1,2,1,,,
137 SQ2_SCCR_SSBP_NO_SER,3,2,1,1,2,1,,,
138 SECU_MEDIA_SEQNO_S4,3,2,1,1,4,1,,,
139 SECU_MEDIA_DTL_DVCD_N3,3,2,1,1,3,1,,,
140 PAGE_NO,3,2,1,1,5,1,,,
141 PAGE_SIZE,3,2,1,1,5,1,,,
142 TTCN_N5,3,2,1,1,5,1,,,
143 IQRY_CCNT_N5,3,2,1,1,5,1,,,
144 PRIQR_TX_NO,3,2,1,1,10,1,,,
145 SQ1_CUST_CNFR_INFO_CTNT_S39,3,2,1,1,39,1,,,
146 SQ2_CUST_CNFR_INFO_CTNT_S39,3,2,1,1,39,1,,,
147 MAC_S17,3,2,1,1,17,1,,,
148 HDD_SEQ_NO_S24,3,2,1,1,24,1,,,
149 CMCM_CD,3,2,1,1,1,1,,,
150 TLNO_S14,3,2,1,1,14,1,,,
151 OTP_EXPR_GDNC_DVCD_S1,3,2,1,1,1,1,,,
152 KFTC_ENCD_MST_KEY_VER_S2,3,2,1,1,2,1,,,
153 KFTC_ENCD_RAND1_S32,3,2,1,1,32,1,,,
154 KFTC_ENCD_RAND2_S32,3,2,1,1,32,1,,,
155 ADDT_ATHN_YN_S1,3,2,1,1,1,1,,,
156 ADDT_ATHN_METH_DVCD_S2,3,2,1,1,2,1,,,
157 ADDT_ATHN_ATHN_VAL_S40,3,2,1,1,40,1,,,
158 DUP_TX_YN_S1,3,2,1,1,1,1,,,
159 ABR_IP_BLC_YN_S1,3,2,1,1,1,1,,,
160 VIRT_ACCO_DVCD_S1,3,2,1,1,1,1,,,
161 BZWK_DVCD1_S1,3,2,1,1,1,1,,,
162 BZWK_DVCD2_S1,3,2,1,1,1,1,,,
163 BZWK_DVCD3_S1,3,2,1,1,1,1,,,
164 BZWK_DVCD4_S1,3,2,1,1,1,1,,,
165 BZWK_DVCD5_S1,3,2,1,1,1,1,,,
166 TX_SER_SEQNO_N3,3,2,1,1,3,1,,,
167 SECU_MEDIA_SEQNO_DMAN_VAL_S4,3,2,1,1,4,1,,,
168 MEDIA_D1_UZ_POSB_AMT_N12,3,2,1,1,12,1,,,
169 CPHR_KEY_SECU_CO_CD_S1,3,2,1,1,1,1,,,
170 HDD_VOLU_ID_S35,3,2,1,1,35,1,,,
171 SPR_FILD_S197,3,2,1,1,197,1,,,
172 Message,1,3,0,1,0,1,Std_Header.Header.Sys_Info.MESG_DMAN_DVCD,R,
173 Msg_Header,2,3,0,1,0,1,,,
174 MSG_HEDR_KNCD,3,2,1,1,2,1,,,NM
175 MSG_HEDR_LEN,3,2,1,1,8,2,,,
176 Msg_Body,2,3,0,1,0,1,,,
177 OUTPUT_ATRB_CD,3,2,1,1,1,1,,,0
178 OUTPUT_MSG_CD,3,2,1,1,10,1,,,
179 OUTPUT_MSG_CTNT,3,2,1,1,200,1,,,
180 OUTPUT_MSG_DESC,3,2,1,1,300,1,,,
181 ERR_MNGM_CTNT,3,2,1,1,200,1,,,
182 ERR_CHGR_NM,3,2,1,1,10,1,,,
183 ERR_CHGR_CNPL_NO,3,2,1,1,20,1,,,
184 OUTPUT_MSG_NCNT,3,2,1,1,4,2,,,0000
185 Output_Msg_Grid,3,4,0,1,0,1,Message.Msg_Body.OUTPUT_MSG_NCNT,,
186 OUTPUT_MSG_CD,4,2,0,1,10,1,,,
187 OUTPUT_MSG_CTNT,4,2,0,1,200,1,,,
188 OUTPUT_MSG_DESC,4,2,0,1,300,1,,,
189 ERR_MNGM_CTNT,4,2,0,1,200,1,,,
190 ERR_LOCT_CTNT,4,2,0,1,200,1,,,
191 ERR_OCCU_ITEM_NM,4,2,0,1,20,1,,,
192 Manager_Confirm,1,3,0,1,0,1,Std_Header.Header.Sys_Info.MESG_DMAN_DVCD,R,
193 Data_Header,2,3,0,1,0,1,,,
194 DATA_HEDR_KNCD,3,2,1,1,2,1,,,
195 DATA_HEDR_LEN,3,2,1,1,8,2,,,
196 Data_Header_Etc,2,3,0,1,0,1,,,
197 OUTPUT_SRVC_ID,3,2,1,1,13,1,,,
198 OUTPUT_SCN_ID,3,2,1,1,13,1,,,
199 OUTPUT_SCN_DRVTN_MSG_CTNT,3,2,1,1,50,1,,,
200 DCG_DVCD,3,2,1,1,1,1,,,
201 Data_For_Each,2,3,0,1,0,1,,,
202 ACNO,3,2,1,1,16,1,,,
203 TRMN_CUST_FLNM,3,2,1,1,20,1,,,
204 TX_AMT,3,2,1,1,17,2,,,
205 APRV_RSCD_CCNT,3,2,1,1,5,2,,,
206 APRV_RSCD,3,2,1,1,5,1,,,
207 PRCG_APRV_DESC,3,2,1,1,50,1,,,
208 PRCG_APRV_TYCD,3,2,1,1,1,1,,,
209 PRCG_APRV_LIST_CCNT,3,2,1,1,5,2,,,
210 TX_DVCD,3,2,1,1,2,1,,,
211 PRCG_EMPNO,3,2,1,1,6,1,,,
212 KOR_FLNM,3,2,1,1,40,1,,,
213 BLNG_BRCD,3,2,1,1,4,1,,,
214 BRN_KOR_NM ,3,2,1,1,100,1,,,
215 LOGIN_IPAD,3,2,1,1,30,1,,,
216 JOBCLS_CD,3,2,1,1,2,1,,,
217 LOGIN_STCD,3,2,1,1,2,1,,,
218 ABSC_YN,3,2,1,1,1,1,,,
219 AGNCY_APRV_TLRNO,3,2,1,1,7,1,,,
220 BRMNR_YN,3,2,1,1,1,1,,,
221 AUDT_UNCN_PRCG_YN,3,2,1,1,1,1,,,
222 Data_Part,1,3,0,1,0,1,,,
223 Data_Header,2,3,0,1,0,1,,,
224 DATA_HEDR_KNCD,3,2,1,1,2,1,,,IO
225 DATA_HEDR_LEN,3,2,1,1,8,2,,,
226 Data_Header_Etc,2,3,0,1,0,1,Std_Header.Header.Sys_Info.MESG_DMAN_DVCD,R,
227 OUTPUT_SRVC_ID,3,2,1,1,13,1,,,
228 OUTPUT_SCN_ID,3,2,1,1,13,1,,,
229 OUTPUT_SCN_DRVTN_MSG_CTNT,3,2,1,1,50,1,,,
230 DCG_DVCD,3,2,1,1,1,1,,,
231 Data_For_Each,2,3,0,1,0,1,,,
232 BizData,3,9,1,1,0,1,,,
233 END_BIT_CTNT,1,2,1,1,2,11,,,@@
@@ -1,28 +0,0 @@
#-----------------------------------------------------------------------------
# comment start with #
# level; // 0 : root ~ n
# type; // 0: Message, 1: Field, 2:Group 3, Grid, 4 : Field Array, 9 : BIZ DATA
# size // 0 : variable, > 0 fixed
# fieldType; // 0: ELEMENT, 1: ATTRIBUTE,
# length;
# dataType; // 0: String, 1: Number,10: ZZ String, 11: LL Number
#-----------------------------------------------------------------------------
#name ,level,type,size,fieldType,length,dataType,refPath ,refValue,value
ElinkHeader ,0 ,0 ,1 ,0 ,0 ,0 , , ,
Header ,1 ,2 ,1 ,1 ,0 ,0 , , ,
StndCicsTrncd ,2 ,1 ,1 ,1 ,10 ,0 , , ,
StndIntnlStndTelgmLen,2 ,1 ,1 ,1 ,10 ,11 , , ,0
StndTranBaseYmd ,2 ,1 ,1 ,1 ,10 ,0 , , ,
Common ,1 ,2 ,0 ,0 ,0 ,0 ,Header.StndCicsTrncd,JI6H ,
TranInfo ,2 ,2 ,1 ,0 ,0 ,0 , , ,
StndCicsTrncd ,3 ,1 ,1 ,0 ,3 ,0 , , ,
StndTelgmRecvTranCd ,3 ,1 ,1 ,0 ,10 ,0 , , ,
StndPrcssRtdTranCd ,3 ,1 ,1 ,0 ,10 ,0 , , ,
Array ,1 ,3 ,0 ,0 ,3 ,0 , , ,
Item1 ,2 ,1 ,1 ,0 ,10 ,0 , , ,JI6H
Group ,2 ,3 ,1 ,0 ,1 ,0 , , ,
gitem1 ,3 ,1 ,1 ,0 ,10 ,1 , , ,726
gitem2 ,3 ,1 ,1 ,0 ,10 ,0 , , ,20220905
FArray ,1 ,4 ,0 ,0 ,10 ,0 , , ,
bizData ,1 ,9 ,1 ,0 ,0 ,0 , , ,
zzData ,1 ,1 ,1 ,0 ,2 ,10 , , ,ZZ
1 #-----------------------------------------------------------------------------
2 # comment start with #
3 # level; // 0 : root ~ n
4 # type; // 0: Message, 1: Field, 2:Group 3, Grid, 4 : Field Array, 9 : BIZ DATA
5 # size // 0 : variable, > 0 fixed
6 # fieldType; // 0: ELEMENT, 1: ATTRIBUTE,
7 # length;
8 # dataType; // 0: String, 1: Number,10: ZZ String, 11: LL Number
9 #-----------------------------------------------------------------------------
10 #name ,level,type,size,fieldType,length,dataType,refPath ,refValue,value
11 ElinkHeader ,0 ,0 ,1 ,0 ,0 ,0 , , ,
12 Header ,1 ,2 ,1 ,1 ,0 ,0 , , ,
13 StndCicsTrncd ,2 ,1 ,1 ,1 ,10 ,0 , , ,
14 StndIntnlStndTelgmLen,2 ,1 ,1 ,1 ,10 ,11 , , ,0
15 StndTranBaseYmd ,2 ,1 ,1 ,1 ,10 ,0 , , ,
16 Common ,1 ,2 ,0 ,0 ,0 ,0 ,Header.StndCicsTrncd,JI6H ,
17 TranInfo ,2 ,2 ,1 ,0 ,0 ,0 , , ,
18 StndCicsTrncd ,3 ,1 ,1 ,0 ,3 ,0 , , ,
19 StndTelgmRecvTranCd ,3 ,1 ,1 ,0 ,10 ,0 , , ,
20 StndPrcssRtdTranCd ,3 ,1 ,1 ,0 ,10 ,0 , , ,
21 Array ,1 ,3 ,0 ,0 ,3 ,0 , , ,
22 Item1 ,2 ,1 ,1 ,0 ,10 ,0 , , ,JI6H
23 Group ,2 ,3 ,1 ,0 ,1 ,0 , , ,
24 gitem1 ,3 ,1 ,1 ,0 ,10 ,1 , , ,726
25 gitem2 ,3 ,1 ,1 ,0 ,10 ,0 , , ,20220905
26 FArray ,1 ,4 ,0 ,0 ,10 ,0 , , ,
27 bizData ,1 ,9 ,1 ,0 ,0 ,0 , , ,
28 zzData ,1 ,1 ,1 ,0 ,2 ,10 , , ,ZZ
-104
View File
@@ -1,104 +0,0 @@
#-----------------------------------------------------------------------------,,,,,,,,,,
# comment start with #,,,,,,,,,,
# level; // 0 : root ~ n,,,,,,,,,,
# type; // 0: Message, 1: Field, 2:Group 3, Grid, 4 : Field Array, 9 : BIZ DATA,,,,,
# size // 0 : variable, > 0 fixed,,,,,,,,,
# fieldType; // 0: ELEMENT, 1: ATTRIBUTE,,,,,,,,,
# length;,,,,,,,,,,
# dataType; // 0: String, 1: Number,10: ZZ String, 11: LL Number,,,,,,,
#-----------------------------------------------------------------------------,,,,,,,,,,
# name ,level ,type ,size ,fieldType ,length ,dataType ,,refPath, refValue,value
#-----------------------------------------------------------------------------,,,,,,,,,,
# name ,level ,type ,size ,fieldType ,length ,dataType ,refPath, refValue, value
STD_SBI_HEADER_REQ ,0,0,1,0,0,0, , ,
STD_HEADER ,1,2,1,0,0,0, , ,
mesgLen,2,1,1,0,8,11, , ,
mesgKind,2,1,1,0,1,0, , ,
dtlDstc1,2,1,1,0,1,0, , ,
dtlDstc2,2,1,1,0,1,0, , ,
rsltCd,2,1,1,0,2,0, , ,
filler,2,1,1,0,11,0, , ,
whlMesgLen,2,1,1,0,8,1, , ,
stndHdrLen,2,1,1,0,8,1, , ,
globId,2,1,1,0,32,0, , ,
prgsSrno,2,1,1,0,3,1, , ,
ipAd,2,1,1,0,15,0, , ,
prcmMac,2,1,1,0,12,0, , ,
trnTrnmNo,2,1,1,0,9,0, , ,
ssoSesnKey,2,1,1,0,30,0, , ,
frstTrnmChnlCd,2,1,1,0,3,0, , ,
trnmChnlCd,2,1,1,0,3,0, , ,
trnmNodeNo,2,1,1,0,2,1, , ,
mciTrnmNodeNo,2,1,1,0,2,1, , ,
trmnDeptCd,2,1,1,0,4,0, , ,
envDvcd,2,1,1,0,1,0, , ,
mesgDmndDttm,2,1,1,0,17,0, , ,
mesgVrsnDvcd,2,1,1,0,3,0, , ,
trnCd,2,1,1,0,8,0, , ,
scrnNo,2,1,1,0,9,0, , ,
mesgRespDttm,2,1,1,0,17,0, , ,
trnPtrnDvcd,2,1,1,0,1,0, , ,
mesgDvcd,2,1,1,0,1,0, , ,
mesgTycd,2,1,1,0,1,0,,,
mesgCntySrno,2,1,1,0,2,1,,,
bfrDtLoinYn,2,1,1,0,1,0,,,
canCrctDvcd,2,1,1,0,1,0,,,
trtmRsltCd,2,1,1,0,1,0,,,
cmpgRelmUseDvcd,2,1,1,0,1,0,,,
bankCd,2,1,1,0,3,0,,,
deptCd,2,1,1,0,4,0,,,
brCd,2,1,1,0,4,0,,,
atmBrCd,2,1,1,0,2,0,,,
userNo,2,1,1,0,6,0,,,
corpAuthYn,2,1,1,0,1,0,,,
ctiYn,2,1,1,0,1,0,,,
cshnOcrnYn,2,1,1,0,1,0,,,
cashAmt,2,1,1,0,18,1,,,
otbrAmt1,2,1,1,0,18,1,,,
otbrAmt2,2,1,1,0,18,1,,,
sumAmt,2,1,1,0,18,1,,,
altrDiffAmt,2,1,1,0,18,1,,,
xtisCd,2,1,1,0,4,0,,,
bzwrSvrCd,2,1,1,0,4,0,,,
otsdMesgCd,2,1,1,0,32,0,,,
otsdMesgTrtmCd,2,1,1,0,32,0,,,
otsdTrnUnqNo,2,1,1,0,32,0,,,
otsdRespTrnCd,2,1,1,0,8,0,,,
chnlMsgCd,2,1,1,0,10,0,,,
sprChrsCntn,2,1,1,0,80,0,,,
STD_COMMON,1,2,1,0,0,0,,,
aprvStcd,2,1,1,0,2,0,,,
aprvDmndTrnAmt,2,1,1,0,18,1,,,
aprvDmndCustNm,2,1,1,0,50,0,,,
aprvDmndMsg,2,1,1,0,100,0,,,
aprvMsgCcnt,2,1,1,0,2,1,,,
STDCommonApprovalMsg,2,3,0,0,0,0,STD_COMMON.aprvMsgCcnt,,
aprvMsgCd,3,1,1,0,8,0,,,
aprvMsgCntn,3,1,1,0,100,0,,,
aprvAlwnSqcnt,2,1,1,0,1,1,,,
loinPrcgPcnt,2,1,1,0,2,1,,,
STDCommonLoginManager,2,3,0,0,0,0,STD_COMMON.loinPrcgPcnt,,
loinPrcgEmno,3,1,1,0,6,0,,,
loinPrcgNm,3,1,1,0,20,0,,,
loinPrcgIpad,3,1,1,0,15,0,,,
aprrPcnt,2,1,1,0,2,1,,,
STDCommonApprover,2,3,0,0,0,0,STD_COMMON.aprrPcnt,,
aprrEmno,3,1,1,0,6,0,,,
aprrMsg,3,1,1,0,100,0,,,
STDMsg,1,2,1,0,0,0,,,
msgCcnt,2,1,1,0,2,1,,,
STDMsgError,2,3,0,0,0,0,STDMsg.msgCcnt,,
msgCd,3,1,1,0,8,0,,,
msgCntn,3,1,1,0,100,0,,,
erorOcrnPrrmLine,3,1,1,0,7,1,,,
erorOcrnPrrmNm,3,1,1,0,100,0,,,
STDDataHeader,1,2,1,0,0,0,,,
otptMediPtrnCcnt,2,1,1,0,2,1,,,
STDDataHeaderItem,2,3,0,0,0,0,STDDataHeader.otptMediPtrnCcnt,,
otptTrnCd,3,1,1,0,8,0,,,
otptYn,3,1,1,0,1,0,,,
otptScrnNo,3,1,1,0,9,0,,,
drvtnDvcd,3,1,1,0,1,0,,,
gdncMsg,3,1,1,0,50,0,,,
bizData,1,9,1,0,0,0,,,
zzData,1,1,1,0,2,10,,,@@
1 #-----------------------------------------------------------------------------
2 # comment start with #
3 # level; // 0 : root ~ n
4 # type; // 0: Message 1: Field 2:Group 3 Grid 4 : Field Array 9 : BIZ DATA
5 # size // 0 : variable > 0 fixed
6 # fieldType; // 0: ELEMENT 1: ATTRIBUTE
7 # length;
8 # dataType; // 0: String 1: Number 10: ZZ String 11: LL Number
9 #-----------------------------------------------------------------------------
10 # name level type size fieldType length dataType refPath refValue value
11 #-----------------------------------------------------------------------------
12 # name level type size fieldType length dataType refPath refValue value
13 STD_SBI_HEADER_REQ 0 0 1 0 0 0
14 STD_HEADER 1 2 1 0 0 0
15 mesgLen 2 1 1 0 8 11
16 mesgKind 2 1 1 0 1 0
17 dtlDstc1 2 1 1 0 1 0
18 dtlDstc2 2 1 1 0 1 0
19 rsltCd 2 1 1 0 2 0
20 filler 2 1 1 0 11 0
21 whlMesgLen 2 1 1 0 8 1
22 stndHdrLen 2 1 1 0 8 1
23 globId 2 1 1 0 32 0
24 prgsSrno 2 1 1 0 3 1
25 ipAd 2 1 1 0 15 0
26 prcmMac 2 1 1 0 12 0
27 trnTrnmNo 2 1 1 0 9 0
28 ssoSesnKey 2 1 1 0 30 0
29 frstTrnmChnlCd 2 1 1 0 3 0
30 trnmChnlCd 2 1 1 0 3 0
31 trnmNodeNo 2 1 1 0 2 1
32 mciTrnmNodeNo 2 1 1 0 2 1
33 trmnDeptCd 2 1 1 0 4 0
34 envDvcd 2 1 1 0 1 0
35 mesgDmndDttm 2 1 1 0 17 0
36 mesgVrsnDvcd 2 1 1 0 3 0
37 trnCd 2 1 1 0 8 0
38 scrnNo 2 1 1 0 9 0
39 mesgRespDttm 2 1 1 0 17 0
40 trnPtrnDvcd 2 1 1 0 1 0
41 mesgDvcd 2 1 1 0 1 0
42 mesgTycd 2 1 1 0 1 0
43 mesgCntySrno 2 1 1 0 2 1
44 bfrDtLoinYn 2 1 1 0 1 0
45 canCrctDvcd 2 1 1 0 1 0
46 trtmRsltCd 2 1 1 0 1 0
47 cmpgRelmUseDvcd 2 1 1 0 1 0
48 bankCd 2 1 1 0 3 0
49 deptCd 2 1 1 0 4 0
50 brCd 2 1 1 0 4 0
51 atmBrCd 2 1 1 0 2 0
52 userNo 2 1 1 0 6 0
53 corpAuthYn 2 1 1 0 1 0
54 ctiYn 2 1 1 0 1 0
55 cshnOcrnYn 2 1 1 0 1 0
56 cashAmt 2 1 1 0 18 1
57 otbrAmt1 2 1 1 0 18 1
58 otbrAmt2 2 1 1 0 18 1
59 sumAmt 2 1 1 0 18 1
60 altrDiffAmt 2 1 1 0 18 1
61 xtisCd 2 1 1 0 4 0
62 bzwrSvrCd 2 1 1 0 4 0
63 otsdMesgCd 2 1 1 0 32 0
64 otsdMesgTrtmCd 2 1 1 0 32 0
65 otsdTrnUnqNo 2 1 1 0 32 0
66 otsdRespTrnCd 2 1 1 0 8 0
67 chnlMsgCd 2 1 1 0 10 0
68 sprChrsCntn 2 1 1 0 80 0
69 STD_COMMON 1 2 1 0 0 0
70 aprvStcd 2 1 1 0 2 0
71 aprvDmndTrnAmt 2 1 1 0 18 1
72 aprvDmndCustNm 2 1 1 0 50 0
73 aprvDmndMsg 2 1 1 0 100 0
74 aprvMsgCcnt 2 1 1 0 2 1
75 STDCommonApprovalMsg 2 3 0 0 0 0 STD_COMMON.aprvMsgCcnt
76 aprvMsgCd 3 1 1 0 8 0
77 aprvMsgCntn 3 1 1 0 100 0
78 aprvAlwnSqcnt 2 1 1 0 1 1
79 loinPrcgPcnt 2 1 1 0 2 1
80 STDCommonLoginManager 2 3 0 0 0 0 STD_COMMON.loinPrcgPcnt
81 loinPrcgEmno 3 1 1 0 6 0
82 loinPrcgNm 3 1 1 0 20 0
83 loinPrcgIpad 3 1 1 0 15 0
84 aprrPcnt 2 1 1 0 2 1
85 STDCommonApprover 2 3 0 0 0 0 STD_COMMON.aprrPcnt
86 aprrEmno 3 1 1 0 6 0
87 aprrMsg 3 1 1 0 100 0
88 STDMsg 1 2 1 0 0 0
89 msgCcnt 2 1 1 0 2 1
90 STDMsgError 2 3 0 0 0 0 STDMsg.msgCcnt
91 msgCd 3 1 1 0 8 0
92 msgCntn 3 1 1 0 100 0
93 erorOcrnPrrmLine 3 1 1 0 7 1
94 erorOcrnPrrmNm 3 1 1 0 100 0
95 STDDataHeader 1 2 1 0 0 0
96 otptMediPtrnCcnt 2 1 1 0 2 1
97 STDDataHeaderItem 2 3 0 0 0 0 STDDataHeader.otptMediPtrnCcnt
98 otptTrnCd 3 1 1 0 8 0
99 otptYn 3 1 1 0 1 0
100 otptScrnNo 3 1 1 0 9 0
101 drvtnDvcd 3 1 1 0 1 0
102 gdncMsg 3 1 1 0 50 0
103 bizData 1 9 1 0 0 0
104 zzData 1 1 1 0 2 10 @@
@@ -1,31 +0,0 @@
# layout : StandardMessage layout definition
#layout.file.type=CSV
layout.file.type=DB
#layout.file.path=standard-layout-sbi.csv
#layout.file.path=standard-layout-elk.csv
#layout.filter.FLAT=com.eactive.eai.custom.message.FlatMessageFilterSBI
layout.filter.FLAT=com.eactive.eai.message.filter.FlatMessageFilter
# mapper : StandardMessage's fields getter/setter interface
#mapper.class=com.eactive.eai.custom.message.InterfaceMapperSBI
mapper.class=com.eactive.eai.custom.message.InterfaceMapperKAKAOCARD
#mapper.definition=standard-message-mapping-config-sbi.properties
#mapper.definition=standard-message-mapping-config-elk.properties
mapper.definition=standard-message-mapping-config.properties
# StandardMessage Coordinator implementation
message.coordinator.class=com.eactive.eai.custom.message.StandardMessageCoordinatorKAKAOCARD
# RequestProcessor implementation
#requestProcessor.class=com.eactive.eai.inbound.processor.RequestProcessor
# reader : parsing input data to StandardMessage
reader.JSON=com.eactive.eai.message.parser.JsonReader
reader.JSN=com.eactive.eai.message.parser.JsonReader
reader.UJN=com.eactive.eai.message.parser.JsonReader
reader.XML=com.eactive.eai.message.parser.XmlReader
reader.UXL=com.eactive.eai.message.parser.XmlReader
reader.ASC=com.eactive.eai.message.parser.FlatReader
reader.FLAT=com.eactive.eai.message.parser.FlatReader
encode.flat=euc-kr
encode.xml=utf-8
version.layout.name=KAKAOBANK
version.layout.filter.FLAT=com.eactive.eai.custom.message.FlatMessageFilterKAKAOCARD
version.mapper=com.eactive.eai.message.mapper.DefaultMessageMapper
version.mapper.definition=version-message-mapping-config.properties
@@ -1,22 +0,0 @@
# layout : StandardMessage layout definition
layout.file.type=DB:SBI
layout.file.path=standard-layout-sbi.csv
layout.filter.FLAT=com.eactive.eai.custom.message.FlatMessageFilterSBI
# mapper : StandardMessage's fields getter/setter interface
mapper.class=com.eactive.eai.custom.message.InterfaceMapperSBI
mapper.definition=standard-message-mapping-config-sbi.properties
# StandardMessage Coordinator implementation
message.coordinator.class=com.eactive.eai.custom.message.StandardMessageCoordinatorSBI
# RequestProcessor implementation
#requestProcessor.class=com.eactive.eai.inbound.processor.RequestProcessor
# reader : parsing input data to StandardMessage
reader.JSON=com.eactive.eai.message.parser.JsonReader
reader.JSN=com.eactive.eai.message.parser.JsonReader
reader.UJN=com.eactive.eai.message.parser.JsonReader
reader.XML=com.eactive.eai.message.parser.XmlReader
reader.UXL=com.eactive.eai.message.parser.XmlReader
reader.ASC=com.eactive.eai.message.parser.FlatReader
reader.FLAT=com.eactive.eai.message.parser.FlatReader
encode.flat=euc-kr
encode.xml=utf-8
encode.json=utf-8
@@ -1,11 +0,0 @@
layout.file.type=CSV
layout.file.path=./resources/standard-layout-sample.csv
mapper.class=com.eactive.eai.message.test.TestInterfaceMapper
mapper.definition=./resources/standard-message-mapping-config.properties
reader.JSON=com.eactive.eai.message.parser.JsonReader
reader.JSN=com.eactive.eai.message.parser.JsonReader
reader.UJN=com.eactive.eai.message.parser.JsonReader
reader.XML=com.eactive.eai.message.parser.XmlReader
reader.UXL=com.eactive.eai.message.parser.XmlReader
reader.ASC=com.eactive.eai.message.parser.FlatReader
reader.FLAT=com.eactive.eai.message.parser.FlatReader
@@ -1,26 +0,0 @@
REQ_SYS_CODE=commonHeader.firstReqSystemCode
CHANNEL_TYPE_CD=
CHANNEL_DETAIL_CD=
SEND_TIME=
GUID=commonHeader.globalId
SYSTEM_TYPE=
RECV_TIME=
RETURN_VALUE=
GUID_ORG=commonHeader.globalId
GUID_SEQ=commonHeader.traceSeqNo
SERVICE_ID=commonHeader.serviceCode
RETURN_SERVICE_ID=
INTERFACE_ID=commonHeader.serviceCode
SESSION_ID=
SEND_RECV_DIVISION=commonHeader.reqResTypeCode
IN_EX_DIVISION=commonHeader.inExTypeCode
OPERATION_ENV=
FIRST_REQ_IP=commonHeader.firstReqSystemIp
RECOVER_YN=
INST_CODE=
TIMEOUT=
ERROR_CODE=commonHeader.resultCode
ERROR_MSG=commonHeader.resultMsg
USER_ID=
RESPONSE_TYPE=
SYNC_ASYNC_TYPE=
@@ -1,52 +0,0 @@
#C2R에서만 사용
REQ_SYS_CODE=
#채널유형코드
CHANNEL_TYPE_CD=
#채널세부분류코드
CHANNEL_DETAIL_CD=HEADER.CHNL_CLCD
#전송시간-400응답시에 셋팅
SEND_TIME=
#GUID
GUID=HEADER.GUID
#시스템타입-MCI/EAI/FEP-사용하는데 없어보임
SYSTEM_TYPE=
#수신시각
RECV_TIME=
#사용하는데 없어보임
RETURN_VALUE=
#원거래GUID
GUID_ORG=HEADER.GUID
#GUID의 진행일련번호-카카오에서는 합쳐저 있어서 코딩으로 변경
GUID_SEQ=
#계정계서비스ID-카카오에서는 URL이 들어감
SERVICE_ID=INTERFACE_COMMON.API_PATH
#계정계응답서비스ID-카카오에서는 URL이 들어감
RETURN_SERVICE_ID=INTERFACE_COMMON.PROCS_RSLT_RCV_API_PATH
#인터페이스ID
INTERFACE_ID=INTERFACE_COMMON.IF_ID
#세션ID-MCI/EAI/FEP별로 mapper에서 셋팅해야될껄로 변경
SESSION_ID=
#요청응답구분코드
SEND_RECV_DIVISION=HEADER.FMSG_REQ_RES_DSTCD
#내외구분코드
IN_EX_DIVISION=INTERFACE_COMMON.IOSD_DSTCD
#운영환경구분코드
OPERATION_ENV=HEADER.SYS_ENV_DSTCD
#최초요청IP
FIRST_REQ_IP=HEADER.FRST_TRNM_IPAD
#복원여부
RECOVER_YN=INTERFACE_COMMON.OTX_RSTR_YN
#인스턴스ID-MCI/EAI/FEP별로 mapper에서 셋팅해야될껄로 변경
INST_CODE=
#타임아웃
TIMEOUT=HEADER.GNRZ_TMOT_TM
#에러코드
ERROR_CODE=MESSAGE.OUT_MSG_CD
#에러메시지
ERROR_MSG=MESSAGE.OUT_MSG_CTNT
#사용자ID
USER_ID=COMMON.TLRNO
#응답타입-정상여부
RESPONSE_TYPE=COMMON.PROCS_RSLT_DSTCD
#거래동기화구분코드-S/A
SYNC_ASYNC_TYPE=
@@ -1,52 +0,0 @@
#C2R\uC5D0\uC11C\uB9CC \uC0AC\uC6A9
REQ_SYS_CODE=
#\uCC44\uB110\uC720\uD615\uCF54\uB4DC
CHANNEL_TYPE_CD=
#\uCC44\uB110\uC138\uBD80\uBD84\uB958\uCF54\uB4DC
CHANNEL_DETAIL_CD=
#\uC804\uC1A1\uC2DC\uAC04-400\uC751\uB2F5\uC2DC\uC5D0 \uC14B\uD305
SEND_TIME=
#GUID - K
GUID=Header.Sys_Info.GUID
#\uC2DC\uC2A4\uD15C\uD0C0\uC785-MCI/EAI/FEP-\uC0AC\uC6A9
SYSTEM_TYPE=Header.Src_System.FRST_TRNM_SYS_CD
#\uC218\uC2E0\uC2DC\uAC01
RECV_TIME=Common.BizProc_Info.MESG_DMAN_TKTM
# \uBBF8\uC0AC\uC6A9
RETURN_VALUE=
#\uC6D0\uAC70\uB798GUID - K
GUID_ORG=
#GUID\uC758 \uC9C4\uD589\uC77C\uB828\uBC88\uD638 - K
GUID_SEQ=
#\uACC4\uC815\uACC4\uC11C\uBE44\uC2A4ID - K
SERVICE_ID=Common.Service_info.SRVC_ID
#\uACC4\uC815\uACC4\uC751\uB2F5\uC11C\uBE44\uC2A4ID
RETURN_SERVICE_ID=
#\uC778\uD130\uD398\uC774\uC2A4ID - K
INTERFACE_ID=Common.Service_info.IF_ID
#\uC138\uC158ID-MCI/EAI/FEP\uBCC4\uB85C map
SESSION_ID=Header.Src_System.MCI_SESN_ID
#\uC694\uCCAD\uC751\uB2F5\uAD6C\uBD84\uCF54\uB4DC(S|R)
SEND_RECV_DIVISION=Header.Sys_Info.MESG_DMAN_DVCD
#\uB0B4\uC678\uAD6C\uBD84\uCF54\uB4DC(1|2)
IN_EX_DIVISION=Common.Service_info.HMAB_DVCD
#\uC6B4\uC601\uD658\uACBD\uAD6C\uBD84\uCF54\uB4DC
OPERATION_ENV=Common.Service_info.SYS_OPRT_ENV_DVCD
#\uCD5C\uCD08\uC694\uCCADIP
FIRST_REQ_IP=Header.Src_System.FRST_TRNM_IPAD
#\uBCF5\uC6D0\uC5EC\uBD80(0|1)
RECOVER_YN=Common.Service_info.ORTR_RESTR_YN
#\uC778\uC2A4\uD134\uC2A4ID
INST_CODE=
#\uD0C0\uC784\uC544\uC6C3
TIMEOUT=
#\uC5D0\uB7EC\uCF54\uB4DC
ERROR_CODE=Common.Error_Info.ERR_CD
#\uC5D0\uB7EC\uBA54\uC2DC\uC9C0
ERROR_MSG=Message.Msg_Body.OUTPUT_MSG_CTNT
#\uC0AC\uC6A9\uC790ID
USER_ID=
#\uC751\uB2F5\uD0C0\uC785-\uC815\uC0C1\uC5EC\uBD80(0=\uC815\uC0C1|1=\uC5D0\uB7EC)
RESPONSE_TYPE=Common.BizProc_Info.PROCS_RSLT_DVCD
#\uAC70\uB798\uB3D9\uAE30\uD654\uAD6C\uBD84\uCF54\uB4DC(S|A)
SYNC_ASYNC_TYPE=Common.Service_info.TX_SYNZ_DVCD
@@ -1,28 +0,0 @@
REQ_SYS_CODE=systemHeader.DMND_SYS_CD
CHANNEL_TYPE_CD=stdcommon.chnlTycd
CHANNEL_DETAIL_CD=stdcommon.chnlDtlsClcd
SEND_TIME=stdheader.send_tm
GUID=stdheader.global_id
SYSTEM_TYPE=stdheader.Inter_chn
RECV_TIME=stdheader.recv_tm
RETURN_VALUE=stdheader.return_value
GUID_ORG=stdcommon.ortrGuid
GUID_SEQ=stdheader.global_id
#SERVICE_ID=stdheader.service_id
SERVICE_ID=service_id
RETURN_SERVICE_ID=stdcommon.procsRsltRcmsSrvcId
INTERFACE_ID=stdheader.service_id
SESSION_ID=stdheader.Session_id
#SEND_RECV_DIVISION=stdheader.return_gubun
SEND_RECV_DIVISION=service_tn
IN_EX_DIVISION=stdcommon.hmabDvcd
OPERATION_ENV=stdcommon.sysOprtEnvDvcd
FIRST_REQ_IP=stdheader.ip_addr
RECOVER_YN=stdcommon.ortrRestrYn
INST_CODE=stdheader.com_code
TIMEOUT=stdheader.gnrzTmotTktm
ERROR_CODE=stdheader.msg_id
ERROR_MSG=stdheader.msg_nm
USER_ID=stdheader.usr_id
RESPONSE_TYPE=stdcommon.procsRsltDvcd
SYNC_ASYNC_TYPE=stdcommon.txSynzDvcd
@@ -1,26 +0,0 @@
REQ_SYS_CODE=STD_HEADER.trnmChnlCd
CHANNEL_TYPE_CD=STD_HEADER.trnmChnlCd
CHANNEL_DETAIL_CD=STD_HEADER.trnmNodeNo
SEND_TIME=STD_HEADER.mesgDmndDttm
GUID=STD_HEADER.globId
SYSTEM_TYPE=
RECV_TIME=STD_HEADER.mesgRespDttm
RETURN_VALUE=
GUID_ORG=STD_HEADER.globId
GUID_SEQ=STD_HEADER.prgsSrno
SERVICE_ID=STD_HEADER.trnCd
RETURN_SERVICE_ID=STD_HEADER.otsdRespTrnCd
INTERFACE_ID=STD_HEADER.trnCd
SESSION_ID=STD_HEADER.ssoSesnKey
SEND_RECV_DIVISION=STD_HEADER.mesgDvcd
IN_EX_DIVISION=
OPERATION_ENV=STD_HEADER.envDvcd
FIRST_REQ_IP=STD_HEADER.ipAd
RECOVER_YN=
INST_CODE=STD_HEADER.xtisCd
TIMEOUT=
ERROR_CODE=STDMsg.STDMsgError.msgCd
ERROR_MSG=STDMsg.STDMsgError.msgCntn
USER_ID=STD_HEADER.userNo
RESPONSE_TYPE=STD_HEADER.trtmRsltCd
SYNC_ASYNC_TYPE=
@@ -1,52 +0,0 @@
#C2R에서만 사용
REQ_SYS_CODE=
#채널유형코드
CHANNEL_TYPE_CD=
#채널세부분류코드
CHANNEL_DETAIL_CD=
#전송시간-400응답시에 셋팅
SEND_TIME=
#GUID - K
GUID=
#시스템타입-MCI/EAI/FEP-사용
SYSTEM_TYPE=
#수신시각
RECV_TIME=header_part.tlgrRspnsDttm
# 미사용
RETURN_VALUE=
#원거래GUID - K
GUID_ORG=header_part.orgnlTx
#GUID의 진행일련번호 - K
GUID_SEQ=header_part.tlgrPrgrsNo
#계정계서비스ID - K
SERVICE_ID=header_part.eaiIntfId
#계정계응답서비스ID
RETURN_SERVICE_ID=
#인터페이스ID - K
INTERFACE_ID=header_part.eaiIntfId
#세션ID-MCI/EAI/FEP별로 map
SESSION_ID=
#요청응답구분코드(S|R)
SEND_RECV_DIVISION=header_part.reqRspnsDscd
#내외구분코드(1|2)
IN_EX_DIVISION=
#운영환경구분코드
OPERATION_ENV=header_part.exctnModeDscd
#최초요청IP
FIRST_REQ_IP=header_part.ipAddr
#복원여부(0|1)
RECOVER_YN=
#인스턴스ID
INST_CODE=
#타임아웃
TIMEOUT=
#에러코드
ERROR_CODE=message_part.msgCtntCd
#에러메시지
ERROR_MSG=message_part.msgCtnt
#사용자ID
USER_ID=
#응답타입-정상여부(0=정상|1=에러)
RESPONSE_TYPE=header_part.prcsRsltDscd
#거래동기화구분코드(S|A)
SYNC_ASYNC_TYPE=header_part.syncDscd
@@ -1,60 +0,0 @@
#표준(KAKAOBANK_CARD)=비표준(KAKAOBANK)
########HEADER##################################
#표준전문길이 STND_MESG_LEN : Flat에서 설정필요
#암호화압축구분코드 ENCD_CMPI_DVCD : default값 활용(0)
#GUID GUID
HEADER.GUID=Header.GUID
#전문요청구분코드 MESG_DMAN_DVCD ######INTERFACE KEY(2)
HEADER.FMSG_REQ_RES_DSTCD=Header.MESG_DMAN_DVCD
#전문버전번호 MESG_VER_NO : default값 활용(R10)
#최초전송IP주소 FRST_TRNM_IPAD
HEADER.FRST_TRNM_IPAD=Header.FRST_TRNM_IPAD
#최초전송시스템코드 FRST_TRNM_SYS_CD
HEADER.FRST_TRNM_SYS_CD=
#총괄타임아웃시간 GNRZ_TMOT_TKTM : default값 활용(050)
HEADER.GNRZ_TMOT_TM=Header.GNRZ_TMOT_TKTM
#거래타임아웃시간 TX_TMOT_TKTM : default값 활용(050)
########COMMON##################################
#그룹회사코드 GROUP_CMP_CD : default값 활용(090)
#서비스ID SRVC_ID : 카드 인터페이스에 등록된 값을 셋팅한다.
#처리결과수신서비스ID PROCS_RSLT_RCMS_SRVC_ID : 확인필요
#인터페이스ID IF_ID : 카드 인터페이스에 등록된 값을 셋팅한다. ######INTERFACE KEY(1)
#거래동기화구분코드 TX_SYNZ_DVCD : default값 활용(S)
#내외구분코드 HMAB_DVCD ######INTERFACE KEY(3)
INTERFACE_COMMON.IOSD_DSTCD=Common.HMAB_DVCD
#시스템운영환경구분코드 SYS_OPRT_ENV_DVCD
HEADER.SYS_ENV_DSTCD=Common.SYS_OPRT_ENV_DVCD
#거래유형구분코드 TX_TYP_DVCD : default값 활용(O)
#원거래복원여부 ORTR_RESTR_YN : default값 활용(N)
#은행코드 BANK_CD : default값 활용(090)
#거래부점코드 TX_BRCD
COMMON.TX_BRCD=Common.TX_BRCD
#실거래부점코드 RLTR_BRCD
COMMON.RLTR_BRCD=Common.RLTR_BRCD
#채널유형코드 CHNL_TYCD : default값 활용(U)
#채널공통부문존재여부 CHNL_COM_SCTN_EXIS_YN : default값 활용(N)
#텔러번호 TLRNO
COMMON.TLRNO=Common.TLRNO
###계정계셋팅-시작
#거래일자 TX_DT
#거래시각 TX_TIME
#시스템일자 SYS_DT
#시스템시각 SYS_TIME
###계정계셋팅-끝 ???
#전문요청일자 MESG_DMAN_DT
COMMON.TX_DT=Common.MESG_DMAN_DT
#전문요청시간 MESG_DMAN_TKTM
COMMON.TX_TM=Common.MESG_DMAN_TKTM
#처리결과구분코드 PROCS_RSLT_DSTCD
COMMON.PROCS_RSLT_DSTCD=Common.PROCS_RSLT_DVCD
########################메시지부#####################
#MESSAGE.MSG_HEDR_KNCD=MESSAGE.MSG_HEDR_KNCD
MESSAGE.OUT_ATRB_CD=MSG.OUTPUT_ATRB_CD
MESSAGE.OUT_MSG_CD=MSG.OUTPUT_MSG_CD
MESSAGE.OUT_MSG_CTNT=MSG.OUTPUT_MSG_CTNT
MESSAGE.OUT_MSG_DESC=MSG.OUTPUT_MSG_DESC
#MESSAGE.OUTPUT_MSG_CD=MESSAGE.OUTPUT_MSG_GROUP[0].OUTPUT_MSG_CD
#MESSAGE.OUTPUT_MSG_CTNT=MESSAGE.OUTPUT_MSG_GROUP[0].OUTPUT_MSG_CTNT
#MESSAGE.OUTPUT_MSG_DESC=MESSAGE.OUTPUT_MSG_GROUP[0].OUTPUT_MSG_DESC
########################업무데이터####################
DATA=DataPart.DataBody
@@ -1,5 +0,0 @@
service_id=header.if_id
global_id=header.guid
service_tn=header.req_type
return_value=header.inex_type
bizData=bizData