개발서버 confict 해결
This commit is contained in:
+47
-4
@@ -89,6 +89,7 @@ import com.kjbank.encrypt.exchange.crypto.AESCipher;
|
|||||||
import com.nimbusds.jwt.SignedJWT;
|
import com.nimbusds.jwt.SignedJWT;
|
||||||
import com.kjbank.encrypt.exchange.crypto.AES256GCMCipher;
|
import com.kjbank.encrypt.exchange.crypto.AES256GCMCipher;
|
||||||
import com.eactive.eai.authserver.service.OAuth2Manager;
|
import com.eactive.eai.authserver.service.OAuth2Manager;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -164,7 +165,7 @@ public class HttpClient5AdapterServiceRest extends HttpClient5AdapterServiceSupp
|
|||||||
String messageType = prop.getProperty("MESSAGE_TYPE", MessageType.JSON);
|
String messageType = prop.getProperty("MESSAGE_TYPE", MessageType.JSON);
|
||||||
String inboundMethod = tempProp.getProperty(HttpAdapterServiceKey.INBOUND_METHOD, "POST");
|
String inboundMethod = tempProp.getProperty(HttpAdapterServiceKey.INBOUND_METHOD, "POST");
|
||||||
|
|
||||||
//Outbound 요청에 대한 응답 메시지의 복호화 여부 결정위해
|
//Outbound 요청에 대한 응답 메시지의 복호화 여부 결정위해 jwhong
|
||||||
encryptResponseApply = StringUtils.equalsIgnoreCase(prop.getProperty("ENCRYPT_RESPONSE_APPLY", "N"), "Y");
|
encryptResponseApply = StringUtils.equalsIgnoreCase(prop.getProperty("ENCRYPT_RESPONSE_APPLY", "N"), "Y");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -382,6 +383,9 @@ public class HttpClient5AdapterServiceRest extends HttpClient5AdapterServiceSupp
|
|||||||
// Adapter 레벨 header 보다 data로 넘어온 httpHeader를 우선 적용(header명이 같다면 덮어씀)
|
// Adapter 레벨 header 보다 data로 넘어온 httpHeader를 우선 적용(header명이 같다면 덮어씀)
|
||||||
assignRequestHeaders(method, httpHeader);
|
assignRequestHeaders(method, httpHeader);
|
||||||
|
|
||||||
|
// KJBank API 추적정보를 Header에 제공. jwhong
|
||||||
|
assignRequestKJHeaders(method, prop, tempProp );
|
||||||
|
|
||||||
int status = -1;
|
int status = -1;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@@ -793,6 +797,39 @@ public class HttpClient5AdapterServiceRest extends HttpClient5AdapterServiceSupp
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* KJBank Target System으로 요청 보낼때 header에 clientId(업체정보), APIM거래추적자(UUID), 최초 요청시간 을 보낸다. jwhong
|
||||||
|
*/
|
||||||
|
private void assignRequestKJHeaders(HttpUriRequestBase method, Properties prop, Properties tempProp) {
|
||||||
|
|
||||||
|
Properties inboundHeaders = (Properties) tempProp.get(HttpAdapterServiceKey.INBOUND_HEADER);
|
||||||
|
String authorization = inboundHeaders.getProperty("authorization");
|
||||||
|
String jwtToken = "";
|
||||||
|
|
||||||
|
if (authorization != null && authorization.startsWith("Bearer ")) {
|
||||||
|
jwtToken = authorization.substring(7); // "Bearer " 이후의 JWT만 추출
|
||||||
|
//System.out.println("JWT Token: " + jwtToken);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 업체정보 */
|
||||||
|
String clientId = JwtClientIdExtractor(jwtToken);
|
||||||
|
method.setHeader("clientId", clientId);
|
||||||
|
|
||||||
|
/* APIM 거래추적자 */
|
||||||
|
String uuid = tempProp.getProperty(TransactionContextKeys.TRANSACTION_UUID, "");
|
||||||
|
method.setHeader("traceId", uuid);
|
||||||
|
|
||||||
|
/* 최초요청시간 */
|
||||||
|
Set<String> keys = tempProp.stringPropertyNames();
|
||||||
|
for (String key : keys) {
|
||||||
|
String value = tempProp.getProperty(key);
|
||||||
|
System.out.println(key + " = " + value);
|
||||||
|
}
|
||||||
|
|
||||||
|
String receivedTimestamp = tempProp.getProperty(HttpAdapterServiceKey.INBOUND_REQUESTED_TIME, "");
|
||||||
|
method.setHeader("receivedTimestamp", receivedTimestamp);
|
||||||
|
}
|
||||||
|
|
||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
private void assignPostBody(Object eaiBody, String contentType, String charset, HttpUriRequestBase method, String adapterName, String niceAuth) {
|
private void assignPostBody(Object eaiBody, String contentType, String charset, HttpUriRequestBase method, String adapterName, String niceAuth) {
|
||||||
if (eaiBody == null) {
|
if (eaiBody == null) {
|
||||||
@@ -829,7 +866,7 @@ public class HttpClient5AdapterServiceRest extends HttpClient5AdapterServiceSupp
|
|||||||
private String doOutboundPreFilter(Object eaiBody, String adapterName, String niceAuth) {
|
private String doOutboundPreFilter(Object eaiBody, String adapterName, String niceAuth) {
|
||||||
|
|
||||||
Properties properties = AdapterPropManager.getInstance().getProperties(adapterName); // jwhong
|
Properties properties = AdapterPropManager.getInstance().getProperties(adapterName); // jwhong
|
||||||
String encryptAlgorithm = properties.getProperty("ENCRYPT_ALGORITHM"); // jwhong
|
String encryptAlgorithm = properties.getProperty("ENCRYPT_ALGORITHM",""); // jwhong
|
||||||
//String encryptBaseKeyType = properties.getProperty("ENCRYPT_BASE_TYPE");
|
//String encryptBaseKeyType = properties.getProperty("ENCRYPT_BASE_TYPE");
|
||||||
String encryptClientId = properties.getProperty("ENCRYPT_CLIENT_ID");
|
String encryptClientId = properties.getProperty("ENCRYPT_CLIENT_ID");
|
||||||
String encryptAES256Iv = properties.getProperty("ENCRYPT_AES256_IV");
|
String encryptAES256Iv = properties.getProperty("ENCRYPT_AES256_IV");
|
||||||
@@ -986,7 +1023,12 @@ public class HttpClient5AdapterServiceRest extends HttpClient5AdapterServiceSupp
|
|||||||
byte[] decryptedMessage = null;
|
byte[] decryptedMessage = null;
|
||||||
String eaiStringBody = new String(eaiBody, StandardCharsets.UTF_8);
|
String eaiStringBody = new String(eaiBody, StandardCharsets.UTF_8);
|
||||||
|
|
||||||
|
try {
|
||||||
eaiStringBody = extractBodyMsg(decryptAlgorithm, eaiStringBody);
|
eaiStringBody = extractBodyMsg(decryptAlgorithm, eaiStringBody);
|
||||||
|
} catch (ParseException e) {
|
||||||
|
System.out.println("JSON 파싱 오류 발생 : " +e.getMessage());
|
||||||
|
return eaiBody;
|
||||||
|
}
|
||||||
|
|
||||||
//test source
|
//test source
|
||||||
System.out.println("eaiBody 바이트 배열 길이: " + eaiBody.length);
|
System.out.println("eaiBody 바이트 배열 길이: " + eaiBody.length);
|
||||||
@@ -1091,7 +1133,7 @@ public class HttpClient5AdapterServiceRest extends HttpClient5AdapterServiceSupp
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private String extractBodyMsg(String decryptAlgorithm, String eaiStringBody) {
|
private String extractBodyMsg(String decryptAlgorithm, String eaiStringBody) throws ParseException {
|
||||||
|
|
||||||
String decryptedJsonKey = "";
|
String decryptedJsonKey = "";
|
||||||
String decryptedBodyMessage = "";
|
String decryptedBodyMessage = "";
|
||||||
@@ -1102,9 +1144,10 @@ public class HttpClient5AdapterServiceRest extends HttpClient5AdapterServiceSupp
|
|||||||
JSONParser parser = new JSONParser();
|
JSONParser parser = new JSONParser();
|
||||||
JSONObject jsonObject = (JSONObject) parser.parse(eaiStringBody);
|
JSONObject jsonObject = (JSONObject) parser.parse(eaiStringBody);
|
||||||
decryptedBodyMessage = (String) jsonObject.get(decryptedJsonKey);
|
decryptedBodyMessage = (String) jsonObject.get(decryptedJsonKey);
|
||||||
} catch (Exception e) {
|
} catch (ParseException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
logger.error("HttpClient5AdapterServiceRest] extractBodyMsg error : " + e.getMessage());
|
logger.error("HttpClient5AdapterServiceRest] extractBodyMsg error : " + e.getMessage());
|
||||||
|
throw e;
|
||||||
}
|
}
|
||||||
|
|
||||||
return decryptedBodyMessage;
|
return decryptedBodyMessage;
|
||||||
|
|||||||
@@ -77,6 +77,7 @@ public interface HttpAdapterServiceKey {
|
|||||||
static final String ENCRYPT_BASE_TYPE = "ENCRYPT_BASE_TYPE"; // jwhong
|
static final String ENCRYPT_BASE_TYPE = "ENCRYPT_BASE_TYPE"; // jwhong
|
||||||
static final String ENCRYPT_AES256_IV = "ENCRYPT_AES256_IV"; // jwhong
|
static final String ENCRYPT_AES256_IV = "ENCRYPT_AES256_IV"; // jwhong
|
||||||
static final String ENCRYPT_AES256_KEY = "ENCRYPT_AES256_KEY"; // jwhong
|
static final String ENCRYPT_AES256_KEY = "ENCRYPT_AES256_KEY"; // jwhong
|
||||||
|
static final String INBOUND_REQUESTED_TIME = "INBOUND_REQUESTED_TIME"; // jwhong
|
||||||
|
|
||||||
//응답 처리 용 표준 전문 오브젝트
|
//응답 처리 용 표준 전문 오브젝트
|
||||||
static final String STANDARD_MESSAGE_OBJECT = "STANDARD_MESSAGE_OBJECT";
|
static final String STANDARD_MESSAGE_OBJECT = "STANDARD_MESSAGE_OBJECT";
|
||||||
|
|||||||
@@ -69,6 +69,7 @@ public class JMSSender {
|
|||||||
throw new Exception("qconFactory not found -" + connectionFactory);
|
throw new Exception("qconFactory not found -" + connectionFactory);
|
||||||
|
|
||||||
queue = locator.getQueue(destination);
|
queue = locator.getQueue(destination);
|
||||||
|
logger.info("resolved quene name is:" + "["+ queue + "]");
|
||||||
qsender = qsession.createSender(queue);
|
qsender = qsession.createSender(queue);
|
||||||
|
|
||||||
ObjectMessage msg = qsession.createObjectMessage();
|
ObjectMessage msg = qsession.createObjectMessage();
|
||||||
|
|||||||
@@ -439,6 +439,7 @@ public class RESTProcess extends HTTPProcess {
|
|||||||
PropertiesUtil.copyPropertyIfPresent(this.callProp, this.tempProp, HttpAdapterServiceKey.INBOUND_PATH_VARIABLES);
|
PropertiesUtil.copyPropertyIfPresent(this.callProp, this.tempProp, HttpAdapterServiceKey.INBOUND_PATH_VARIABLES);
|
||||||
PropertiesUtil.copyPropertyIfPresent(this.callProp, this.tempProp, HttpAdapterServiceKey.INBOUND_REMOTE_ADDR);
|
PropertiesUtil.copyPropertyIfPresent(this.callProp, this.tempProp, HttpAdapterServiceKey.INBOUND_REMOTE_ADDR);
|
||||||
PropertiesUtil.copyPropertyIfPresent(this.callProp, this.tempProp, HttpAdapterServiceKey.INBOUND_SCHEME);
|
PropertiesUtil.copyPropertyIfPresent(this.callProp, this.tempProp, HttpAdapterServiceKey.INBOUND_SCHEME);
|
||||||
|
PropertiesUtil.copyPropertyIfPresent(this.callProp, this.tempProp, HttpAdapterServiceKey.INBOUND_REQUESTED_TIME); // jwhong
|
||||||
|
|
||||||
String svcName = getServiceId(this.reqEaiMsg);
|
String svcName = getServiceId(this.reqEaiMsg);
|
||||||
if (svcName == null) {
|
if (svcName == null) {
|
||||||
|
|||||||
Reference in New Issue
Block a user