Commit Graph

460 Commits

Author SHA1 Message Date
curry772 b6c64983ee 보안성심의 오픈소스 조치 2026-09-07 16:08:56 +09:00
curry772 831dc9fc48 EZDATA 없는데, Ref필드에는 'ERP'로 되어 있는 경우, flat 전문 파싱 오류 처리 2026-09-07 14:39:47 +09:00
curry772 ad7ff7276f Merge branch 'feature/std-msg-explicit-success-value'
정상 응답 MSG 코드/메시지를 레이아웃 기본값 대신 coordinateBeforeResponse 에서
명시적으로 설정한다. 운영 반영에는 DB 표준전문 정의의 기본값 제거가 함께 필요하다.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UnybKuxcuPafGhVGh4wqkZ
2026-09-03 10:20:23 +09:00
curry772 ec6b51f2a8 정상 응답 MSG 코드/메시지를 레이아웃 기본값 대신 명시적으로 설정
outp_msg_cd(NCMM00001) / outp_msg_ctnt(정상처리되었습니다.) 가 표준전문 레이아웃의
기본값으로 붙어 있어서, "아무도 채우지 않은 상태" 와 "정상이라고 판정한 상태" 가
값만으로 구분되지 않았다. 2026-09 사고에서 MSG 부 파싱이 통째로 스킵됐는데도
오류가 "정상처리되었습니다." 로 보고된 것이 이 때문이다.

레이아웃 기본값을 없애고, StandardMessageCoordinatorDJB.coordinateBeforeResponse 에서
정상 응답일 때만 채운다. 이 메서드는 모든 동기 응답이 거치는 마지막 관문이라
(RequestProcessor 에서 호출) 경로를 빠짐없이 덮는다.

두 조건을 함께 본다.
 - 정상 응답(procs_rslt_dvcd=S) 일 때만. 오류 응답에 정상 메시지를 채우면 사고 재현이다.
 - 값이 비어 있을 때만(setIfBlank). 대외계가 표준응답으로 보낸 MSG 가 우선이며
   덮어쓰면 JsonReader 의 MSG 부 보존 수정이 무의미해진다.

테스트: 기존 3건이 coordinateAfterRecvNonStdSyncResponse 직후에 단정하고 있었으나
값은 이제 마지막 관문에서 채워지므로, 실제 흐름대로 coordinateBeforeResponse 까지
거치도록 고치고 단정도 "공백 아님" 에서 상수 일치로 강화했다.
설계 조건을 지키는 회귀 테스트 2건을 추가했다.
 - 오류응답에는_정상메시지가_채워지지_않는다
 - 대외계가_보낸_MSG_값은_덮어쓰지_않는다

주의: 이 CSV 는 layout.file.type=CSV 인 테스트 설정에서만 쓰인다. 운영은 DB 레이아웃을
읽으므로 DB 의 두 항목 기본값도 함께 비워야 실제 효과가 있다. 비우기 전까지는
setIfBlank 가 아무것도 하지 않아 기존과 동일하게 동작한다.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UnybKuxcuPafGhVGh4wqkZ
2026-09-03 10:20:13 +09:00
curry772 2153ed51a8 Merge branch 'feature/msg-block-parse-skip'
- 표준 레이아웃 DATA 를 GRID 로 정정
- MSG부 파싱 회귀 테스트 추가

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UnybKuxcuPafGhVGh4wqkZ
2026-09-03 08:58:31 +09:00
curry772 64d94a1fdc 표준 레이아웃 DATA 를 GRID 로 정정 + MSG부 파싱 회귀 테스트 추가
standard-layout-djb.csv 의 DATA 가 GROUP(3)으로 선언돼 있어, 매핑설정의
BIZ_DATA=DATA[0].BIZ_DATA 인덱스 접근이 실패했다. getBizDataBytes() 가 null 을
반환하고 makeupDataScopLen 이 이를 그대로 역참조해 NPE 가 나면서
coordinateBeforeRequest/Response 가 통째로 실패, 관련 테스트 9건이 깨져 있었다.
운영 레이아웃(DB)대로 GRID(4)로 정정한다. 이 CSV 는 layout.file.type=CSV 인
테스트 설정에서만 사용된다.

- DATA 픽스처를 실제 전문과 같은 배열 형태로 변경
- GRID 는 인덱스 없는 경로가 직렬화에 쓰이지 않는 템플릿을 가리키므로, 조회/단정
  경로를 운영과 같은 DATA[0] 형태로 변경
- 상대 헤더가 표준을 어긴 오류응답(dman_rspn_dvcd=S) 회귀 테스트 2건 추가.
  같은 전문에 있던 선행 0 숫자(00001)와 이스케이프되지 않은 개행/탭도 픽스처에 포함

