My/Job (개인작업물)

뿌리오(ppurio.com) 연동 라이브러리 교체

알찬돌삐 2014. 4. 22. 13:08

기존 운영중인 홈페이지를 다른 서버로 이전후 SMS, MMS 가 동작하지 않아 수정을 원한다는 요청을 받았다.

알고보니 기존 운영업체와 손을 끊고 다른 업체와 손을 잡자 기존 업체에서 SMS 를 끊어버린것이다.

다른 업체에서는 서버호스팅 업체에 의뢰하여 기존 운영데이터를 신규 서버로 옮긴후 동작하게 해두었다.

운영환경을 확인해보니

resin 3.0.27

apache 2.2.16

mysql 5.0

서버 LANG 은 ko_KR.EUCKR

홈페이지는 utf-8

mysql 언어셋은 euc-kr 


MMS 발송때문에 biz.ppurio.com 의 JAVA 라이브러리를 사용하고 있었다.

특이한것은 뿌리오 업체에 SMS, MMS 를 발송하기전에 기존 운영업체의 서버에서 일 발송 허용 건수 레코드를 가져와서 뿌리오 라이브러리를 호출하고 있었다.

뿌리오 접속정보도 홈페이지 업체가 아닌 운영업체의 아이디였다.

운영업체에서 SMS 를 발송해주고 클라이언트들에 대해서 요금을 징수하는 형태인가보다.


먼저 뿌리오에 회원가입을 먼저 한후 요금을 충전하였다.

그리고 운영업체 DB에 접속하여 SMS 발송내역을 다운받은후 신규 서버에 업로드했다.

기존 운영업체와 연결되는 부분을 제거한후 SMS 를 발송해보니,

SMS 는 정상적으로 발송이 되는데, MMS 의 한글이 ???????????? 이렇게 표시되었다.......

언어셋을 euc-kr 로 바꿔봐도 안되고 발송 부분만 따로 떼어서 UTF-8, EUC-KR 아무리 바꿔도 안되었다. 킁....


뿌리오 업체에 문의해보니 j_uds_lib.jar 파일을 교체하라고 한다.

해당 파일을 뿌리오에서 받은후 resin/lib 에 업로드하고나니 홈페이지가 아작났다.

헉!!!!!!!

jsp 소스가 그대로 나와버리는것이다. -_-;;

resin 을 잘 모르면서 그냥 손댄게 화근이었다.

업체에서는 난리가 났다. 하루 광고비가 엄청난데, 홈페이지가 깨져서 보이니... 이걸 어떻게 해야되냐고.

서버업체에도 문의를 해봤지만 자기들도 딱히 모르겠다고 한다.

이런 제길....

j_uds_lib.jar 파일을 다시 원복하고, resin , apache 를 재시작했는데도 안되었다.

2시간동안 낑낑거리다가 재시작을 계속 반복했는데, 어느순간 정상작동............

헐!!!!!!!


2시간동안 엄청 진땀을 빼서 그런지 너무 피곤했다.

하지만, 오기 발동.........


현재 운영중인 서버와 동일한 환경을 맞추어서 linux 를 세팅했다.

동일하게 j_uds_lib.jar 파일을 교체하니 jsp 파싱되지 않았다.

80 포트로 접속시에는 jsp 소스가 그대로 노출되고, resin 접속포트인 8080 으로 접속하니 그대로 잘 나왔다.

그렇다면, 이건 resin 과 apache 와 연결이 끊어진것이라 판단하고.

http://서버IP/caucho-status 로 접속하여 확인하니

Virtual Host : www.example.com

Virtual Host : www.example.com:80

이렇게 두개 있었다.




왜 같은 도메인이 두개 떠 있는지 이해가 가지 않아, 이리저리 검색해보니..

/tmp/localhost_6802 파일을 지우고 resin , apache 를 재시작하라는 글이 있었다.


해당 파일을 지우고 재시작하니.... 홈페이지가 따닥.

정상적으로 떴다...



MMS 발송테스트도 해보았는데 한글이 안 깨지고 잘 발송되었다.

결국 현재 서버와 뿌리오 연동모듈이 안 맞아서 그런것이다.


실 운영서버에 그대로 적용하고 했는데도 잘 안되어서, 확인하니,

홈페이지가 UTF-8 인데, 서블릿이 EUC-KR 이어서 그런것 같았다.


아래 명령어로 해당 파일을 직접 컴파일했다.

javac -classpath .:/usr/local/resin/lib/j_uds_lib.jar -encoding utf-8 com/xxxx/xxxx/메세지매니저.java


이틀동안 삽질한것이 해결되는순간...... 기쁘다.