Java 웹서비스 호출

타 시스템 (ERP 등의 다른 외부 시스템)에서 제공하는 정보를 어떻게 가져 와서 보여줄 수 있을까요? 하나는 DB 대 DB로 select 하는 방법이 있을것이고 또 다른 하나는 타 시스템에서 제공하는 웹서비스를 호출하는 방식일 것입니다.


여기서는 타 시스템에서 웹서비스를 만들어주면 현재 프로젝트하고 있는 Java에서 어떻게 제공된 웹서비스를 호출할까요? 하여 오늘은 Java 웹서비스 호출에 대해서 알아보겠습니다.

** 환경은 STS + Tomcat

1. Referenced Libraries 설정


Referenced Libraries의 설정을 위 이미지와 같이 맞춰줘야 합니다.





2. 다음으로 웹 서비스를 호출하기 위한 인터페이스 및 기타 파일들을 만들어야 합니다.


동그라미 1번과 같이 작업하고 있는 해당 프로젝트를 선택하고 마우스 오른쪽 클릭을 하시면 2번의 메뉴 영역이 나타납니다. 여기서 "New"메뉴를 클릭하시면 또다시 오른쪽으로 동그라미3번과 같은 메뉴 영역이 나타납니다. 여기서 "Other..."을 클릭하세요.


그러면 위와 같은 창이 하나 띄워집니다.
수많은 형식의 파일을 지원하고 있습니다. 저희가 필요한것은 웹서비스에 관한것으로 동그라미4, 5번의 Web Services > Web Service Client 를 선택(마우스 왼쪽 클릭)하고 6번의 "Next>"버튼을 클릭합니다.


그러면 또다시 위와 같은 팝업창이 띄워집니다.
여기서는 타시스템에서 제공되는 웹서비스 주소를 등록하는 부분으로 7번에 정보를 받고 주는 웹서비스 주소(WSDL)를 입력합니다.

* 동그라미8번은 자동으로 어떤 파일까지 만들어주는지 설정하는 부분으로 8번 같이 최대로 올려 줍니다.

* 9번은 웹서비스 Monitor을 하겠냐는 체크박스로 해제하셔도 되고 체크하셔도 됩니다.

셋팅이 다 되었다면 10번의 "Finish" 버튼을 클릭하세요.






그라고나면 웹서비스 호출을 위해 만들어지는 패키지를 프로젝트 어느 위치에 만들것인가 설정하는 팝업창이 위와 같이 띄워집니다. 동그라미 11번의 "Next" 버튼 또는 "Finish" 버튼을 클릭하세요. 여기서는 "Next" 버튼을 클릭하겠습니다.


이제 거의 끝나갑니다.
위 팝업창은 만들어진 타시스템 웹서비스 호출 테스트를 위한 jsp 파일은 어느 위치에 만들것인가 설덩하는 팝업창 입니다. 12번의 "Finish" 버튼을 클릭하세요.


그러면 STS에 뭔가가 만들어지고 뭔가가 실행되고 할것입니다. 그리고는 위와 같은 웹 페이지를 띄워줍니다. 타시스템에서 제공한 웹서비스를 호출한 테스트 화면 입니다.


위의 과정으로 만들어진 웹서비스 호출 클라이언트 패키지는 동그라미13번과 같은 모양으로 만들어졌습니다.






자동으로 만들어지는 파일 중 가장 중요한 파일은 동그라미15번의 ~~~WS_BinderStub.java 파일 입니다.
* 해당 웹 화면에서 14번의 Main을 호출하고 14번이 15번 java 파일을 호출하고 호출된 15번은 16번의 매서드를 호출 합니다.


** 혹시 웹서비스를 호출하는데 no implementation defined for org.apache.commons.logging.logfactory 이런 에러가 발생한다면 17번의 코드를 해당 파일에 심어주셔야 합니다.

[참고 workSpace 다운로드]

이상으로 Java 웹서비스 호출에 대해서 알아보았습니다.
보시는 분들의 작은 도움이라도 되었음 좋겠네요...ㅎ

댓글

이 블로그의 인기 게시물

껌 떼는 법 (완벽 제거)

학점 계산기 (백분위 환산) 완벽 정리

[엑셀] 셀에 수식 적용하는 모든 것 완벽 정리