La estructura de un mensaje SOAP
Un mensaje SOAP se codifica como un documento XML, que consta de un<Envelope>
, que contiene un elemento opcional<Header>
y un elemento obligatorio<Body>
. El<Fault>
elemento, contenido en<Body>
, se utiliza para notificar errores.
Elementos XML en<Header>
y<Body>
son definidas por las aplicaciones que hacen uso de ellas, aunque la especificación SOAP impone algunas restricciones en su estructura. En el siguiente diagrama se muestra la estructura de un mensaje SOAP.
El código siguiente es un ejemplo de un mensaje SOAP que contiene bloques de cabecera (el<m:reservation>
y<n:passenger>
elementos) y un cuerpo (que contenga la<p:itinterary>
).
<?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>