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バインディングはサービスの場所を指定します。