Gramatyka SOAP

Moduły budowania SOAP

Komunikat SOAP to zwykły dokument XML, który zawiera następujące elementy:

  • Wymagany element Envelope, który oznacza ten dokument XML jako komunikat SOAP
  • Opcjonalny element Header, który zawiera informacje nagłówkowe
  • Wymagany element Body, który zawiera wszystkie informacje o wywołaniach i odpowiedziach
  • Opcjonalny element Fault, który dostarcza informacje o błędach, które wystąpiły podczas przetwarzania tego komunikatu

Wszystkie wymienione elementy są deklarowane w domyślnym przestrzeni nazw dla opakowania SOAP:

http://www.w3.org/2001/12/soap-envelope

oraz domyślną przestrzenią nazw dla kodowania SOAP i typów danych:

http://www.w3.org/2001/12/soap-encoding

Zasady gramatyczne

Oto kilka ważnych zasad gramatycznych:

  • Wiadomość SOAP musi być kodowana za pomocą XML
  • Wiadomość SOAP musi używać przestrzeni nazw SOAP Envelope
  • Wiadomość SOAP musi używać przestrzeni nazw SOAP Encoding
  • Wiadomość SOAP nie może zawierać odniesień do DTD
  • Wiadomość SOAP nie może zawierać instrukcji XML

Podstawowa struktura wiadomości SOAP

<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"
<soap:Header>
  ...
  ...
</soap:Header>
<soap:Body>
  ...
  ...
  <soap:Fault>
    ...
    ...
  </soap:Fault>
</soap:Body>
</soap:Envelope>