JAVA API 연동 작업을 했던 것을 기록하고자한다.
업체에서 제공하는 SDK의 함수를 호출하여 세금계산서 내역을 수집하고, 수집한 내역을 내부 DB에 INSERT 하는 것이 목적이다.
기존에 사용하던 스케줄러에 세금계산서 내역 수집 작업을 추가하고, 10분에 한 번씩 호출하는 식으로 구현하였다.
처리 순서는 다음과 같다.
수집 작업 요청 > 수집 상태 목록 확인 (대기/진행/성공) > 수집결과 조회 및 DB INSERT
기본적으로 업체에서 제공하는 API 문서가 잘 되어있었고, 함수 호출로 데이터를 받아오는 형식이였기에, 구현에 크게 어려움은 없었다. 다만, 구현 하면서 아래 두가지 사항이 이슈가 되었고, 서버 설정을 변경하여 처리하였다.
업체에서 제공하는 SDK 함수는 jdk 1.6 버전 이상에서 지원하나, 해당 API 를 적용하려는 스케줄러의 jdk는 1.5버전이다. 따라서 아래와 같이 서버 jdk 버전을 변경하여 처리하였다.
에러문구와 함께 출력되는 에러코드도 업체가 제공하는 에러코드에 없어 다소 헤맸다. 알고보니, 서버시간이 실제보다 약 30분 정도 느렸고, time서버 시간과 동기화 하여 처리하였다.