SOAP은 전송과는 상관이 없지만 대부분 기존 인터넷 인프라에서 실행할 수 있도록 HTTP를 통해 공통적으로 전송됩니다. SOAP은 메시지 라우팅을 위해 메시지 경로를 정의하여 바인딩 및 발견된 웹 서비스 사용을 가능하게 합니다. SOAP은 웹 서비스에 대해 UDDI를 조회하는 데 사용됩니다.
JAX-WS(Java™ API for XML Web Services) 표준에서는 SOAP 1.1과 SOAP 1.2 모두를 지원하는 기능을 소개합니다. 웹 서비스용 WebSphere® Application Server v6.1 기능팩이나 WebSphere Application Server 버전 7.0 또는 버전 8.0을 설치하면 워크벤치에서 SOAP 1.1 및 SOAP 1.2가 지원됩니다.
SOAP 1.1은 프로토콜에 구애받지 않는 전송으로서 다양한 프로토콜 조합으로 사용할 수 있습니다. WebSphere Application Server와 함께 사용하도록 개발되고 구현된 웹 서비스에서 SOAP는 HTTP, HTTP 확장자 프레임워크, JMS(Java Message Service)와 조합하여 사용됩니다. SOAP은 운영 체제와 상관이 없으며 프로그래밍 언어나 컴포넌트 기술에도 구애받지 않습니다. 클라이언트가 XML 메시지를 발행할 수 있는 경우 클라이언트 구현에 사용되는 기술은 문제가 되지 않습니다. 이와 유사하게 서비스가 SOAP 메시지를 처리할 수 있는 경우 모든 언어에서 구현 가능합니다. 또한 서버와 클라이언트측은 적절한 모든 플랫폼에 있을 수 있습니다.
SOAP은 모든 메시지의 세 가지 파트를 정의하는 XML 기반 프로토콜입니다.
SOAP은 두 개의 다른 통신 스타일을 지원합니다.
원격 프로시저 호출(RPC): RPC는 결과를 리턴하는 오퍼레이션 호출입니다. RPC는 일반적으로 WS-I를 준수하지 않는 SOAP 인코딩과 같이 사용됩니다.
문서 스타일: 문서 스타일은 문서 지향 또는 메시지 지향 스타일이라고도 합니다. 이 스타일에서는 추상의 낮은 계층을 제공하고 더 많은 프로그래밍 작업이 필요합니다.
분산 컴퓨팅 환경에서 인코딩 유형은 애플리케이션에 정의된 데이터 값인 특정 프로토콜 형식으로 변환되고 특정 프로토콜 형식에서 변환되는 방법을 정의합니다. 변환 프로세스는 직렬화 및 직렬화 해제라고도 합니다. SOAP 1.1 스펙은 SOAP 인코딩 유형을 정의합니다.
SOAP 인코딩: SOAP 인코딩 유형으로 SOAP 데이터 모델에서 데이터 유형 값을 직렬화/역직렬화할 수 있습니다. 이 인코딩 유형은 SOAP 1.1 표준에 정의되며 WS-I를 준수하지는 않습니다.
WSDL은 리터럴 XML 인코딩 유형을 정의합니다.
리터럴 XML: 리터럴은 문서를 현재 상태로 읽거나 인코딩하지 않아야 하는 사실을 기반으로 합니다. 문서는 XMI로 직렬화되며 메시지 XML은 WSDL의 스키마를 준수하게 됩니다. 리터럴 인코딩을 사용할 때 각 메시지 파트는 구체적 스키마 정의를 참조합니다. 리터럴 인코딩은 WS-I를 준수합니다.
SOAP 1.2는 WS-I(Web Services-Interoperability) 프로파일이 없는 경우 상호 운용성 문제를 발생시키기도 하는 대다수의 모호성을 제거해주는 SOAP 프로세스 모델링에 더 고유한 정의를 제공합니다. SOAP 1.2는 다른 벤더간의 SOAP 1.2 구현에 연관된 상호 운용성 문제를 줄여줍니다.
SOAP 1.1와 1.2간의 차이점에 대한 자세한 평가 자료에 대해서는 SOAP 차이점 개요를 참조하십시오.