SOAP メッセージは、XML 文書としてエンコードされ、オプションの <Header> エレメント 1 つおよび必須の <Body> エレメント 1 つを含む 1 つの <Envelope> エレメントから成っています。 <Body> 内に含まれる <Fault> エレメントはエラーの報告に使用されます。
<Header> および <Body> 内の XML エレメントは、これらを使用するアプリケーションで定義されますが、それぞれの構造に対して、SOAP 仕様においていくつかの制約が設けられています。 以下の図は、SOAP メッセージの構造を示しています。
以下のコードは、ヘッダー・ブロック (<m:reservation> および <n:passenger> エレメント) および 1 つの本体 (<p:itinterary> エレメントが入っている) を収めた SOAP メッセージの例です。
<?xml version='1.0' Encoding='UTF-8' ?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
<env:Header>
<m:reservation xmlns:m="http://travelcompany.example.org/reservation"
env:role="http://www.w3.org/2003/05/soap-envelope/role/next">
<m:reference>uuid:093a2da1-q345-739r-ba5d-pqff98fe8j7d</m:reference>
<m:dateAndTime>2007-11-29T13:20:00.000-05:00</m:dateAndTime>
</m:reservation>
<n:passenger xmlns:n="http://mycompany.example.com/employees"
env:role="http://www.w3.org/2003/05/soap-envelope/role/next">
<n:name>Fred Bloggs</n:name>
</n:passenger>
</env:Header>
<env:Body>
<p:itinerary xmlns:p="http://travelcompany.example.org/reservation/travel">
<p:departure>
<p:departing>New York</p:departing>
<p:arriving>Los Angeles</p:arriving>
<p:departureDate>2007-12-14</p:departureDate>
<p:departureTime>late afternoon</p:departureTime>
<p:seatPreference>aisle</p:seatPreference>
</p:departure>
<p:return>
<p:departing>Los Angeles</p:departing>
<p:arriving>New York</p:arriving>
<p:departureDate>2007-12-20</p:departureDate>
<p:departureTime>mid-morning</p:departureTime>
<p:seatPreference></p:seatPreference>
</p:return>
</p:itinerary>
</env:Body>
</env:Envelope>