//package com.eactive.eai.outbound; 
//
//import java.util.Properties;
//
//import org.apache.commons.lang.time.StopWatch;
//
//import com.eactive.eai.adapter.AdapterGroupVO;
//import com.eactive.eai.adapter.AdapterManager;
//import com.eactive.eai.adapter.AdapterVO;
//import com.eactive.eai.adapter.wca.SNAProperties;
//import com.eactive.eai.common.EAIKeys;
//import com.eactive.eai.common.exception.ExceptionUtil;
//import com.eactive.eai.common.header.HeaderAction;
//import com.eactive.eai.common.header.HeaderActionFactory;
//import com.eactive.eai.common.header.HeaderActionKeys;
//import com.eactive.eai.common.logger.Keys;
//import com.eactive.eai.common.message.EAIMessage;
//import com.eactive.eai.common.message.EAIMessageKeys;
//import com.eactive.eai.common.message.MessageType;
//import com.eactive.eai.common.property.PropManager;
//import com.eactive.eai.common.routing.Process;
//import com.eactive.eai.common.routing.RouteKeys;
//import com.eactive.eai.common.util.ContainerUtil;
//import com.eactive.eai.common.util.Logger;
//import com.eactive.eai.common.util.MessageKeyExtractor;
//import com.eactive.eai.common.util.MessageUtil;
//import com.eactive.eai.common.util.StringUtil;
//import com.eactive.eai.common.util.TranLogUtil;
//import com.eactive.eai.common.worker.Future;
//import com.eactive.eai.common.worker.ResponseMap;
//import com.eactive.eai.control.LogSender;
//import com.eactive.eai.control.SNASender;
//import com.eactive.eai.control.Transform;
//import com.eactive.eai.inbound.processor.Processor;
//import com.eactive.eai.transformer.function.util.CodeConversion;
//import com.eactive.eai.transformer.util.EbcdicDumpUtil;
//import com.eactive.eai.transformer.util.IConv;
//import com.kbstar.eai.common.kbmessage.KBMessage;
//import com.kbstar.eai.common.kbmessage.KBMessageKeys;
//import com.kbstar.eai.common.kbmessage.parser.KBMessageParser;
//import com.kbstar.eai.common.kbmessage.parser.KBMessageParserFactory;
//import com.kbstar.eai.common.kbmessage.parser.KBMessageParserType;
//
//public class CICSNGBSProcess extends Process
//{
//    public boolean isComp;
//    public java.lang.String svcPssTp;
//    public int svcPssSeq;
//    
//    public com.eactive.eai.common.worker.Future future;
//    public com.eactive.eai.common.worker.JMSListenerAction jmsRespAction;
//    
//    public int timerInfoResult;
//    
//    public String inAdapterMsgType; // 송신어댑터 타입
//    public String adptrMsgPtrnCd;
//    
////    public com.eactive.eai.timer.TimerInfoVO timerInfoVO;
//
//    public java.lang.String topicName;
//
//    public java.lang.String topicConFactory;
//
//    public transient java.lang.Object jmsRespObject;
//
//    public int timeout;
//
//    public java.lang.String tracekey;
//
//    public java.lang.String diURI;
//    public java.lang.String adapterGroupName;
//    public java.lang.String adapterName;  
//    public java.lang.String snaResponseDataType;
//
//    static Logger logger = Logger.getLogger(Logger.LOGGER_DEFAULT);
//    
//    public Object tgtTranObject;
//
//    public Object srcTranObject;
//    
//    public boolean isTgtTran;
//    
//    public boolean isSuccess;
//
//    public byte[] crcFlag;
//
//    //public byte[] orgBytes;
//    public Object orgMessage;
//    
//    public byte [] orgData;
//     
//    public byte[] reqBytes;
//    
//    public byte[] resBytes;
//    
//    public byte[] capBytes;
//    
//    public java.util.Properties callProp;
//    
//    public java.lang.String svcTsmtUsgTp;
//    public java.lang.String psvItfTp;
//    
//    public java.util.Properties prop;
//    public java.util.Properties snaProp;
//
//    public int logPssSno;
//
//    public com.eactive.eai.common.message.EAIMessage resEaiMsg;
//
//    public com.eactive.eai.common.message.EAIMessage reqEaiMsg;
//    
//    static Logger esbLogger = Logger.getLogger(Logger.LOGGER_ESBFW);  
//    private int svrLogLevel;                                        
//    private static ThreadLocal local = new ThreadLocal();   //경과시간 동기화를 위한 ThreadLocal
//    
////    private long realPrcssTime = 0;
//    
//    static final long serialVersionUID = 1L;
//    
//    String guidLogPrefix = "CICSNGBSProcess] ";
//    
//    private long slowTranTime = 500L; // SNA 통신시간에 대한 SLA Time 
//    
//    public com.eactive.eai.common.message.EAIMessage clientReturn()
//    {
//        if(svrLogLevel >= 1) {
//            try {
//                long msgSndTm = System.currentTimeMillis();
//            
//                Long threadData = (Long)local.get();
//                long processTm =  msgSndTm - threadData.longValue();    
//                if (esbLogger.isInfo()) esbLogger.info(guidLogPrefix + "  End... - 경과시간 : " + processTm + "(ms) - EAI Server Log Level is INFO");
//            } catch (Exception e) {
//            	logger.warn("clientReturn", e);
//            }
//        }
//        return resEaiMsg;
//    }
//
//    public void callService(com.eactive.eai.common.message.EAIMessage reqEaiMsg, java.util.Properties prop)
//    {
//        this.reqEaiMsg = reqEaiMsg;
//        this.callProp = prop;
//    
//    	if(this.reqEaiMsg == null) return;
//        svrLogLevel = this.reqEaiMsg.getSvrLogLvl();
//        
//        guidLogPrefix = "CICSNGBSProcess] GUID["+reqEaiMsg.getKbMsg().getKBHeader().getGuIdNo()+"] UUID["+this.reqEaiMsg.getSvcOgNo()+"] ";
//        
//        if(svrLogLevel >= 1) {
//            try{
//                long msgRcvTm = System.currentTimeMillis();
//                local.set(new Long(msgRcvTm)); 
//            
//                if (esbLogger.isInfo()) esbLogger.info(guidLogPrefix + "  started... - EAI Server Log Level is INFO");
//            }catch (Exception e) {
//            	logger.warn("callService", e);
//            }
//        }
//
//        try{
//        	flow();
//        }catch (Exception e){
//        	logger.warn("flow", e);
//        }                
//    }
//    public void flow() throws Exception {
//    	//WarmUp start
//    	if (!isRealCall()){
//    		return;
//    	}
//    	//WarmUp end
//    	
//    	//송신전 처리 start
//    	try{
//    		//초기화
//	    	init();
//	    	//호출방식추출
//	    	getCallType();
//	    	//Header컨트롤여부
//	    	if(isHeaderControl()){
//	    		//Header송신컨트롤로직
//	    		performSend();
//	    	}
//	    	
//	    	//송신변환
//	    	if (isSourceTransform()){
//	    		//수동메시지 변환
//	    		transControlTransformSingleReq();
//	    	}else{
//	    		//메시지 설정
//	    		setTgtTranObject();
//	    	}
//	    	//표준전문생성
//	    	createStandardMsg();
//    	}catch (Exception e){
//    		//오류처리
//    		checkErrorReturn(e);
//    		return;
//    	}
//    	//송신전 처리 end
//    	
//    	//송신전로그
//    	logSenderCtrlSendReq();
//    	
//    	//Sync-Async 호출 start
//		if (isSNASync()){
//			try{
//				//Sync 호출
//				snaCallCtrlCallService();
//			}catch(Exception e1){
//				printCallError(e1);
//			}
//			//응답메시지확인
//			checkResultMessage();
//		}else{
//			//SA
//			if (isSyncAsyncPattern()){
//				//응답환경설정
//				getTopicProperty();
//			}
//			
//			try{
//				//Async 호출
//				snaCallCtrlCallServiceAsync();
//			}catch (Exception e1){
//				printCallError(e1);
//			}
//			//송신결과확인 후  AA 요청거래로그 
//			checkSendResult();
//			//SA
//			if (isSyncAsyncPattern()){
//				try{
//					//SA응답메시지 설정
//					setTopicResult();
//				}catch(Exception e){
//					//Timeout
//					executeTimeout();
//				}
//			}
//			//AA commented - Do nothing
////			if(isAsyncAsyncPattern()){
////				//TimerInfo 설정
////				setTimerInfo();
////				//Timer 정보등록
////				timerInfoControlTimerInfoInsert();
////			}
//		}
//
//    	//Sync-Async 호출 end
//    	
//    	//정상처리 확인 start
//		//정상처리확인
//		if (checkSnaProperty()){
//			//동기거래
//			if(isSync()){
//				//응답로그값 설정
//				setRcvLogInfo();
//				//응답로그
//				logSenderCtrlSendRes();
//				//업무응답메시지추출
//				getBizMessage();
//				//업무 응답메시지 확인				
//				boolean successReturn = isSuccessReturn();
//				if(logger.isDebug()) logger.debug(guidLogPrefix + " isSuccessReturn() >> ["+successReturn+"]");
//				if (successReturn){
//					//정상메시지변환
//					transformToSource();
//				}else{
//					//오류메시지변환
//					transformErrorToSource();
//				}
//				
//				if(logger.isDebug()) logger.debug(guidLogPrefix + " isTgtTranCall() >> ["+isTgtTranCall()+"]");
//				//응답변환
//				if(isTgtTranCall()){
//					//응답메시지변환
//					transControlTransformSingleRes();
//					//변환응답메시지설정
//					setConvertedMsg();
//				}else{
//					//응답메시지설정
//					setResMsg();
//				}
//				//Header컨트롤여부
//				if(isHeaderControl()){
//					//Header수신컨트롤로직
//					performRecv();
//				}
//			}else{
//				//비동기 거래
//			}
//		}else{
//			//default
//			//요청거래
//			if(isRequest()){
//				//오류메시지설정
//				setSNAErrorMessage();
//				//오류메시지로그
//				logSenderCtrlSendError();
//			}else{
//				//default
//			}
//		}
//    	//정상처리 확인 end
////    	clientReturn();
//    }  
//    
//    public void snaCallCtrlCallServiceAsync() throws Exception
//    {
//        try {
//            AdapterManager adapterManager = AdapterManager.getInstance();
//            AdapterGroupVO adptGrpVO = adapterManager.getAdapterGroupVO(this.adapterGroupName);
//            AdapterVO adptVO = adptGrpVO.nextAdapterVO();
//            
//            // 가용 Adapter가 없는 경우
//            if(adptVO == null) {
//                String[] msgArgs = new String[1];
//                msgArgs[0] = String.valueOf(this.adapterGroupName);
//                String resMsg = ExceptionUtil.make("RECEAIOSA900", msgArgs);
//                throw new Exception(resMsg);
//            }
//            this.adapterName = adptVO.getName();
//            
//            snaProp.setProperty(SNAProperties.ADAPTER_NAME, this.adapterName); 
//            snaProp.setProperty(SNAProperties.TRAN_MODE, SNAProperties.TRAN_MODE_NONRESPONSE);
//            
//            StopWatch stopWatch = new StopWatch();
//    		stopWatch.start();
//            this.resBytes = SNASender.callService(this.adapterGroupName, this.snaProp, this.reqBytes);
//            stopWatch.stop();
//			if (stopWatch.getTime() > slowTranTime){
//        		if (logger.isWarn()){
//        			logger.warn(guidLogPrefix + "  SNA TRAN_MODE_NONRESPONSE response time = " + stopWatch.toString());
//        		}
//        	}
//        }
//        catch(Exception e) {
//            String[] msgArgs = new String[1];
//            msgArgs[0] = this.reqEaiMsg.getEAISvcCd();
//            String rspErrorCode = "RECEAIOSA001";
//            String rspErrorMsg = ExceptionUtil.make(e, rspErrorCode, msgArgs);
//            if (logger.isError()) logger.error(guidLogPrefix + " " + rspErrorMsg, e);
//            this.resEaiMsg.setRspErrCd(rspErrorCode);
//            this.resEaiMsg.setRspErrMsg(rspErrorMsg);
//            throw new Exception(rspErrorMsg); 
//        }
//    }
//    
//    public void snaCallCtrlCallService() throws Exception
//    {
//        try {
//            AdapterManager adapterManager = AdapterManager.getInstance();
//            AdapterGroupVO adptGrpVO = adapterManager.getAdapterGroupVO(this.adapterGroupName);
//            AdapterVO adptVO = adptGrpVO.nextAdapterVO();
//            
//            // 가용 Adapter가 없는 경우
//            if(adptVO == null) {
//                String[] msgArgs = new String[1];
//                msgArgs[0] = String.valueOf(this.adapterName);
//                String resMsg = ExceptionUtil.make("RECEAIOSA900", msgArgs);
//                throw new Exception(resMsg);
//            }
//            this.adapterName = adptVO.getName();
//            
//            snaProp.setProperty(SNAProperties.ADAPTER_NAME, this.adapterName);            
//            snaProp.setProperty(SNAProperties.TRAN_MODE, SNAProperties.TRAN_MODE_RESPONSE);
//            
//            StopWatch stopWatch = new StopWatch();
//    		stopWatch.start();
//    		
//            this.resBytes = SNASender.callService(this.adapterGroupName, this.snaProp, this.reqBytes);
//            
//            stopWatch.stop();
//			if (stopWatch.getTime() > slowTranTime){
//        		if (logger.isWarn()){
//        			logger.warn(guidLogPrefix + "  SNA TRAN_MODE_RESPONSE response time = " + stopWatch.toString());
//        		}
//        	}
//			
//            //---------------------------------------------------------------------
//            // 응답코드에 대한 처리 
//            KBMessage kbmessage = this.resEaiMsg.getKbMsg();
//            kbmessage.getKBHeader().setTelgmDmndDstcd(KBMessageKeys.TELGMDMNDDSTCD_RECV);
//            kbmessage.getKBCommon().setChannelCommonLen("0000");
//            kbmessage.getKBCommon().setInptMdiaPartlLen("0000");
//            //---------------------------------------------------------------------
//            
//        } catch(Exception e) {
//            String[] msgArgs = new String[1];
//            msgArgs[0] = this.reqEaiMsg.getEAISvcCd();
//            String rspErrorCode = "RECEAIOSA001";            
//            String rspErrorMsg = ExceptionUtil.make(e, rspErrorCode, msgArgs);
//            if (logger.isError()) logger.error(guidLogPrefix + " " + rspErrorMsg, e);
//            this.resEaiMsg.setRspErrCd(rspErrorCode);
//            this.resEaiMsg.setRspErrMsg(rspErrorMsg);
//            throw new Exception(rspErrorMsg);             
//        }        
//    }
//
//    public void logSenderCtrlSendRes() throws Exception
//    {
//    	try {
//    		LogSender.send(this.logPssSno, this.resEaiMsg, this.prop);
//    	 } catch(Exception e) {
//            if (logger.isWarn()) logger.warn(guidLogPrefix + " EAI 서비스코드[" + this.resEaiMsg.getEAISvcCd() + "] " + this.logPssSno + " 거래로그 중 오류발생");
//        }
//    }
//
//    public void logSenderCtrlSendError() throws Exception
//    {
//        // AA 거래에 대한 로그를 하지 않도록 수정 - 2008.05.29
//        if(EAIMessageKeys.SYNC_SVC.equals(this.reqEaiMsg.getSvcTsmtUsgTp()) ||
//            EAIMessageKeys.SYNC_SVC.equals(this.psvItfTp) ) {
//            try {
//            	LogSender.send(this.logPssSno, this.resEaiMsg, this.prop);
//            } catch(Exception e) {
//                if (logger.isWarn()) logger.warn(guidLogPrefix + " EAI 서비스코드[" + this.resEaiMsg.getEAISvcCd() + "] " + this.logPssSno + " 거래로그 중 오류발생");
//            }   
//        }
//        else {
//        	if(logger.isDebug()) logger.debug(guidLogPrefix + " Skip Error Logging - AA");
//        }
//    }
//    
//    public void logSenderCtrlSendReq() throws Exception
//    {
//    	if( EAIMessageKeys.ASYNC_SVC.equals(this.reqEaiMsg.getSvcTsmtUsgTp()) &&
//        		EAIMessageKeys.ASYNC_SVC.equals(this.psvItfTp)) {
//        	// 2010.01.18 Adapter 호출 후에 로그를 남기도록 한다. 정길영 차장 요청	
//    		if (logger.isInfo()) logger.info(guidLogPrefix + " EAI 서비스코드[" + this.reqEaiMsg.getEAISvcCd() + "] AA 거래로그 SKIP");
////    		realPrcssTime = System.currentTimeMillis();
//        }
//        else {
//	        try {
//	        	LogSender.send(this.logPssSno, this.reqEaiMsg, this.prop);
//	        } catch(Exception e) {
//	            if (logger.isWarn()) logger.warn(guidLogPrefix + " EAI 서비스코드[" + this.reqEaiMsg.getEAISvcCd() + "] " + this.logPssSno + " 거래로그 중 오류발생");
//	        }
//        }
//    }
//
////    public void timerInfoControlTimerInfoInsert() throws Exception
////    {
////        try {
////        //this.timerInfoResult = TimerInfoInsert.timerInfoInsert(this.timerInfoVO);
////        } catch(Exception e) {
////            String[] msgArgs = new String[1];
////            msgArgs[0] = this.reqEaiMsg.getEAISvcCd();
////            String rspErrorCode = "RECEAIOSA040";            
////            String rspErrorMsg = ExceptionUtil.make(e, rspErrorCode, msgArgs);
////            if (logger.isError()) logger.error(guidLogPrefix + rspErrorMsg, e);
////            this.resEaiMsg.setRspErrCd(rspErrorCode);
////            this.resEaiMsg.setRspErrMsg(rspErrorMsg);
////        }
////    }
//
//    public void transControlTransformSingleRes() throws Exception
//    {
//        try {            
//            this.srcTranObject = this.resBytes;
//            this.tgtTranObject = Transform.transformSingle(this.guidLogPrefix, false, this.diURI, this.srcTranObject);
//        } catch(Exception e) {
//            if (logger.isError()) logger.error(guidLogPrefix + " 300 변환오류", e);
//            // 변환오류가 발생하면 응답메시지를 통변환해서 응답메시지에 설정한다. 2005.11.17
//            try {
//                this.tgtTranObject = CodeConversion.meToMixedAsc((byte[])this.srcTranObject);
//            } catch(Exception ex) {
//                this.tgtTranObject = new byte[0];
//            }
//            String[] msgArgs = new String[1];
//            msgArgs[0] = this.reqEaiMsg.getEAISvcCd();
//            String rspErrorCode = "RECEAIOSA020";
//            String rspErrorMsg = ExceptionUtil.make(e, rspErrorCode, msgArgs);
//            if (logger.isError()) logger.error(guidLogPrefix +rspErrorMsg, e);
//            this.resEaiMsg.setRspErrCd(rspErrorCode);
//            this.resEaiMsg.setRspErrMsg(rspErrorMsg);
//        }
//    }
//
//    public void transControlTransformSingleReq() throws Exception
//    {
//        try {
//        	this.srcTranObject = this.orgMessage;        	
//        	this.tgtTranObject = Transform.transformSingle(this.guidLogPrefix, true, this.diURI, this.srcTranObject);
//        } catch(Exception e) {
//            if (logger.isError()) logger.error(guidLogPrefix + " 200 변환오류", e);
//            String[] msgArgs = new String[1];
//            msgArgs[0] = this.reqEaiMsg.getEAISvcCd();
//            String rspErrorCode = "RECEAIOSA020";
//            String rspErrorMsg = ExceptionUtil.make(e, rspErrorCode, msgArgs);
//            if (logger.isError()) logger.error(guidLogPrefix +rspErrorMsg, e);
//            this.resEaiMsg.setRspErrCd(rspErrorCode);
//            this.resEaiMsg.setRspErrMsg(rspErrorMsg);
//            throw new Exception(rspErrorMsg);
//        }        
//    }
//    
//    public boolean isSync()
//    {
//        // SS || SA || AS
//        if(EAIMessageKeys.SYNC_SVC.equals(this.reqEaiMsg.getSvcTsmtUsgTp()) ||
//            EAIMessageKeys.SYNC_SVC.equals(this.psvItfTp) ) {
//            return true;
//        }
//        else {
//            return false;
//        }
//	}
//
//    public boolean checkSnaProperty()
//    {
//        if(!MessageUtil.checkRspErrCd(this.resEaiMsg.getRspErrCd())) {
//            return false;
//        }
//        if(SNAProperties.DATA_TYPE_DFS.equals(this.snaResponseDataType) ) {
//            if (logger.isError()) {
//                logger.error("================================================================");
//                logger.error(guidLogPrefix + "SNA DFS MESSAGE RETURNED ERROR MSG : "+ IConv.ebcdicToASCIIEX(this.resBytes));            
//                logger.error("================================================================");
//            }
//            return false;
//        }
//        else if(SNAProperties.DATA_TYPE_TIMEOUT.equals(this.snaResponseDataType) ) {
//            if (logger.isError()) {
//                logger.error("================================================================");
//                logger.error(guidLogPrefix + "SNA TIMEOUT ERROR MSG : "+new String(this.resBytes));
//                logger.error("================================================================");
//            }
//            return false;
//        }
//        else if(SNAProperties.DATA_TYPE_ERROR.equals(this.snaResponseDataType) ) {
//            if (logger.isError()) {
//                logger.error("================================================================");
//                logger.error(guidLogPrefix + " SNA ERROR MESSAGE RETURNED, ERROR MSG : "+new String(this.resBytes));
//                logger.error("================================================================");
//            }
//            return false;
//        }            
//        else {
//            return true;
//        }   
//    }
//
//    public void printCallError(Exception e) throws Exception
//    {   
//        //int retryRemains = this.context.getExceptionInfo().getRetriesRemaining();
//        //int retryCnt = this.context.getExceptionInfo().getRetryCount();
//        //if (logger.isWarn()) logger.warn(guidLogPrefix + " UUID["+this.reqEaiMsg.getSvcOgNo()+"] Retry SNA NON-Respose Call - ["+retryRemains+"/"+retryCnt+"]");
//        this.resBytes = new byte[0];
//        /*
//        if(retryRemains == 0 && this.adapterName != null) {
//            AdapterManager manager = AdapterManager.getInstance();
//            AdapterVO vo = manager.getAdapterVO(this.adapterGroupName, this.adapterName);
//            vo.setStatus(false);        
//        }
//        */        
//    }
//
//    public boolean isSuccessReturn()
//    {
//        try {
//            // 2008.01.07 한진호대리 요청
//            //  표준헤더의 출력메시지 정보의 출력데이터 유형구분코드가 '02' 이고
//            // 오류변환이 있는 경우에 오류변환을 수행하도록 한다
//            KBMessage kbmsg = this.resEaiMsg.getKbMsg();
//            if(kbmsg.getKBCommon().getOutptDPtrnDstcd() != null
//            && KBMessageKeys.OUTPTDPTRNDSTCD_ERR.equals(kbmsg.getKBCommon().getOutptDPtrnDstcd())
//            && EAIMessageKeys.YES_FLAG.equals(this.reqEaiMsg.getCurrentSvcMsg().getErrRspCnvEn())
//            ) {
//            	if (logger.isInfo()) {
//            		logger.info(guidLogPrefix + " KB 표준헤더의 출력메시지 정보의 출력데이터 유형구분코드["+kbmsg.getKBCommon().getOutptDPtrnDstcd()+"]가 오류출력");
//            	}
//            	this.isSuccess = false;
//            }
//            else {
//            	this.isSuccess = MessageKeyExtractor.isSuccessMessage(this.adapterGroupName, this.resBytes);
//            }
//        } catch(Exception e) {
//            this.isSuccess = false;
//        }    
//    
//        return this.isSuccess;
//	}
//        
//    public void setRcvLogInfo() throws Exception
//    {
//        //this.logPssSno = 300;
//        this.logPssSno = TranLogUtil.getResLogSeq(this.svcPssTp, this.svcPssSeq, this.isComp);
//        
//        this.prop = new Properties();
//        if(this.isSuccess) {
//            prop.setProperty(Keys.ERROR_MESSAGE, Keys.FALSE);
//        }
//        else {
//            prop.setProperty(Keys.ERROR_MESSAGE, Keys.TRUE);
//        }        
//        Object[] objs = new Object[1];
//        
//        if(this.resBytes != null) {            
//            objs[0] = this.resBytes;
//            
//            //----------------------------------------------------------------
//            // 2009.07.13 강길수차장
//            // 300 로그시에 표준전문을 파싱하고 
//            // 로그 업무데이터는 KB표준을 포함한 데이터를 남기도록 수정
//            //---------------------------------------------------------------- 
//            try {
//            	// KESA SEQ를 복원한다.
//	            String kesaSeq = this.reqEaiMsg.getKbMsg().getKesaSeq();
//	            
//            	//KBMessage resKbmessage = KBMessageUtil.convert(this.resBytes, true);
//				KBMessageParser parser = KBMessageParserFactory.createPaserFactory(KBMessageParserType.EBC.toString());
//				
//				if(parser == null) {
//					throw new Exception("Parser not found - " +KBMessageParserType.EBC.toString());
//				}
//				KBMessage resKbmessage = parser.convert(this.resBytes);
//
//            	resKbmessage.setKesaSeq(kesaSeq);
//            	
//            	this.resEaiMsg.setKbMsg(resKbmessage);            	
//        	}
//        	catch(Exception e) {
//        		if (logger.isWarn()) {
//                    logger.warn(guidLogPrefix + " invalid Response KBMesage Length["+this.resBytes.length+"<="+KBMessageKeys.KBMESSAGE_HEADER_LEN_ZZ_LENGTH+"]");
//                    logger.warn(new String(this.resBytes));
//                }
//        	}
//        	//----------------------------------------------------------------
//        }
//        this.resEaiMsg.setBizMsg(objs);
//    }
//    
//    public void transformErrorToSource() throws Exception
//    {
//        this.resEaiMsg.setRspErrCd(EAIMessageKeys.BWK_ERRMSG_CODE);
//        
//        // 2020.02.07 업무데이터가 Empty 이면 변환을 Skip한다.
////        if(MessageUtil.isBizDataEmpty(this.resBytes)) {
////        	if (logger.isInfo()) logger.info(guidLogPrefix + "Error Response Message is EMPTY, Skip Transform.");
////        	this.isTgtTran = false;
////        }
////        else 
//        if(EAIMessageKeys.YES_FLAG.equals(this.reqEaiMsg.getCurrentSvcMsg().getErrRspCnvEn()) ) {
//            this.isTgtTran = true;
//        }
//        else {
//            this.isTgtTran = false;
//            //--------------------------------------------------
//        	// 2009.06.21 정길영 차장 요청사항
//        	// 오류응답인 경우 에러변환이 없는 경우 에러로 처리함
//        	//--------------------------------------------------
//        	String[] msgArgs = new String[1];
//            msgArgs[0] = this.reqEaiMsg.getEAISvcCd();
//            if (logger.isError()) {
//        		logger.error(guidLogPrefix + " 오류응답변환 미등록 EAI서비스코드["+msgArgs[0]+"]");
//            }
//            
//            String rspErrorCode = "RECEAIOSA030";
//            String rspErrorMsg = ExceptionUtil.make(rspErrorCode, "오류응답변환 미등록 ", msgArgs);
//            if (logger.isError()) logger.error(guidLogPrefix +rspErrorMsg);
//            this.resEaiMsg.setRspErrCd(rspErrorCode);
//            this.resEaiMsg.setRspErrMsg(rspErrorMsg);
//            //---------------------------------------------------
//        }
//        
//        this.diURI = this.reqEaiMsg.getCurrentSvcMsg().getErrRspCnvMsgID();
//        this.resEaiMsg.setRspnsChngMsgType(EAIMessageKeys.RSPNSCHNGMSGTYPE_ERR);    
//    }
//
//    public void transformToSource() throws Exception
//    {
//        if(MessageUtil.checkRspErrCd(this.resEaiMsg.getRspErrCd())) {
//        	this.resEaiMsg.setRspErrCd(EAIMessageKeys.EAI_SUCCESS_CODE);    
//        }
//        
//        // 2020.02.07 업무데이터가 Empty 이면 변환을 Skip한다.
////        if(MessageUtil.isBizDataEmpty(this.resBytes)) {
////        	if (logger.isInfo()) logger.info(guidLogPrefix + "Response Message is EMPTY, Skip Transform.");
////        	this.isTgtTran = false;
////        }
////        else 
//        if(EAIMessageKeys.YES_FLAG.equals(this.reqEaiMsg.getCurrentSvcMsg().getBsRspCnvEn()) ) {
//            this.isTgtTran = true;
//            this.resEaiMsg.setRspnsChngMsgType(EAIMessageKeys.RSPNSCHNGMSGTYPE_RES);
//        }
//        else {
//            this.isTgtTran = false;
//        }
//        
//        this.diURI = this.reqEaiMsg.getCurrentSvcMsg().getBsRspCnvMsgID();
//    }
//
//    public boolean isSyncAsyncPattern()
//    {
//		if(!MessageUtil.checkRspErrCd(this.resEaiMsg.getRspErrCd()) ) {
//            return false;
//        }
//        else if(EAIMessageKeys.SYNC_SVC.equals(this.reqEaiMsg.getSvcTsmtUsgTp())) {
//            return true;
//        }
//        else {
//            return false;
//        }
//	}
//
//
//    public void setTopicResult() throws Exception
//    {
//        try {
//        	if (logger.isWarn()) logger.warn(guidLogPrefix + "future.value S");
//        	this.jmsRespObject = future.value(this.timeout);
//        	if (logger.isWarn()) logger.warn(guidLogPrefix + "future.value E");
//            if(this.jmsRespObject == null) {
//                throw new Exception("RECEAIOSA010");
//            }
//            KBMessage kbmessage = this.resEaiMsg.getKbMsg();
//            kbmessage.getKBHeader().setTelgmDmndDstcd(KBMessageKeys.TELGMDMNDDSTCD_RECV);
//            kbmessage.getKBCommon().setChannelCommonLen("0000");
//            kbmessage.getKBCommon().setInptMdiaPartlLen("0000");
//        } catch(Exception e) {
//            String[] msgArgs = new String[1];
//            msgArgs[0] = this.reqEaiMsg.getEAISvcCd();
//            String rspErrorCode = "RECEAIOSA010";            
//            String rspErrorMsg = ExceptionUtil.make(e, rspErrorCode, msgArgs);
//            if (logger.isError()) logger.error(guidLogPrefix + rspErrorMsg, e);
//            this.resEaiMsg.setRspErrCd(rspErrorCode);
//            this.resEaiMsg.setRspErrMsg(rspErrorMsg);
//            throw new RuntimeException(rspErrorCode);
//        } finally {
//            this.jmsRespAction.doEnd();   
//        }
//        
//        if(this.jmsRespObject == null) {
//            this.resBytes = new byte[0];
//        }
//        else if(this.jmsRespObject instanceof EAIMessage) {
//            EAIMessage topicEaiMsg = (EAIMessage)this.jmsRespObject;
//            this.resBytes = (byte[])topicEaiMsg.getBizMsg()[0];
//        }
//        else if(this.jmsRespObject instanceof byte[]) {
//            this.resBytes = (byte[])this.jmsRespObject;
//        }
//        else {
//            this.resBytes = new byte[0];
//        }
//        
//    }
//
//    public boolean isSNASync()
//    {
//		if(EAIMessageKeys.SYNC_SVC.equals(this.psvItfTp) ) {
//            return true;
//        }
//        else {
//            return false;
//        }
//	}
//
//
//    public void setResMsg() throws Exception
//    {
//        if(EAIMessageKeys.YES_FLAG.equals(this.reqEaiMsg.getCurrentSvcMsg().getCnvEn()) ) {
//        	if(logger.isInfo()) {
//        		logger.info(guidLogPrefix + " : 응답변환이 없으나, 통변환처리함 (ebcdicToASCII)");
//        	}
//	        Object[] objs = new Object[1];
//	        byte[] ascBytes = IConv.ebcdicToASCII(this.resBytes).getBytes();
//            objs[0] = ascBytes;
//	        this.resEaiMsg.setBizMsg(objs);
//        }
//        else {
//        	if(logger.isInfo()) {
//        		logger.info(guidLogPrefix + " : 응답변환이 없음");
//        	}
//        }
//	        
//    }
//
//    public void checkResultMessage() throws Exception
//    {
//        this.snaResponseDataType = snaProp.getProperty(SNAProperties.DATA_TYPE);
//        
//        // 2010.01.18 응답메시지의 수동시스템서비스구분명에 LU정보를 저장 
//        this.resEaiMsg.getCurrentSvcMsg().setPsvSysSvcCd(snaProp.getProperty(SNAProperties.LU_NAME));
//        
//        if (logger.isDebug()) {
//            logger.debug("======================================================================" );
//            logger.debug(guidLogPrefix + " >> SNA CALL RESPONSE Property "); // UUID
//            logger.debug(">> TRAN_KEY ["+snaProp.getProperty(SNAProperties.TRAN_KEY) +"]" ); // UUID
//            logger.debug(">> ADAPTER_GRP_NAME ["+snaProp.getProperty(SNAProperties.ADAPTER_GRP_NAME) +"]" ); // ADAPTER_GRP_NAME
//            logger.debug(">> ADAPTER_NAME ["+snaProp.getProperty(SNAProperties.ADAPTER_NAME) +"]" ); // ADAPTER_NAME
//            logger.debug(">> LU_NAME ["+snaProp.getProperty(SNAProperties.LU_NAME) +"]" ); // LU_NAME
//            logger.debug(">> TRAN_MODE ["+snaProp.getProperty(SNAProperties.TRAN_MODE) +"]" ); // TRAN_MODE
//            logger.debug(">> DATA_TYPE ["+ this.snaResponseDataType +"]" ); // DATA_TYPE
//            logger.debug("======================================================================" );
//        }
//        if(this.reqEaiMsg.getSvrLogLvl() == 2 ) {
//            if (logger.isDebug()) {
//                logger.debug("--------------------------------------------------------------");
//                logger.debug(guidLogPrefix + " SYNC - SNA RESPONSE EBCDIC MESSAGE ");
//                logger.debug("--------------------------------------------------------------");
////                EbcdicDumpUtil.printEbcdicDump(this.resBytes);
//                if (this.resBytes == null) {
//                	logger.debug(guidLogPrefix + " resBytes is NULL");
//                }
//                else {
//                	try {
//	                    String[] str = EbcdicDumpUtil.makeEbcdicDumpFormat(this.resBytes);
//	                    for(int i=0;i<str.length;i++) 
//	                    	logger.debug(str[i]);
//	                }
//	            	catch(Exception ex) {
//	            		logger.warn("EBCDIC DUMP ERROR", ex);
//	            	}
//                }
//            }
//        }    
//    }
//
//    public void checkSendResult() throws Exception
//    {
//        if(!MessageUtil.checkRspErrCd(this.resEaiMsg.getRspErrCd())) {
//            ;
//        }
//        else {           
//            this.snaResponseDataType = snaProp.getProperty(SNAProperties.DATA_TYPE);
//            if (logger.isDebug()) {
//                logger.debug("======================================================================" );
//                logger.debug(guidLogPrefix + " >> SNA CALL RESPONSE Property" ); // UUID
//                logger.debug(">> TRAN_KEY ["+snaProp.getProperty(SNAProperties.TRAN_KEY) +"]" ); // UUID
//                logger.debug(">> ADAPTER_GRP_NAME ["+snaProp.getProperty(SNAProperties.ADAPTER_GRP_NAME) +"]" ); // ADAPTER_GRP_NAME
//                logger.debug(">> ADAPTER_NAME ["+snaProp.getProperty(SNAProperties.ADAPTER_NAME) +"]" ); // ADAPTER_NAME
//                logger.debug(">> LU_NAME ["+snaProp.getProperty(SNAProperties.LU_NAME) +"]" ); // LU_NAME
//                logger.debug(">> TRAN_MODE ["+snaProp.getProperty(SNAProperties.TRAN_MODE) +"]" ); // TRAN_MODE
//                logger.debug(">> DATA_TYPE ["+ this.snaResponseDataType +"]" ); // DATA_TYPE
//                logger.debug("======================================================================" );
//            }
//            
//            if(!SNAProperties.DATA_TYPE_SEND_OK.equals(this.snaResponseDataType)) {
//                String[] msgArgs = new String[1];
//                msgArgs[0] = this.reqEaiMsg.getEAISvcCd();
//                String rspErrorCode = "RECEAIOSA002";
//                String rspErrorMsg = ExceptionUtil.make(rspErrorCode, msgArgs);
//                if (logger.isError()) logger.error(guidLogPrefix + rspErrorMsg + ",SNA ResponseData : " +this.snaResponseDataType);
//                this.resEaiMsg.setRspErrCd(rspErrorCode);
//                this.resEaiMsg.setRspErrMsg(rspErrorMsg);
//            }
//        }
//        
//        this.reqEaiMsg.getCurrentSvcMsg().setPsvSysSvcCd(snaProp.getProperty(SNAProperties.LU_NAME));
//    			
//        if( EAIMessageKeys.ASYNC_SVC.equals(this.reqEaiMsg.getSvcTsmtUsgTp()) &&
//        		EAIMessageKeys.ASYNC_SVC.equals(this.psvItfTp)) {
//        	// 2010.01.18 Adapter 호출 후에 로그를 남기도록 한다. 정길영 차장 요청	
//    		try {   	
//    			if (logger.isInfo()) {
//    				logger.info(guidLogPrefix + " EAI 서비스코드[" + this.reqEaiMsg.getEAISvcCd() 
//    							+ "] AA 거래로그 LU["+this.reqEaiMsg.getCurrentSvcMsg().getPsvSysSvcCd()+"]");
//    			}
//    			
//    			// SNA 비동기 로그에 대한 실제 처리시간 저장시 사용
////    			Properties logProp = new Properties();
////    			logProp.setProperty(EAIMessageKeys.REAL_PRCSS_TIME, "" + this.realPrcssTime);
////    			LogSender.send(this.logPssSno, this.reqEaiMsg, logProp);
//    			
//    			LogSender.send(this.logPssSno, this.reqEaiMsg, this.prop);
//    		} catch(Exception e) {
//    			if (logger.isWarn()) logger.warn(guidLogPrefix + " EAI 서비스코드[" + this.reqEaiMsg.getEAISvcCd() + "] AA 거래로그 중 오류발생");
//    		}
//        }
//    }
//
//
//    public boolean isTgtTranCall()
//    {
//		return this.isTgtTran;
//	}
//
//
//    public void setConvertedMsg() throws Exception
//    {
//        Object[] objs = new Object[1];
//        objs[0] = this.tgtTranObject;
//        this.resEaiMsg.setBizMsg(objs);
//    }
//
//
//
//    public boolean isAsyncAsyncPattern()
//    {
//		KBMessage kbmessage = this.reqEaiMsg.getKbMsg();
//        String telgmDmndDstcd = kbmessage.getKBHeader().getTelgmDmndDstcd();
//        
//        if(!MessageUtil.checkRspErrCd(this.resEaiMsg.getRspErrCd()) ) {
//            return false;
//        }
//        /*
//        else if(EAIMessageKeys.ASYNC_SVC.equals(this.reqEaiMsg.getSvcTsmtUsgTp()) 
//                && EAIKeys.TR_REQ.equals(this.reqEaiMsg.getKesaMsg().getCTranClassify())
//                && (this.reqEaiMsg.getCurrentSvcMsg().getTmoVl() > 0)) {
//        */
//        else if(EAIMessageKeys.ASYNC_SVC.equals(this.reqEaiMsg.getSvcTsmtUsgTp()) 
//                && KBMessageKeys.TELGMDMNDDSTCD_SEND.equals(telgmDmndDstcd)
//                && (this.reqEaiMsg.getCurrentSvcMsg().getTmoVl() > 0)) {        
//                //-------------------------------------------------
//                // Inbound Adapter 의 메시지타입이 ASCII, XML일 경우에만
//                // TIMER에 등록하도록 한다 - 2005.10.27
//                //-------------------------------------------------
//                
//                if(    MessageType.ASC.equals(this.inAdapterMsgType) 
//                    || MessageType.XML.equals(inAdapterMsgType) ) {
//                    return true;
//                }
//                else {
//                    return false;
//                }
//        }
//        else {
//            return false;
//        }
//	}
//
//
//    public void setTimerInfo() throws Exception
//    {
////        timerInfoVO = new TimerInfoVO();
////        //업무구분코드
////        //timerInfoVO.setBwkClsCd(this.reqEaiMsg.getBwkCls());
////        //업무데이타 : 전문타입으로 ASCII String : 기동의 전문 Msg
////        if(this.orgMessage instanceof byte[]) {
////            timerInfoVO.setBwkDataTxt(new String((byte[])this.orgMessage));
////        }
////        //요청 메시지 처리시간 = 메시지 처리 시간 : Send시의 시각
////        //timerInfoVO.setClmMsgSndTm("2005010101010100");
////        //메시지 처리 시간(전문의 거래일자 필드값) : Send시의 시각
////        //timerInfoVO.setMsgPssTm("2005010101010100");
////        //EAI Service Code
////        timerInfoVO.seteAISvcNm(this.reqEaiMsg.getEAISvcCd());
////        
////        //KESA Message XML형태 : KESAMesage(XML) KESA-DATA 제외
////        //timerInfoVO.setKesaMsgTxt(this.reqEaiMsg.getKesaMsg().toString(""));
////		// TODO : 
////		timerInfoVO.setKesaMsgTxt(this.reqEaiMsg.getKbMsg().toXMLString(""));
////        
////        //메시지 추적필드내용 : EAI Header의 추적필드
////        timerInfoVO.setMsgTrceColTxt(this.reqEaiMsg.getCurrentSvcMsg().getKeyMgtMsgVl());
////        //타임아웃값 : EAI Header 값
////        timerInfoVO.setTmoVl(this.reqEaiMsg.getCurrentSvcMsg().getTmoVl());
////        // 표준메시지 사용여부
////        timerInfoVO.setStndMsgUseYn(this.reqEaiMsg.getStdMsgUsgCls());
//    }
//
//    public void init() throws Exception
//    {
//        // 복합거래의 보상거래여부를 확인
//        this.svcPssTp = this.reqEaiMsg.getSvcPssTp();
//        this.svcPssSeq = this.reqEaiMsg.getSvcPssSeq();
//        
//        if(this.callProp != null) {
//            logger.debug(guidLogPrefix + " COMP_VALUE["+this.callProp.getProperty(EAIKeys.CALL_COMP_KEY)+"]");
//            if(EAIKeys.CALL_COMP_VALUE.equals(this.callProp.getProperty(EAIKeys.CALL_COMP_KEY)) ) {
//                this.isComp = true;
//                try {
//                    this.svcPssSeq = Integer.parseInt(this.callProp.getProperty(EAIKeys.CALL_COMP_SVC_SEQ));
//                    logger.debug(guidLogPrefix + " CALL_COMP_SVC_SEQ["+ this.svcPssSeq +"]");
//                } catch(Exception e) {
//                    logger.warn(guidLogPrefix + " CALL_COMP_SVC_SEQ Get Error");
//                }
//            }
//            else {
//                this.isComp = false;
//            }
//        }
//        else {
//            this.isComp = false;
//        }
//        
//        KBMessage kbmessage = reqEaiMsg.getKbMsg();
//        String telgmDmndDstcd = kbmessage.getKBHeader().getTelgmDmndDstcd();
//        
//        this.prop = null;
//        this.adapterName = null;
//        this.resEaiMsg = this.reqEaiMsg;
//        
//        //this.kesaSvcCd = this.reqEaiMsg.getKesaMsg().getCService();
////        this.kesaSvcCd = this.reqEaiMsg.getKbMsg().getKBCommon().getTelgmRecvTranCd();
//        
//        this.adapterGroupName = reqEaiMsg.getCurrentSvcMsg().getPsvSysItfTp();
//        
//        //--------------------------------------------------------
//        // 2009.10.27 강길수차장
//        // HOST 전송시에 전문형식구분코드를 고정길이(1)로 강제 Setting 
//        //--------------------------------------------------------
//        kbmessage.getKBHeader().setTelgmFmatDstcd("1");
//        //--------------------------------------------------------
//        
//        if(KBMessageKeys.TELGMDMNDDSTCD_RECV.equals(telgmDmndDstcd)) {
//            // 응답인 경우
//            this.logPssSno = 400;
//            // 카드분사이후는 불필요한 로직임 제거함 (2019.09.19)
//            //-------------------------------------------------------
//            // 2010.01.12 강길수 차장 요청
//            // 호스트 거래 중 Async 응답일 경우 
//            // KB 표준전문의 SysIDName 의 두번째 필드가 
//            // Alphabet 이면 은행시스템
//            // Numeric 이면 카드시스템
//            // 으로 SNA Adapter 를 변경
//            //-------------------------------------------------------
////            String sysIdName = kbmessage.getKBHeader().getSysidName();            
////            if(logger.isDebug()) {
////            	logger.debug(guidLogPrefix + " SNA Adapter Remapping sysIdName["+sysIdName+"] adapterGroupName["+this.adapterGroupName+"]");
////            }
////            
////            if(sysIdName != null && sysIdName.trim().length() > 2) {
////				char idx = sysIdName.charAt(1);
////				boolean isBank = true;
////				boolean isBankAdapter = true;
////				boolean isBankNameExist = true;
////				
////				if(idx >= 0x30 && idx <= 0x39) {
////					isBank = false;
////				}
////				
////				int cardWordIndex = adapterGroupName.indexOf("CARD");
////				int bankWordIndex = adapterGroupName.indexOf("BANK");
////				
////				if(cardWordIndex >= 0) {
////					isBankAdapter = false;
////				}
////				
////				if(bankWordIndex < 0) {
////					isBankNameExist = false;
////				}
////				
////				// CARD -> BANK
////				if(isBank && isBankAdapter==false) {
////					// Change name to BANK Adapter
////					if(adapterGroupName.startsWith("_KAO")) {
////						adapterGroupName = adapterGroupName.replaceAll("CARD", "BANK");
////					}
////					else {
////						adapterGroupName = adapterGroupName.substring(0,adapterGroupName.indexOf("{"));
////					}
////				}
////				// BANK -> CARD
////				else if(isBank==false && isBankAdapter) {
////					// Change name to CARD Adapter
////					if(isBankNameExist) {
////						adapterGroupName = adapterGroupName.replaceAll("BANK", "CARD");		
////					}
////					else {
////						adapterGroupName = adapterGroupName + "{CARD}";					
////					}
////				}
////			}
//            this.reqEaiMsg.getCurrentSvcMsg().setPsvSysItfTp(adapterGroupName);
//            //-------------------------------------------------------
//            
//        }
//        else {
//            // 요청 인경우
//            //this.logPssSno = 200;
//            this.logPssSno = TranLogUtil.getReqLogSeq(this.svcPssTp, this.svcPssSeq, this.isComp);
//        }
//        
//        //---------------------------------------------------------------------------------------------
//        // Inboud Adapter mesageType  
//        //-----------------------------------------------------------------------------------------------
//        AdapterManager adapterManager = AdapterManager.getInstance();
//        AdapterGroupVO inAdptGrpVO = adapterManager.getAdapterGroupVO(this.reqEaiMsg.getSngSysItfTp());
//        this.inAdapterMsgType = MessageType.ASC;
//        
//        if(inAdptGrpVO == null) {
//        	if(logger.isWarn()) {
//        		String tasAdapterName = "";
//        		if(this.callProp != null) tasAdapterName = this.callProp.getProperty(Processor.TAS_ADAPTER_GROUP_NAME);
//        		logger.warn(guidLogPrefix + "Source Adapter is null, TAS Inbound = "+ tasAdapterName);
//        	}
//        	this.inAdapterMsgType = MessageType.ASC;
//        }
//        else {
//        	this.inAdapterMsgType = inAdptGrpVO.getMessageType();	
//        }
//        //-----------------------------------------------------------------------------------------------
//        
//    }
//
//    public void getCallType() throws Exception
//    {
//        this.svcTsmtUsgTp = this.reqEaiMsg.getSvcTsmtUsgTp();                   // Inbound 호출방식
//        this.psvItfTp = this.reqEaiMsg.getCurrentSvcMsg().getPsvItfTp();        // 호출방식
//        
//        Object[] bizObj = this.reqEaiMsg.getBizMsg();
//        if(bizObj != null && bizObj.length > 0) {            
//            this.orgMessage = bizObj[0];
//            /*
//            if(bizObj[0] instanceof byte[]) {
//                this.orgBytes = (byte[])bizObj[0];
//            }
//            else if(bizObj[0] instanceof String) {
//                this.orgBytes = ((String)bizObj[0]).getBytes();
//            }
//            else {
//                this.orgBytes = new byte[0];
//                if (logger.isError()) logger.error(guidLogPrefix + " Invalid Service Message Object Recevied...");
//            }
//            */
//        }
//    
//    }
//
//    public boolean isSourceTransform()
//    {
//		try {
//            // 2009.03.20 강길수차장 요청사항
//            //  표준헤더의 출력메시지 정보의 출력데이터 유형구분코드가 '02' 이고
//            // 오류변환이 있는 경우에 오류변환을 수행하도록 한다
//            KBMessage kbmsg = this.reqEaiMsg.getKbMsg();
//            
//            // 2020.02.07 업무데이터가 Empty 이면 변환을 Skip한다.
////            if(MessageUtil.isBizDataEmpty(this.orgMessage)) {
////            	if (logger.isInfo()) logger.info(guidLogPrefix + "Request Message is EMPTY, Skip Transform.");
////            	return false;
////            }
////            else 
//            if(kbmsg.getKBCommon().getOutptDPtrnDstcd() != null
//            && KBMessageKeys.OUTPTDPTRNDSTCD_ERR.equals(kbmsg.getKBCommon().getOutptDPtrnDstcd())
//            && EAIMessageKeys.YES_FLAG.equals(this.reqEaiMsg.getCurrentSvcMsg().getErrRspCnvEn())
//            ) {
//            	this.diURI = this.reqEaiMsg.getCurrentSvcMsg().getErrRspCnvMsgID();
//            	if (logger.isDebug()) {
//            		logger.debug(guidLogPrefix + " 요청변환(에러응답변환) 출력데이터 유형구분코드["+kbmsg.getKBCommon().getOutptDPtrnDstcd()+"] - " + this.diURI);
//            	}
//            	return true;
//            }
//            else {
//            	if( EAIMessageKeys.YES_FLAG.equals(this.reqEaiMsg.getCurrentSvcMsg().getCnvEn()) ) {
//		            this.diURI = this.reqEaiMsg.getCurrentSvcMsg().getCnvMsgID();
//		            
//		            //----------------------------------------------------------------
//		            // 2009.12.29  정길영 차장 요청
//		            // AA 응답 거래일 경우 기동어댑터의 정상응답 에러응답여부를 확인하여 
//		            // 오류응답일 경우 오류변환을 수행 
//		            //----------------------------------------------------------------
//		            if(EAIMessageKeys.ASYNC_SVC.equals(this.reqEaiMsg.getSvcTsmtUsgTp()) &&
//		            		EAIMessageKeys.ASYNC_SVC.equals(this.psvItfTp) &&
//		            		KBMessageKeys.TELGMDMNDDSTCD_RECV.equals(reqEaiMsg.getKbMsg().getKBHeader().getTelgmDmndDstcd())
//		            	    && EAIMessageKeys.YES_FLAG.equals(this.reqEaiMsg.getCurrentSvcMsg().getErrRspCnvEn()) ) {
//		            	String inAdapter = this.reqEaiMsg.getSngSysItfTp();
//			            boolean successFlag = MessageKeyExtractor.isSuccessMessage(inAdapter, this.orgMessage);
//			            
//			            if(!successFlag) {
//			            	this.diURI = this.reqEaiMsg.getCurrentSvcMsg().getErrRspCnvMsgID();
//			            	if (logger.isDebug()) {
//			            		logger.debug(guidLogPrefix + " 요청변환(에러응답변환)  - " + this.diURI);
//			            	}
//			            }
//		            }
//		            //----------------------------------------------------------------
//		            
//		            if (logger.isDebug()) {
//	            		logger.debug(guidLogPrefix + " 요청변환  - " + this.diURI);
//	            	}
//		            return true;
//		        }
//		        else {
//		            return false;
//		        }
//            }
//        } catch(Exception e) {
//            return false;
//        }
//	
//    }
//
//    public void setTgtTranObject() throws Exception
//    {
//        this.tgtTranObject = this.orgMessage;
//        //this.tgtTranObject = IConv.asciiToEBCDIC(new String(this.orgBytes));
//    }
//
//    public void checkErrorReturn(Exception e1) throws Exception
//    {
//        try {
//            //JpdExceptionUtil.printException(this.context);
//            if(this.resEaiMsg == null) this.resEaiMsg = this.reqEaiMsg;
//            
//            // 에러코드가 설정되지 않은 경우 
//            // 공통에러코드를 설정한다.
//            // 2009.09.11 
//            if(MessageUtil.checkRspErrCd(this.resEaiMsg.getRspErrCd())) {
//            	String[] msgArgs = new String[1];
//	            msgArgs[0] = this.resEaiMsg.getEAISvcCd();
//	            //[EAI 서비스코드:{1}] 송신전 메시지 처리 중 에러 
//	            String rspErrorCode = "RECEAIOCO000";
//	            String rspErrorMsg = ExceptionUtil.make(e1, rspErrorCode, msgArgs);
//	            if (logger.isError()) logger.error(guidLogPrefix + rspErrorMsg, e1);
//	            this.resEaiMsg.setRspErrCd(rspErrorCode);
//	            this.resEaiMsg.setRspErrMsg(rspErrorMsg);
//            }
//                        
//            //this.logPssSno = TranLogUtil.getReqLogSeq(this.svcPssTp, this.svcPssSeq, this.isComp);            
//            LogSender.send(this.logPssSno, this.resEaiMsg, this.prop);
//            
//            if(EAIMessageKeys.SYNC_SVC.equals(this.reqEaiMsg.getSvcTsmtUsgTp()) ) {
//                this.logPssSno = TranLogUtil.getResLogSeq(this.svcPssTp, this.svcPssSeq, this.isComp);
//                LogSender.send(this.logPssSno, this.resEaiMsg, this.prop);
//            }        
//        } catch(Exception e) {
//            if (logger.isWarn()) {
//                logger.warn(guidLogPrefix + " 송신전 오류에 대한 처리로직 수행 중 오류가 발생", e);                
//            }
//        }
//    }   
//
//    public boolean isRealCall()
//    {
//		if(this.callProp != null) {
//            String mode = this.callProp.getProperty(EAIKeys.CALL_MODE_KEY);
//            if(mode != null && EAIKeys.CALL_MODE_WARMUP.equals(mode)) {
//                logger.warn(guidLogPrefix + " Warming Up Called");
//                return false;
//            }
//            else {
//                return true;
//            }
//        }
//        else {
//            return true;
//        }
//	}
//
//
//    public void getBizMessage() throws Exception
//    {
//        //-------------------------------------------------------
//        // 응답메시지가 NULL아 아닌 경우
//        //-------------------------------------------------------        
//        if(this.resBytes != null) {
//        	//---------------------------------------------------
//        	// 응답메시지가 KB 차세대표준일 경우 KBMessage 를 데이터에서 추출하고 EAIMessage에 설정 한다. 
//        	// 업무데이터를 추출한다 
//        	// 2009.07.13 업무데이터만 추출하도록 수정
//        	//---------------------------------------------------
//        	try {
//        		KBMessage resKbMsg = this.resEaiMsg.getKbMsg();
//        		//----------------------------------------------
//        		// 2009.10.27 정길영 차장
//        		// 단말대기요구여부 = '1'
//        		// 채널구분코드 = '05' 일 경우 Dummy 가 응답으로 수신되므로
//        		// 데이터가 zero-space 이며 응답변환없이 헤더만 전달하도록 한다.
//        		//---------------------------------------------- 
//        		// 2011.07.07 정길영차장 수정 
//        		// 단말대기요구여부 = '1'
//        		// 채널세부업무구분코드 = '19'(공항환전) 일 경우 Dummy 가 응답으로 수신되므로
//        		// 데이터가 zero-space 이며 응답변환없이 헤더만 전달하도록 한다.
//        		//----------------------------------------------
//        		// 2016.05.13 KSH 
//        		// 단말대기요구여부 = '1'
//        		// 채널구분코드 = '06' 채널세부업무구분코드 = '93'(퇴직연금) 일 경우 Dummy 가 응답으로 수신되므로
//        		// 데이터가 zedo-space 이며 응답변환없이 헤더만 전달하도록 한다.
//        		//---------------------------------------------- 
//            	if("1".equals(resKbMsg.getKBCommon().getTermlWaitRqstYn())
//            	   && "05".equals(resKbMsg.getKBCommon().getChnlDstcd()) ||
//            	   "1".equals(resKbMsg.getKBCommon().getTermlWaitRqstYn())
//            	   && "19".equals(resKbMsg.getKBCommon().getChnlDBzwkDstcd()) ||
//            		"1".equals(resKbMsg.getKBCommon().getTermlWaitRqstYn())
//            		&& "06".equals(resKbMsg.getKBCommon().getChnlDstcd())
//            		&& "93".equals(resKbMsg.getKBCommon().getChnlDBzwkDstcd())) {
//            	   if(logger.isInfo()) {
//            		   logger.info(guidLogPrefix + " CICS DUMMY Response EAISvcName[" +
//            				   this.resEaiMsg.getEAISvcCd() + "] UUID[" +
//            				   this.resEaiMsg.getSvcOgNo() + "]" );
//            	   }
//            	   this.resBytes = new byte[0];
//            	   this.resEaiMsg.getCurrentSvcMsg().setBsRspCnvEn("0");
//            	   this.resEaiMsg.getCurrentSvcMsg().setErrRspCnvEn("0");            	   
//            	}
//            	else {   
//            		//this.resBytes = KBMessageUtil.getBytesDataValue(this.resEaiMsg.getKbMsg(), this.resBytes);
//            		//TODO 확인 필수.......
//    				KBMessageParser parser = KBMessageParserFactory.createPaserFactory(KBMessageParserType.EBC.toString());
//    				if(parser == null) {
//    					throw new Exception("Parser not found - " +KBMessageParserType.EBC.toString());
//    				}
//    				this.resBytes = parser.getDataValue(this.resBytes, false);
//            	}
//            	//----------------------------------------------
//            	
//            	Object[] objs = new Object[1];
//        
//		        if(this.resBytes != null) {            
//		            objs[0] = this.resBytes;            
//		        }
//		        this.resEaiMsg.setBizMsg(objs);
//        	}
//        	catch(Exception e) {
//        		if (logger.isWarn()) {
//                    logger.warn(guidLogPrefix + " invalid Response KBMesage Length["+this.resBytes.length+"<="+KBMessageKeys.KBMESSAGE_HEADER_LEN_ZZ_LENGTH+"]");
//                    logger.warn(new String(this.resBytes));
//                }
//        	}
//        }
//    }
//
//    public void getTopicProperty() throws Exception
//    {
//        PropManager propManager = PropManager.getInstance();
//            
//        this.topicConFactory = propManager.getProperty(RouteKeys.GROUP_NAME, RouteKeys.ROUTING_TOPIC_CONNECTION_FACTORY);
//        this.topicName = propManager.getProperty(RouteKeys.GROUP_NAME, RouteKeys.ROUTING_TOPIC);
//        this.timeout = (this.reqEaiMsg.getCurrentSvcMsg().getTmoVl()+ 3)* 1000; //180 * 1000;    
//        this.tracekey = this.reqEaiMsg.getCurrentSvcMsg().getKeyMgtMsgVl();    
//        
//        //------------------------------------------------------
//        // JMS TOPIC Subscriber Init
//        //------------------------------------------------------
//        if (ContainerUtil.get() == ContainerUtil.TOMCAT) {
//       	 this.future = new Future();
//            try {        	        	
//            	ResponseMap.getInstance().put(this.tracekey, future);
//            } catch(Exception e) {
//            	logger.error(guidLogPrefix + "Cannot start the Cache Response Future. - "+e.getMessage(), e);
//            	String[] msgArgs = new String[1];
//	            msgArgs[0] = this.reqEaiMsg.getEAISvcCd();
//	            String rspErrorCode = "RECEAIOSA060";            
//	            String rspErrorMsg = ExceptionUtil.make(e, rspErrorCode, msgArgs);
//	            this.resEaiMsg.setRspErrCd(rspErrorCode);
//	            this.resEaiMsg.setRspErrMsg(rspErrorMsg);
//	            throw new Exception(rspErrorMsg);
//            }
//       }
//       else {
//	        jmsRespAction = new com.eactive.eai.common.worker.JMSListenerAction(this.topicConFactory, this.topicName, this.timeout);
//	        jmsRespAction.doInit(this.tracekey);
//	        this.future = new Future();
//	        try {
//	            jmsRespAction.doStart(future.getSlot());
//	        } catch(Exception e) {
//	        	logger.error(guidLogPrefix + "Cannot start the JMSListenerAction. - "+e.getMessage(), e);	            
//	            String[] msgArgs = new String[1];
//	            msgArgs[0] = this.reqEaiMsg.getEAISvcCd();
//	            String rspErrorCode = "RECEAIOSA060";            
//	            String rspErrorMsg = ExceptionUtil.make(e, rspErrorCode, msgArgs);
//	            this.resEaiMsg.setRspErrCd(rspErrorCode);
//	            this.resEaiMsg.setRspErrMsg(rspErrorMsg);
//	            throw new Exception(rspErrorMsg);  
//	        }
//       }
//	}
//
//    public void executeTimeout() throws Exception
//    {
//        this.jmsRespObject = new byte[0];
//    
//    }
//
//	public void createStandardMsg() throws Exception {
//
//        AdapterManager adapterManager = AdapterManager.getInstance();
//        AdapterGroupVO adptGrpVO = adapterManager.getAdapterGroupVO(this.adapterGroupName);
//        if(adptGrpVO != null) {
//        	this.adptrMsgPtrnCd = adptGrpVO.getAdptrMsgPtrnCd();
//        }
//        	
//        byte[] byteMsg = (byte[])this.tgtTranObject;        
//        //--------------------------------------------
//        // KB 표준전문일 경우 SNA 거래시 CAP을 붙이지 않는다 
//        // KB 표준메시지 공통부가 CAP을 대신한다.
//        //--------------------------------------------
//        // KBMessage & DATA
//        KBMessage kbmessage = this.reqEaiMsg.getKbMsg();
//        this.reqBytes = kbmessage.toFixedEbcdicBytes(this.inAdapterMsgType, MessageType.EBC, byteMsg);
//        //--------------------------------------------
//        
//        if(this.reqEaiMsg.getSvrLogLvl() == 2 ) {
//            if (logger.isDebug()) {
//                logger.debug("--------------------------------------------------------------");
//                logger.debug(guidLogPrefix + " SNA SEND EBCDIC Message");
//                logger.debug("--------------------------------------------------------------");
//                if (this.reqBytes == null) {
//                	logger.debug(guidLogPrefix + " reqBytes is NULL");
//                }
//                else {
//                	try {
//	                    String[] str = EbcdicDumpUtil.makeEbcdicDumpFormat(this.reqBytes);
//	                    for(int i=0;i<str.length;i++) 
//	                    	logger.debug(str[i]);
//                	}
//                	catch(Exception ex) {
//                		logger.warn("EBCDIC DUMP ERROR", ex);
//                	}
//                }
//            }
//        }
//        
//        //---------------------------
//        // 변환요청메시지 설정
//        //---------------------------
//        Object[] objs = new Object[1];
//        objs[0] = this.reqBytes;
//        this.reqEaiMsg.setBizMsg(objs);
//        
//        this.snaProp = new Properties();
//        snaProp.setProperty(SNAProperties.TRAN_KEY, reqEaiMsg.getSvcOgNo()); // UUID
//        snaProp.setProperty(SNAProperties.ADAPTER_GRP_NAME, this.adapterGroupName);        
//        snaProp.setProperty(SNAProperties.LU_NAME, " ");        
//        snaProp.setProperty(SNAProperties.DATA_TYPE, SNAProperties.DATA_TYPE_NORMAL);
//        
//        // EAI 헤더의 Timeout 시간이 설정되어 있을 경우 SNA WCA로 전달한다.
//        try {
//            int timeout = this.reqEaiMsg.getCurrentSvcMsg().getTmoVl();
//            if(timeout > 0) {
//                snaProp.setProperty(SNAProperties.TRAN_TIMEOUT, new Integer(timeout).toString());
//            }
//        } catch(Exception e) {            
//            if (logger.isWarn()) logger.warn(guidLogPrefix + " EAI 서비스코드["+this.reqEaiMsg.getEAISvcCd()+"] Invalid TIMEOUT Value ["+this.reqEaiMsg.getCurrentSvcMsg().getTmoVl()+"]");        
//        }
//    }
//
//	public void setSNAErrorMessage() throws Exception {
//        //this.logPssSno = 300;
//        this.logPssSno = TranLogUtil.getResLogSeq(this.svcPssTp, this.svcPssSeq, this.isComp);
//        
//        Object[] objs = new Object[1];
//        
//        if(!MessageUtil.checkRspErrCd(this.resEaiMsg.getRspErrCd()) ) {            
//            objs[0] = (this.resBytes);
//        }
//        
//        if(SNAProperties.DATA_TYPE_ERROR.equals(this.snaResponseDataType) ) {
//            String[] msgArgs = new String[1];
//            msgArgs[0] = this.reqEaiMsg.getSvcOgNo();
//            String rspErrorCode = "RECEAIOSA888";
//            String rspErrorMsg = ExceptionUtil.make(rspErrorCode, msgArgs) + 
//            		(this.resBytes == null ? "" : (", ERROR-" + new String(this.resBytes)) );
//            if (logger.isError()) logger.error(guidLogPrefix + rspErrorMsg);
//            this.resEaiMsg.setRspErrCd(rspErrorCode);
//            this.resEaiMsg.setRspErrMsg(rspErrorMsg);
//            objs[0] = (this.resBytes);
//        }
//        else if(SNAProperties.DATA_TYPE_TIMEOUT.equals(this.snaResponseDataType) ) {
//            String[] msgArgs = new String[1];
//            msgArgs[0] = this.reqEaiMsg.getSvcOgNo();            
//            String rspErrorCode = "RECEAIOSA777";            
//            String rspErrorMsg = ExceptionUtil.make(rspErrorCode, msgArgs) + 
//            		(this.resBytes == null ? "" : (", TIMEOUT-" + new String(this.resBytes)) ) ;
//            if (logger.isError()) logger.error(guidLogPrefix + rspErrorMsg);
//            this.resEaiMsg.setRspErrCd(rspErrorCode);
//            this.resEaiMsg.setRspErrMsg(rspErrorMsg);
//            objs[0] = (IConv.ebcdicToASCII(this.resBytes).getBytes());
//        }
//        else if(SNAProperties.DATA_TYPE_DFS.equals(this.snaResponseDataType) ) {
//            String[] msgArgs = new String[1];
//            msgArgs[0] = this.reqEaiMsg.getSvcOgNo();            
//            String rspErrorCode = "RECEAIOSA999";            
//            String rspErrorMsg = ExceptionUtil.make(rspErrorCode, msgArgs) + 
//            		(this.resBytes == null ? "" : (", DFS-" + IConv.ebcdicToASCII(this.resBytes)) );
//            if (logger.isError()) logger.error(guidLogPrefix + rspErrorMsg);
//            this.resEaiMsg.setRspErrCd(rspErrorCode);
//            this.resEaiMsg.setRspErrMsg(rspErrorMsg);
//            objs[0] = (IConv.ebcdicToASCII(this.resBytes).getBytes());
//        }
//        
//        this.resEaiMsg.setBizMsg(objs);
//    
//    }
//
//	public boolean isRequest() {
//		//----------------------------------------------
//		// 2008.05.29 - FILE 변경에 따른 BUG 
//		// AA 응답거래일 경우
//		// 에러 로그를 남기지 않는다.
//		// AA 응답거래일 경우에는 FlowControl에서 ExceptionHandler에 의해
//		// 900 ERROR 로그를 남긴다. 
//		//----------------------------------------------
//		KBMessage kbmessage = reqEaiMsg.getKbMsg();
//        String telgmDmndDstcd = kbmessage.getKBHeader().getTelgmDmndDstcd();
//		// AA && RES
//		if(EAIMessageKeys.ASYNC_SVC.equals(this.reqEaiMsg.getSvcTsmtUsgTp()) &&
//            EAIMessageKeys.ASYNC_SVC.equals(this.psvItfTp) &&
//            KBMessageKeys.TELGMDMNDDSTCD_RECV.equals(telgmDmndDstcd)
//            ) {
//			return false;
//		}
//		else {
//			return true;			
//		}
//	}
//
//	public boolean isHeaderControl() {
//		if(logger.isDebug()) {
//            logger.debug(guidLogPrefix + " Header Control 여부 :  [" + this.reqEaiMsg.getCurrentSvcMsg().getSupplDelYn()  +"]");                 
//            logger.debug(guidLogPrefix + " Header Control Type :  [" + this.reqEaiMsg.getCurrentSvcMsg().getHdrCtrlDstcd()  +"]");                 
//            logger.debug(guidLogPrefix + " header Action  Name :  [" + this.reqEaiMsg.getCurrentSvcMsg().getHdrRefClsName() +"]");
//        }
//        
//        String hdrCtrlDstcd = StringUtil.getNullStr(this.reqEaiMsg.getCurrentSvcMsg().getHdrCtrlDstcd());
//        if (HeaderActionKeys.SUPPORT_Y.equals(StringUtil.getNullStr(this.reqEaiMsg.getCurrentSvcMsg().getSupplDelYn()) )
//        	&&	(HeaderActionKeys.DELETE_ADD_HEADER.equals(hdrCtrlDstcd) ||   HeaderActionKeys.ADD_DELETE_HEADER.equals(hdrCtrlDstcd) )	){
//        	return true;
//        }else{
//        	return false;
//        }
//	}
//
//	public void performSend() throws Exception {
//		try{
//			String headerActionName = this.reqEaiMsg.getCurrentSvcMsg().getHdrRefClsName();
//			String headerContolType = StringUtil.getNullStr(this.reqEaiMsg.getCurrentSvcMsg().getHdrCtrlDstcd()) ;
//	
//	        if(logger.isDebug()) {
//	            logger.debug(guidLogPrefix + " Header 로직을 실행합니다.");
//	            logger.debug(guidLogPrefix + " headerActionName :  [" + headerActionName +"]");
//	            logger.debug(guidLogPrefix + " 전송 Type :  [" + HeaderActionKeys.MESSAGE_SEND +"]");
//	            logger.debug(guidLogPrefix + " Header Control Type :  [" + headerContolType +"]");               
//	        }
//	
//	        HeaderAction action = HeaderActionFactory.createAction(headerActionName);
//	
//	        if(this.orgMessage instanceof byte[]) {
//	        	this.orgData = new byte[((byte[])this.orgMessage).length];
//	        	System.arraycopy(this.orgMessage, 0, this.orgData, 0, ((byte[])this.orgMessage).length );
//	
//	            this.orgMessage = action.excute(this.orgData ,(byte[])this.orgMessage, HeaderActionKeys.MESSAGE_SEND, headerContolType );
//	
//		        if(logger.isDebug()) {
//		            logger.debug(guidLogPrefix + " this.orgMessage"+new String((byte[])this.orgMessage));
//		        }
//	            
//	        }else{
//	            if(logger.isWarn()) {
//	                logger.warn(guidLogPrefix + " byte[] 만허용됩니다. 업무메시지타입을 확인하세요"  + this.orgMessage);                    
//	            }
//	        
//	        }    
//	        if(logger.isDebug()) {
//	            logger.debug(guidLogPrefix + " Header 로직을 종료합니다.");
//	        }
//        }catch(Exception e){
//            String[] msgArgs = new String[1];
//            msgArgs[0] = this.reqEaiMsg.getEAISvcCd();
//            String rspErrorCode = "RECEAIOSA030";            
//            String rspErrorMsg = ExceptionUtil.make(e, rspErrorCode, msgArgs);
//            if (logger.isError()) logger.error(guidLogPrefix + rspErrorMsg);
//            this.resEaiMsg.setRspErrCd(rspErrorCode);
//            this.resEaiMsg.setRspErrMsg(rspErrorMsg);
//            throw new Exception(rspErrorMsg);        
//        }
//    }
//
//	public void performRecv() throws Exception {
//		try{
//			String headerActionName = this.reqEaiMsg.getCurrentSvcMsg().getHdrRefClsName();
//			String headerContolType = StringUtil.getNullStr(this.reqEaiMsg.getCurrentSvcMsg().getHdrCtrlDstcd()) ;
//	
//	        if(logger.isDebug()) {
//	            logger.debug(guidLogPrefix + " Header 로직을 실행합니다.");
//	            logger.debug(guidLogPrefix + " headerActionName :  [" + headerActionName +"]");
//	            logger.debug(guidLogPrefix + " 전송 Type :  [" + HeaderActionKeys.MESSAGE_RECV +"]");
//	            logger.debug(guidLogPrefix + " Header Control Type :  [" + headerContolType +"]");               
//	        }
//	
//	        HeaderAction action = HeaderActionFactory.createAction(headerActionName);
//	        Object bizObj[] = this.resEaiMsg.getBizMsg();
//	
//	        if(bizObj != null && bizObj.length > 0) {
//	            this.tgtTranObject = bizObj[0];
//	        }
//	       
//	                
//	        if(this.tgtTranObject instanceof byte[]) {
//	            this.tgtTranObject = action.excute(this.orgData ,(byte[])this.tgtTranObject, HeaderActionKeys.MESSAGE_RECV, headerContolType );
//		        bizObj[0] = this.tgtTranObject;
//		        this.resEaiMsg.setBizMsg(bizObj);            
//	
//		        if(logger.isDebug()) {
//		            logger.debug(guidLogPrefix + " this.tgtTranObject"+new String((byte[])this.tgtTranObject));
//		        }
//	            
//	        }else{
//	            if(logger.isWarn()) {
//	                logger.warn(guidLogPrefix + " byte[] 만 허용됩니다. 업무메시지타입을 확인하세요"  + this.tgtTranObject);                    
//	            }
//	        
//	        }    
//	        if(logger.isDebug()) {
//	            logger.debug(guidLogPrefix + " Header 로직을 종료합니다.");
//	        }
//        }catch(Exception e){
//            String[] msgArgs = new String[1];
//            msgArgs[0] = this.reqEaiMsg.getEAISvcCd();
//            String rspErrorCode = "RECEAIOSA030";            
//            String rspErrorMsg = ExceptionUtil.make(e, rspErrorCode, msgArgs);
//            if (logger.isError()) logger.error(guidLogPrefix + rspErrorMsg);
//            this.resEaiMsg.setRspErrCd(rspErrorCode);
//            this.resEaiMsg.setRspErrMsg(rspErrorMsg);
//            throw new Exception(rspErrorMsg);        
//        }
//    }
//} 
