8
0. 시작하기
hanmj edited this page 2 weeks ago
xit-saeol-interface란?
새올 연계 시스템으로
- 민원 목록/ 민원 상세 정보 조회
- 민원 (추가)답변 등록
을 지원한다.
스프링부트 애플리케이션이므로 설치 후 즉시 실행할 수 있다.
설치
배포파일(xit-saeol-interface.zip)을 원하는 디렉토리에 압축을 풀면 다음과 같은 레이아웃으로 설치된다.
|
데이터베이스
데이터베이스 생성
sql/xit-saeol-xxx.sql 파일을 실행해, 데이터베이스 테이블을 생성한다.
NVL
- 마리아DB의 경우 버젼에 따라 NVL 함수를 지원하지 않는 경우가 있다.
- 이 경우 다음 스크립트를 실행해 NVL 함수를 생성한다.
DELIMITER $$
CREATE FUNCTION NVL(IP_DATA VARCHAR(100), IP_CONVERT VARCHAR(100)) RETURNS VARCHAR(100)
BEGIN
DECLARE RTN_DATA VARCHAR(100);
SET RTN_DATA := IFNULL(IP_DATA, IP_CONVERT);
RETURN RTN_DATA;
END $$
DELIMITER ;
설정
xit-saeol-interface가 올바로 동작하려면 다음 사항들을 설정한다.
- 웹애플리케이션 이름, 포트
- 데이터베이스 접속 정보
- 데이터 암호화 정보
- 지역 자치단체 및 시스템 정보
application.yml
웹애플리케이션 이름, 포트 설정
server:
port: 포트번호(18080)
servlet:
context-path: 이름(/)
데이터베이스 설정
sql:
init:
platform: mariadb 또는 oracle(해당 내용만 지정)
datasource:
hikari:
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
jdbc-url: '데이터베이스별 jdbc url' 참고
username: 사용자 아이디
password: 사용자 비밀번호
auto-commit: false
데이터베이스별 jdbc url
* Maria DB: jdbc:log4jdbc:mariadb://호스트:포트/DB이름?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Seoul&useSSL=false&autocommit=false
* Oracle: jdbc:log4jdbc:oracle:thin:@호스트:포트:SID
gpki.conf
intf-conf/gpki.conf를 열어 전문의 암복호화를 위한 설정을 한다.
{
"enabled": true, /* 활성화(사용) 여부 */
"license": "C:\\GPKI\\Lic", /* 이용기관 GPKI API 라이센스 디렉토리 */
"charset": "EUC-KR", /* 문자셋 */
"server": {
"local": "SVR3160269001", /* 이용기관 서버 CN */
"targets": "SVR3160000003" /* 대상기관 서버인증서 아이디, 여러 개일 경우 컴마(,)로 구분 */
},
"ldapUrl": "ldap://10.1.7.118:389/cn=", /* 대상기관 인증서 다운로드를 위한 행정망 LDAP URL */
/*"ldapUrl": "ldap://152.99.57.127:389/cn=", 대상기관 인증서 다운로드를 위한 인터넷망 LDAP URL */
"certDir": "C:\\GPKI\\Certificate\\class1", /* 서버 인증서, 키 저장 디렉토리 */
"targetCert": "{serverID}_env.cer",
"env": { /* 이용기관 서버 인증서 */
"certFile": "SVR3160269001_env.cer",
"privateKeyFile": "SVR3160269001_env.key",
"privateKeyPassword": "elddy5720@"
},
"sig": { /* 이용기관 서버 전자서명 */
"certFile": "SVR3160269001_sig.cer",
"privateKeyFile": "SVR3160269001_sig.key",
"privateKeyPassword": "elddy5720@"
}
}
xit-saeol.conf
intf-conf/xit-saeol.conf를 열어
- 전문 송수신을 위한 기본정보
- 수신파일 저장 디렉토리
등을 설정한다.
{
"charset": "UTF-8", /* 문자셋 이름 */
"deptCodes": ["12345"], /* 부서코드 */
"k_anc_code": "3150000", /* 기관코드 */
"k_anc_id": "SU44526786720", /* 연계 ID */
"k_anc_passwd": "ZUDDN1129404", /* 연계 비밀번호 */
// "logXml": "files/xml/{date}/{interfaceID}/{msgKey}.xml", /* xml 로그파일 이름 패턴, 로그파일을 남기지 않으려면 제거할 것 */
"logToDatabase": true, /* 전문 데이터베이스 사용 여부 */
"attachmentDir": "files/attachment/{date}", /* 첨부파일 디렉토리 경로 패턴, 전문 데이터베이스를 사용하지 않을 경우에만 유효 */
"sources": ["3160004"], /* 이용기관 정보 */
"target": { /* 제공기관 정보 */
"org": "3160004", /* 기관코드 */
"url": "http://98.17.2.101:3100/stmr/websvc/std/ws?wsdl={interfaceID}", /* 서비스 제공 URL, {interfaceID} = 연계 ID */
"certServer": "SVR3160000003" /* 세올행정 서버인증서 아이디 */
},
"minwonDates": 5 /* 민원목록 조회일자수(당일 포함) */
}
context-scheduler.xml
spring/context-scheduler.xml을 열어 업무별 작업 스케쥴을 설정한다.
업무별 파일작업의 스케쥴은 <bean id=”XXXTrigger” …/> 항목의 “cronExpression” 프로퍼티로 설정한다.
cronExpression 설정 참고: https://fmd1225.tistory.com/60
시작과 종료
xit-saeol-interface를
- 시작하려면 xit-saeol-interface.bat를 실행한다.
- 종료하려면 xit-saeol-interface 실행 콘솔에서 Ctrl+Z키를 누른다.
xit-saeol-interface.bat는
- 디폴트로 현재 로그파일(xit-saeol-interface.log)을 삭제하고 시작한다.
- 기존 로그파일에 이어서 로그를 저장하려면 해당부분의 코드를 제거한다.
연계 테스트
시스템은 swagger로 테스트를 실행할 수 있다.
시스템을 테스트하려면
- 시스템을 시작한다.
- 웹브라우저를 시작하고, http://호스트:포트/swagger-ui/index.html 페이지를 연다.
- 예) http://localhost:18080/swagger-ui/index.html 또는
- SSL이 적용되었으면 https://호스트:포트/swagger-ui/index.html
- 예) https://localhost:18080/swagger-ui/index.html
- 테스트 하려는 업무를 클릭한다.
- “Try it out” 버튼을 클릭하고 “Request body”에 요청정보를 입력한 후 “Execute” 버튼을 클릭한다.