알려진 별건: DATA 가 GRID 이므로 StandardMessageCoordinatorDJB.DATA_SCOP_LEN
("DATA.data_scop_len") 이 행이 아닌 템플릿에 기록되어 data_scop_len 이 재계산되지
않고 수신값이 그대로 나간다. JSON 경로에서는 영향이 없어 별도 건으로 둔다.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UnybKuxcuPafGhVGh4wqkZ
2026-09-02 17:25:16 +09:00
curry772 50c08d7813 KakaopayAdapterErrorMsgHandler: 제어문자 정규화 후 파싱
상대 응답에 이스케이프되지 않은 제어문자가 섞여 오면
"Illegal unquoted character ((CTRL-CHAR, code 10))" 로 실패한다.
readTree() 전에 JacksonUtil.escapeControlChars() 로 표준 JSON 으로 맞춘다.

검증: gradlew compileJava BUILD SUCCESSFUL
2026-08-28 14:28:12 +09:00
curry772 c5bf45cad9 custom 어댑터/변환함수의 Jackson mapper 를 number-safe 로 통일
기본 ObjectMapper 는 JSON 숫자 왕복에서 값을 변형한다
(100000000.00 -> 1.0E8, 0.00000012 -> 1.2E-7). payload 를 다루는
지점을 JacksonUtil.newNumberSafeMapper() 로 맞춘다.

- KakaopayAdapterErrorMsgHandler: 응답 JSON 파싱/왕복 지점 전환
- HttpClient5AdapterServiceBigTechAddFilter: JsonNode 직렬화 지점 전환
- KakaopayFilter: JacksonUtil.readTree(message, OBJECT_MAPPER) 로 plain mapper 를
  넘기고 있어 유틸을 써도 파싱이 깨졌다. 인자 1개 오버로드(number-safe 싱글턴)를
  쓰도록 바꾸고 plain 필드 제거
- JsonPathExtractRequestMessage: 미사용으로 보였던 objectMapper 필드는 사실
  연결이 빠진 것이었다. JsonPath 의 기본 JacksonJsonNodeJsonProvider() 가 내부적으로
  plain ObjectMapper 를 쓰기 때문에 JSON 실수가 DoubleNode 로 파싱되어
  resultNode.asText() 가 "1.0E8" 을 반환했다. 프로바이더에 number-safe mapper 를
  주입해 해결
- NaverpayAdapterErrorMsgHandler: Kakaopay 판을 복사하며 딸려온 미사용 필드/import 제거.
  이 핸들러는 JSON 을 파싱하지 않고 StandardMessage 로만 응답을 만든다

검증: gradlew compileJava BUILD SUCCESSFUL
2026-08-28 09:26:43 +09:00
curry772 76a3b705c0 Jackson Mapper 생성을 newNumberSafeMapper 이용으로 통일 2026-08-27 16:57:05 +09:00
curry772 57f4847e21 어댑터 에러 핸들러 orgRspErrCd 설정 추가
-현재까지 미사용
2026-08-26 16:34:49 +09:00
curry772 a6e41150cd 거래로그의 오류 출력 부분 수정
- 오류 발생 시 AdapterErrorMessageHandler가 처리하여도 400 오류로 출력되도록 수정
- 업무 오류 발생 시 AdapterErrorMessageHandler가 처리하여도 에러 RECEAIINA001 출력
2026-08-26 09:47:33 +09:00
curry772 79c8aa6151 weblogic에서 ApiRequestBodyFilter를 사용 부분 주석 처리 2026-08-25 15:04:44 +09:00
curry772 ed17053cf1 weblogic 환경에서 /manage url에 대해 FrontFilter가 수행되도록 수정 2026-08-25 14:37:13 +09:00
curry772 af7673ea2c oAuth token 발급 시 client id를 전송하지 않을 경우, 발생하는 오류 처리
- 파라미터로 넘어올 때만, prop에 설정되도록 수정
- 응답에 광주은행 문구 제거
2026-08-25 14:00:31 +09:00
curry772 f0a36a5365 보안성 소스코드 점검 조치 2026-08-20 10:40:50 +09:00
curry772 30dbe31f17 chore fix update 2026-08-15 11:23:16 +09:00
curry772 0263e97640 주석 변경 2026-08-13 10:36:59 +09:00
curry772 26ebad85a7 비동기 로그 배치 커밋 적용 2026-08-12 13:15:21 +09:00
curry772 2c82573a50 파라미터, path variable 처리 수정 2026-08-12 09:42:13 +09:00
curry772 540ebdaf1f 어댑터 에러 핸들러 추가 2026-08-12 09:41:52 +09:00
curry772 e9261c55ad headerGroupName null 체크 추가 2026-08-07 15:14:26 +09:00
curry772 777b1c477c 운영환경 properties 설정 2026-08-07 14:21:11 +09:00
curry772 464ed59a3d 주석 변경 2026-08-06 16:46:01 +09:00
curry772 5486489985 HttpAdapterServiceVirtualAccount online -> common 이동 2026-08-06 14:23:35 +09:00
curry772 2bbd3824ed Merge branch 'master' of https://git.eactive.synology.me:8090/eapim/djbank/eapim-online.git 2026-08-05 13:05:42 +09:00
curry772 4ff3589557 서브모듈 인덱스 업데이트 2026-08-05 13:05:30 +09:00
Rinjae db2b34a355 "SBOM 생성 및 변환 추가 - CycloneDX -> Excel(xlsx) 지원 - Jenkins 단계에 SBOM 빌드 및 아티팩트 보관 연결" 2026-07-31 17:31:45 +09:00
curry772 d79bcf8430 서브모듈 인덱스 업데이트 (elink-online-common)
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
20260731_개발배포
2026-07-31 10:05:48 +09:00
curry772 e049420ca3 내부 오류 시 ERROR_CODE_AUTH_FAIL로 설정되는 현상 수정 2026-07-30 13:09:34 +09:00
curry772 10bbd57c78 서브모듈 인덱스 업데이트 2026-07-30 09:15:34 +09:00
curry772 70c636d719 API 거래 uuid(TRANSACTION_UUID) 앞 prefix에 GroupInstId 추가 2026-07-27 10:41:59 +09:00
curry772 1b37fc5e1b GUID 생성 시 node 번호를 -Dinst.Name값을 이용하도록 변경 2026-07-24 17:02:36 +09:00
curry772 9a730dc0b7 Test Filter 수신 메시지 JsonNode 지원 2026-07-24 17:01:54 +09:00
curry772 0ff2259f78 서브모듈 인덱스 갱신 (elink-online-common, elink-online-core,
elink-online-transformer)
2026-07-24 09:01:12 +09:00
curry772 8231318f14 version info 생성 기능 추가 20260724_개발배포 2026-07-23 11:44:35 +09:00
curry772 c44b331a32 DJBErpNsmapiAccessTokenService 토큰 만료시간 및 HTTP 클라이언트 재사용 수정
- 하드코딩된 30초 만료를 제거하고 oAuthCredentialVo.getIntervalSec() 기준으로
  복원 (미설정 시 24시간 폴백), 스케줄러 주기와 불일치하던 문제 해결
