(XML) SOAP 메시지

SOAP(Simple Object Access Protocol)는 잘 알려진 HTTP, HTTPS, SMTP 등을 통해 컴퓨터 네트워크에서 XML 기반 메시지를 교환하기 위한 프로토콜입니다.

현재는 레스트 방식 전송이 선호되지만 레스트가 등장하기 이전에는 SOAP를 사용했다.

SOAP만의 장점이 있고, SOAP -> rest로 전환하는데 비용적인 문제가 있기 때문에 아직도 많이 사용되는 곳이 많습니다.

SOAP는 웹 서비스에서 기본 메시지를 전달하기 위한 기반입니다.

SOAP에는 여러 종류의 메시지 패턴이 있지만 일반적으로 네트워크 노드(클라이언트)가 다른 노드(서버)에 메시지를 요청하면 서버가 즉시 News로 응답하는 RPC(원격 프로시저 호출) 패턴입니다.

SOAP는 XML을 기반으로 헤더와 본문을 결합한 디자인 패턴으로 설계되었습니다.

(헤더)에는 재시도, 보안 및 트랜잭션 정보를 포함한 선택적 메타 정보가 포함됩니다.

“본문” 부분에는 주요 정보인 정보가 포함되어 있습니다.


SOAP 형식 예

하나
2
4
5
6
7
8일
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?xml 실행=‘1.0’ 코딩=‘UTF-8’ ?>
<봉투:봉투 xmlns:env=“http://www.w3.org/2003/05/soap-envelope”>
<환경:헤더>
<남: 예약 xmlns:m=“http://travel company.example.org/reservation”
환경:역할=“http://www.w3.org/2003/05/soap-envelope/role/next”>
<m:참조>uuid:093a2da1-q345-739r-ba5d-pqff98fe8j7d</m:참조>
<m:날짜와 시간>2007-11-29T13:20:00.000-05:00</m:날짜와 시간>
</남: 예약>
<n: 승객 xmlns:n=“http://mycompany.example.com/employees”
환경:역할=“http://www.w3.org/2003/05/soap-envelope/role/next”>
<n:이름>프레드 블로그</n:이름>
</n: 승객>
</환경:헤더>
<환경:본문>
<p: 여정 xmlns:p=“http://여행사.example.org/reservation/travel”>
<피: 출발>
<p: 출발>뉴욕</p: 출발>
<피: 도착하다>로스 앤젤레스</피: 도착하다>
<p: 출발일>2007년 12월 14일</p: 출발일>
<p: 출발 시간>늦은 오후</p: 출발 시간>
<p: 선호 좌석>복도</p: 선호 좌석>
</피: 출발>
<피: 뒤로>
<p: 출발>로스 앤젤레스</p: 출발>
<피: 도착하다>뉴욕</피: 도착하다>
<p: 출발일>2007년 12월 20일</p: 출발일>
<p: 출발 시간>아침에</p: 출발 시간>
<p: 선호 좌석></p: 선호 좌석>
</피: 뒤로>
</p: 여정>
</환경:본문>
</봉투:봉투>
CS