JAVA API 연동

지규·2023년 1월 17일
0

개발일기

목록 보기
3/6

JAVA API 연동 작업을 했던 것을 기록하고자한다.

업체에서 제공하는 SDK의 함수를 호출하여 세금계산서 내역을 수집하고, 수집한 내역을 내부 DB에 INSERT 하는 것이 목적이다.

기존에 사용하던 스케줄러에 세금계산서 내역 수집 작업을 추가하고, 10분에 한 번씩 호출하는 식으로 구현하였다.

처리 순서는 다음과 같다.

수집 작업 요청 > 수집 상태 목록 확인 (대기/진행/성공) > 수집결과 조회 및 DB INSERT

기본적으로 업체에서 제공하는 API 문서가 잘 되어있었고, 함수 호출로 데이터를 받아오는 형식이였기에, 구현에 크게 어려움은 없었다. 다만, 구현 하면서 아래 두가지 사항이 이슈가 되었고, 서버 설정을 변경하여 처리하였다.

문제 1. jdk 버전 호환성 문제

업체에서 제공하는 SDK 함수는 jdk 1.6 버전 이상에서 지원하나, 해당 API 를 적용하려는 스케줄러의 jdk는 1.5버전이다. 따라서 아래와 같이 서버 jdk 버전을 변경하여 처리하였다.

  1. 리눅스 서버 접속 (root 계정으로 접속)
  2. jdk 다운로드
    오라클 사이트에서 변경할 버전의 jdk를 다운로드 하여 서버에 저장한다.
  3. 다운로드 한 파일명 변경
    mv jdk-6u45-linux-i586.bin /opt/jdk1.6.bin
  4. 설치를 위해 파일 권한을 변경해준다.
    chmod 755 jdk1.6.bin 명령어를 통해 권한을 변경하면 파일명의 색이 진하게 변한다.
  5. 설치파일 실행 ./jdk1.6.bin 명령어를 사용하여 설치를 실행
  6. classpath 변경

문제 2. "요청시간이 유효하지 않습니다." 라는 에러

에러문구와 함께 출력되는 에러코드도 업체가 제공하는 에러코드에 없어 다소 헤맸다. 알고보니, 서버시간이 실제보다 약 30분 정도 느렸고, time서버 시간과 동기화 하여 처리하였다.

  • 리눅스 서버시간 명령어:
    date
  • time 서버 시간 동기화 명령어: (root로 작업)
    rdate -s time.bora.net

0개의 댓글