SOAP(2) - Backend에서 SOAP Service 사용하기

kukjunLEE·2024년 1월 14일
0

Protocol

목록 보기
2/3
post-thumbnail

본 내용은 Backend Framework에서 SOAP를 사용하는 방법에 대해서 설명하고 있습니다. SOAP에 대해 더 알고 싶으신 분은 SOAP(1)를 보고 와주세요 :)




1. SOAP 간단한 정리


SOAP는 XML 메시지 형식으로, 웹 서비스 전송 시 사용하는 프토토콜입니다.

사용하는 이유는, 고 수준의 보안을 제공할 수 있기 때문에, 금융기관이나 규제기관 같이 고 수준의 보안을 필요로 하는 곳에서 사용한다고 합니다.

만약 SOAP를 이용한 외부 Service를 이용해야 한다면, 우리도 SOAP Service에게 요청을 보내고 응답을 받아 처리할 수 있어야 합니다.

Backend Server가 존재하고, 외부 SOAP Service를 이용해야하는 상황을 가정해서 진행하도록 하겠습니다.





2. SOAP API 제공 위치


공공 데이터 포털에서, SOAP로 서비스하는 영역이 있습니다. 물론 제가 1편에서 말한것처럼 식약처에서도 SOAP를 사용하고 있구요.

하지만 식약처에서는 개인이 허가를 받기 어려우니, 공공 데이터 포털을 이용해서 SOAP를 이용한 통신을 테스트 해보는 것을 추천합니다.

그 외에도 SOAP로 제공되는 많은 서비스들이 있습니다만, SOAP 통신 방식은 대부분 비슷합니다.





3. Backend에서 SOAP를 사용하게 되는 Flow


Backend에서 SOAP 통신을 이용하게 되면 어떻게 구현하게 될까요?

SOAP_Flow

1편에서 SOAP 통신 방식을 설명한 내용입니다.
Client, Service Broker, Service Provider를 통해서 통신을 진행한다고 했었죠.
여기에서 Backend를 이용해서 통신을 하게된다면 다음과 같은 구조로 변하게 됩니다.




Backend_SOAP_Flow

Backend는 외부 라이브러리를 통해서 SOAP Client를 가지게 됩니다.
해당 Client를 통해서 SOAP 통신 방식을 구현한 서버와의 통신을 진행하게 됩니다.

Flow만 보면 단순하게 처리하면 되는 것처럼 보이지만, 실제로는 Backend에서는 추가적으로 해주어야 할 작업이 있습니다.

  1. SOAP 통신의 요청 시, SOAP Broker가 원하는 형태로 요청을 구성해야 합니다.
  2. SOAP 통신의 응답 시, 전달받은 XML을 변환 해, Backend에서 처리할 수 있는 형태로 가공해야 합니다.


다음에는 Spring과 Nestjs 각각 어떻게 SOAP Client를 생성해서 통신하는지 위에서 설명한 공공 데이터 포탈의 API를 이용해서 예제를 만들어보도록 하겠습니다.

profile
Backend Developer

0개의 댓글