웹 개발

Apache cxf를 이용한 SOAP XML 통신 Client

노루아부지 2019. 11. 15. 22:54

업무를 하다보면 업체끼리 또는 프로그램끼리 API 통신을 해야 할 경우가 많습니다.

API 통신에는 크게 SOAP과 REST가 있는데 SOAP의 대안으로 나온 것이 RESTful 입니다.

 

위키에는 아래와 같이 정의되어 있습니다.

 

SOAP

SOAP(Simple Object Access Protocol)은 일반적으로 널리 알려진 HTTP, HTTPS, SMTP 등을 통해 XML 기반의 메시지를 컴퓨터 네트워크 상에서 교환하는 프로토콜이다.

 

REST

REST(Representational State Transfer)는 월드 와이드 웹과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식이다. REST 원리를 따르는 시스템은 종종 RESTful이란 용어로 지칭된다.

 

 

조금 더 내용을 보충하자면 SOAP는 SOA 개념을 실현하기 위한 기술이고, REST는 ROA 개념의 기술이라고 보면 됩니다.

 

그렇다면 SOA와 ROA는 무엇일까요?

위키에는 아래와 같이 정의되어 있습니다.

 

SOA

서비스 지향 아키텍쳐(SOA, Service Oriented Architecture)란 대규모 컴퓨터 시스템을 구축할 때의 개념으로 업무상에 일 처리에 해당하는 소프트웨어 서비스로 판단하여 그 서비스를 네트워크상에 연동하여 시스템 전체를 구축해 나가는 방법론이다.

 

ROA

자원 지향 아키텍쳐(Resource Oriented Architecture)으로, 소프트웨어 공학에서 리소스 지향 아키텍처(ROA)는 "RESTful" 인터페이스 자원의 형태로 소프트웨어를 설계 및 개발을 위한 소프트웨어 아키텍처와 프로그래밍 패러다임의 스타일이다. 이러한 리소스는 다른 요도로 재사용 될 수 있는 소프트웨어 구성 요소(부호의 개별 조각 및 / 또는 데이터구조)이다. ROA 설계 원칙과 지침은 소프트웨어 개발 및 시스템 통합의 단계에서 사용된다.

 

 

아래부터는 STS에서 Client를 생성하는 방법입니다.

 

1. apache cxf 2.6.2 버전 (apache-​cxf-2.6.2.zip) 다운로드 ( https://archive.apache.org/dist/cxf/2.6.2/ )

2. spring legacy spring legacy project > Spring MVC project 생성

 

3. [Window > Preferences] 메뉴에서 Web services에 Apache CXF 2.x 등록

3.1. Server and Runtime에 Apache CXF 2.x 등록

 

3.2. CXF 2.x Preferences에 경로 지정

 

4. 프로젝트 우클릭 > New > Other > Web Services > Web Service Client 선택 후 Next

5. 내용 입력

  • Service definition에 서버의 wsdl 주소 입력
  • Web service runtime을 Apache CXF 2.x로 변경

6. 여기까지 정상적으로 진행되었으면 패키지 및 java 파일들이 아래 이미지와 같이 자동 생성된다.

 

7. DeptProcess_DeptProcessImplPort_Client.java를 참조하여 나머지 코드를 개발한다.

728x90
loading