SOAP Header 要素
SOAP Header要素は、ヘッダー情報を含んでいます。
SOAP Header要素
任意のSOAP Header要素はSOAPメッセージに関してアプリケーション特有の(認証、支払いなどのような)情報を含んでいます。
Header要素が存在すれば、Envelope要素の最初の子供要素でなければなりません。
注: Header要素の直下の全子供要素は、名前空間名付きでなければなりません。
<?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>
<m:Trans xmlns:m="http://www.w3schools.com/transaction/"
soap:mustUnderstand="1">234
</m:Trans>
</soap:Header>
...
...
</soap:Envelope>
|
上記例は、値が1の"mustUnderstand"属性と値が234の"Trans"要素を持つヘッダを含んでいます。
SOAPはデフォルト名前空間(「http://www.w3.org/2001/12/soap-envelope」)で3つの属性を定義します。属性は次の通りです: mustUnderstand,
actor, 及び encodingStyle。
SOAPヘッダにおいて定義された属性は、どのように受取人がSOAPメッセージを処理すべきかを定義します。
mustUnderstand 属性
ヘッダーエントリーは、処理することが強制的か任意であるかを受取人に示すのにSOAP mustUnderstand属性を使用できます。
もしmustUnderstand="1"をヘッダ要素の子供要素に追加すれば、ヘッダを処理する受信者が、要素を認識しなければならないことを示します。 もし受信者が要素を認識しなければ、それは、ヘッダを処理する時に失敗します。
構文
soap:mustUnderstand="0|1"
|
例
<?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>
<m:Trans xmlns:m="http://www.w3schools.com/transaction/"
soap:mustUnderstand="1">234
</m:Trans>
</soap:Header>
...
...
</soap:Envelope>
|
actor 属性
SOAP メッセージは、メッセージパスに沿って異なるエンドポイントを通ることで、送信者から受信者へ伝わるかもしれません。
しかし、 SOAPメッセージの全ての部分が最終的なエンドポイントを意図しないかもしれず、その代わりに、メッセージパスの一つ以上のエンドポイントを意図するかもしれません。
SOAP actor 属性は、Header要素を特定のエンドポイントに向けるのに用いられます。
構文
例
<?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>
<m:Trans xmlns:m="http://www.w3schools.com/transaction/"
soap:actor="http://www.w3schools.com/appml/">234
</m:Trans>
</soap:Header>
...
...
</soap:Envelope>
|
encodingStyle 属性
encodingStyle属性は、文書で使われるデータ型を定義するのに用いられます。
この属性はいかなるSOAP要素にも出現でき、要素の内容とすべての子供要素に適用されます。
SOAPメッセージはデフォルトのエンコーディングを持っていません。
構文
|