- execute() 호출마다 PoolingHttpClientConnectionManager/CloseableHttpClient를
  새로 만들고 즉시 닫던 것을, mTLS 여부+clientId 조합별로 1회만 생성해 재사용하도록
  변경. 이 서비스는 HttpClientAccessTokenServiceFactoryByDB에 싱글턴으로 캐시되어
  재사용되므로 인스턴스 필드로 안전하게 캐시 가능
20260722_개발배포
2026-07-22 09:11:20 +09:00
curry772 88f774e6b5 더존 NSM API 토큰 발급 응답 데이터 필드 이름 수정 token -> access_token 2026-07-21 15:32:00 +09:00
curry772 a77f4d4ef0 message 타입 ObjectNode 대응 2026-07-21 10:49:39 +09:00
curry772 73a50e5db4 미확인 오류 로그 출력 수정 및 favicon.ico 처리하지않도록 변경 2026-07-20 11:13:27 +09:00
curry772 ebf3cfa98d 어댑터별 apikey 헤더명 동적 적용 2026-07-20 11:12:28 +09:00
curry772 15ac0fa2a2 BigTech 어댑터 로그 출력 부분 수정 20260713_개발배포 2026-07-10 10:11:46 +09:00
curry772 e0039aca81 BigTech signature 생성 파라미터(UR) 로그 추가 2026-07-10 10:10:33 +09:00
curry772 5c094ef9b4 Merge branch 'master' of https://git.eactive.synology.me:8090/eapim/djbank/eapim-online.git 2026-07-10 09:46:51 +09:00
curry772 3772805301 BigTech 커스텀 어댑터 개발(커스텀 헤더 추가) 2026-07-10 09:46:33 +09:00
Rinjae d31b7a343c Merge remote-tracking branch 'origin/master' 2026-07-09 16:31:28 +09:00
curry772 47cb243ff4 REST Header 로그에 송신 Body 출력할 수 있는 기능 추가 2026-07-09 16:25:19 +09:00
Rinjae e3fb52343d "Jenkinsfile 개선:
- Tomcat 배포 구조 → WebLogic 기반으로 변경
- stage별 agent 명시 및 불필요한 환경변수 제거
- Webhook 알림 로직 추가"
2026-07-09 16:20:54 +09:00
curry772 46463a27a4 UnknownMessageLogUtils 클래스명 오타 수정 2026-07-09 14:55:23 +09:00
curry772 7e1af96fcf 사용하지 않는 단위테스트 삭제 2026-07-09 14:15:50 +09:00
curry772 f91b50a121 빅테크 Out Rest Adapter 생성 2026-07-09 14:15:35 +09:00