Soap-envelope

提供:Dev Guides
移動先:案内検索

SOAP-エンベロープ

SOAPエンベロープはメッセージの開始と終了を示すため、メッセージ全体が受信されたことを受信者が知ることができます。 SOAPエンベロープは、メッセージの受信が完了し、メッセージを処理する準備ができたことを知る問題を解決します。 したがって、SOAPエンベロープは基本的にパッケージ化メカニズムです。

注意点

  • すべてのSOAPメッセージにはルートエンベロープ要素があります。
  • エンベロープは、SOAPメッセージの必須部分です。
  • すべてのEnvelope要素には、Body要素が1つだけ含まれている必要があります。
  • EnvelopeにHeader要素が含まれる場合、1つのみを含む必要があり、Bodyの前のEnvelopeの最初の子として表示される必要があります。
  • SOAPバージョンが変更されると、エンベロープが変更されます。
  • SOAPエンベロープは、_ENV_名前空間プレフィックスとEnvelope要素を使用して指定されます。
  • オプションのSOAPエンコーディングも、名前空間名とオプションの_encodingStyle_要素を使用して指定されます。これは、SOAP以外のエンコーディングスタイルを指すこともできます。
  • v1.1準拠のSOAPプロセッサは、v1.2エンベロープネームスペースを含むメッセージを受信するとエラーを生成します。
  • v1.2準拠のSOAPプロセッサは、v1.2エンベロープネームスペースを含まないメッセージを受信すると、_VersionMismatch_フォールトを生成します。

v1.2準拠のSOAPメッセージ

以下に、v1.2準拠のSOAPメッセージの例を示します。

<?xml version = "1.0"?>
<SOAP-ENV:Envelope
   xmlns:SOAP-ENV = "http://www.w3.org/2001/12/soap-envelope"
   SOAP-ENV:encodingStyle = " http://www.w3.org/2001/12/soap-encoding">
   ...
   Message information goes here
   ...
</SOAP-ENV:Envelope>

HTTP POSTを使用したSOAP

次の例は、HTTP POST操作内でSOAPメッセージを使用して、サーバーにメッセージを送信する方法を示しています。 エンベロープスキーマ定義およびエンコーディングルールのスキーマ定義のネームスペースを示しています。 HTTPヘッダーの_OrderEntry_参照は、finddevguides.com Webサイトで呼び出されるプログラムの名前です。

POST/OrderEntry HTTP/1.1
Host: www.finddevguides.com
Content-Type: application/soap;  charset="utf-8"
Content-Length: nnnn

<?xml version = "1.0"?>
<SOAP-ENV:Envelope
   xmlns:SOAP-ENV = "http://www.w3.org/2001/12/soap-envelope"
   SOAP-ENV:encodingStyle = " http://www.w3.org/2001/12/soap-encoding">
   ...
   Message information goes here
   ...
</SOAP-ENV:Envelope>

-HTTPバインディングはサービスの場所を指定します。