-
apache cxf 클라이언트 생성하기프로그래밍/Web Service 2020. 2. 22. 14:55반응형
웹서비스를 제공하는 서버(정보 제공자)는 WSDL을 함께 발행해준다.
WSDL이란 Web Services Description Language의 약자로 ‘웹서비스에 대한 정의서’이다. 이 WSDL에는 웹서비스에 대한 구체적인 내용이 들어있다. 서비스를 제공해주는 URI, 요청과 응답에 대한 메시지 포맷, 오퍼레이션 등이 기재되어있다. 클라이언트(정보 이용자)는 WSDL을 통해 서버(정보 제공자)와 통신을 한다.Apache CXF에서 제공해주는 라이브러리를 이용하여 웹서비스 클라이언트를 생성해보겠다.
1. wsdl 확인하기
http://localhost:8080/WS_Server_Persional_Info_by_cxf/PersonalInfo?wsdl
웹서비스 URL+?wsdl을 브라우저에서 호출해보면 다음과 같이 웹서비스에 대한 정의서를 확인할 수 있다.웹서비스의 wsdl을 확인할 수 없으면, 클라이언트 생성이 불가하니 브라우저로 확인하고 다음으로 진행한다.
웹서비스를 찾을 수 없다면 http://webservicex.net 사이트에서 제공해주는 웹서비스들이 많으니 참고해 본다.2. Apache CXF
라이브러리를 사용하기 위해 http://cxf.apache.org/download.html에서 cxf 라이브러리를 다운로드한다.
3. WSDL 제너레이터
CXF의 wsdl2java라는 제너레이터를 이용하면 웹서비스 제공자가 발행해주는 WSDL을 해석하여 자바 파일로 만들어준다.
http://cxf.apache.org/docs/wsdl-to-java.html콘솔로 변환할 수도 있지만, 이 글에선 이클립스의 간단한 설정으로 CXF에서 제공하는 제너레이터를 이용하겠다.
a) 이클립스 환경설정 – cxf
b) wsdl2java
웹서비스 제공자의 WSDL을 자바 파일로 변환해야 한다.– Service definition : wsdl url 혹은 로컬 PC에 저장된 wsdl파일을 선택한다.
– level : Deploy client까지 설정해주면 바로 테스트해볼 수 있는 자바 파일까지 생성하여 준다.
– Web service runtime : 해당 글자를 클릭하여 처음 설정해주었던 CXF로 변경한다.wsdl 제너레이터 설정에서 level을 Deploy client까지 주었다면 서비스이름+_Client.java 파일이 같이 생성될 것이다. 이 자바 파일을 확인해보면 main 메서드가 존재한다. value object의 값만 원하는 걸로 변경 후 자바 애플리케이션으로 실행해 보면 웹서비스 제공자에게 호출하는 걸 알 수 있다.
반응형'프로그래밍 > Web Service' 카테고리의 다른 글
wsdl2java 간편한 웹서비스 클라이언트 생성 (0) 2020.09.09 jax-ws 웹서비스 서버 구축하기 (0) 2020.02.22