SophiaFramework UNIVERSE 5.3 |
#include <SFXSOAPWriter.hpp>
class SFXSOAPWriter : public static_exception< SFCError >;
SFMTYPEDEFCLASS(SFXSOAPWriter)
SFXSOAPWriter クラスは、 SOAP メッセージ(SOAP Envelope)を作成するためのクラスです。
SOAP メッセージ(SOAP Envelope)について | |
---|---|
SOAP によるオブジェクト間通信でやり取りされるデータ(SOAP メッセージ)は、 プロトコルバインディングヘッダーと SOAP Envelope から構成されます。
プロトコルバインディングヘッダーには、実装するプロトコル毎に定められているヘッダー情報が記述されます。 SOAP Envelope は、 Envelope 要素(<SOAP-ENV:Envelope>)をルート要素(最上位要素)とする XML 文書のことで、 SOAP Header と SOAP Body から構成されます。 SOAP Header と SOAP Body の最上位要素はそれぞれ <SOAP-ENV:Header> と <SOAP-ENV:Body> になります。 つまり、Envelope 要素は、Header 要素(SOAP Header)と Body 要素(SOAP Body)を子要素に持ちます。 SOAP Header には、SOAP メッセージの受信者が SOAP Body に記述された情報をどのサーバーに渡し、 どのように処理するかといった情報が記述されます。SOAP Header は、SOAP Envelope に無くても構いません。 SOAP Body には、実際のメッセージが記され、SOAP Envelope には必須です。 例えば、SOAP-RPC の場合、この部分には Web サービスのメソッド名やパラメータ情報が記述されます。 |
関数呼び出しの順序 | |
---|---|
このクラスを使用して SOAP メッセージを作成するとき、 SFXSOAPWriter::SetBody / SFXSOAPWriter::SetEnvelope / SFXSOAPWriter::SetFault / SFXSOAPWriter::SetFaultDetail などの関数呼び出しの順序は任意です。 |
Simple Object Access Protocol ( SOAP ) の仕様 | |
---|---|
W3C SOAP 最新情報 : SOAP Version 1.2 Part 0: Primer (Second Edition) ( SOAP 1.1 と SOAP 1.2 をサポートしています。) ※ SOAP Attachment は実装されていません。また、SOAP Fault は SOAP 1.1 だけをサポートします。 |
例 849. SOAP メッセージの作成
SFXSOAPWriter soapwriter; // SOAP メッセージの各要素を生成するオブジェクト SFCError error; // エラー値を保存する変数 // Envelope 要素を作成する // 名前空間接頭辞: デフォルトは "SOAP-ENV" // SOAP バージョン: SFXSOAPParser::SOAP_VERSION_1_2 の場合、"http://www.w3.org/2003/05/soap-envelope" // SFXSOAPParser::SOAP_VERSION_1_1 の場合、"http://schemas.xmlsoap.org/soap/envelope/" // SOAP エンコーディング: "STANDARD" の場合、"http://schemas.xmlsoap.org/soap/encoding/" // "NONE" の場合、SOAP エンコーディングは何も指定しない SFXXMLElementPtr envelope = soapwriter.SetEnvelope("env", SFXSOAPParser::SOAP_VERSION_1_2, "STANDARD"); // Header 要素と Body 要素を作成する if (envelope) { // xmlns:m= "http://www.example.org/timeouts" 名前空間を追加する error = soapwriter.AddNamespace(envelope, "m", "http://www.example.org/timeouts"); // 名前空間が追加されているか確認する if(error != SFERR_NO_ERROR){ TRACE("-----Envelope_NAMESPACE_ERROR:%d-----", error); } // faultcode、faultstring、および faultactor 要素から構成される SOAP Fault 要素を設定する(デフォルトでは Body 要素の子要素となる) soapwriter.SetFault("testing-fault-code","testing-fault-string","testing-fault-actor"); // SOAP Fault 要素に detail 要素を設定する soapwriter.SetFaultDetail("STANDARD")->SetText("testing-fault-detail-message"); // Header 要素を設定する SFXXMLElementPtr header = soapwriter.SetHeader(); if (header) { // isbn:bookname="ワールドカップサッカー" 属性を追加する error = soapwriter.AddAttribute(header, "bookname", "http://www.example.com/ISBN", "ワールドカップサッカー", "isbn"); // 属性が追加されているか確認する if(error != SFERR_NO_ERROR){ TRACE("-----HEADER_ATTRIBUTE_ERROR:%d-----", error); } // xmlns:isbn="http://www.example.com/ISBN" 名前空間を追加する error = soapwriter.AddNamespace(header, "isbn", "http://www.example.com/ISBN"); // 名前空間が追加されているか確認する if(error != SFERR_NO_ERROR){ TRACE("-----HEADER_NAMESPACE_ERROR:%d-----", error); } // Header 要素に子要素 Upgrade を追加する // Upgrade 要素の名前空間は Header 要素と同じものに設定する SFXXMLElementPtr elem = soapwriter.SetElement(header, "Upgrade", header->GetNamespaceURI(), header->GetPrefix()); if (elem) { // Upgrade 要素に子要素 SupportedEnvelope を設定する elem = soapwriter.SetElement(elem, "SupportedEnvelope", header->GetNamespaceURI(), header->GetPrefix()); // SupportedEnvelope 要素の属性を追加する error = soapwriter.AddAttribute(elem, "qname", "http://schemas.xmlsoap.org/soap/envelope/", "ns1:Envelope"); // 属性が追加されているか確認する if(error != SFERR_NO_ERROR){ TRACE("-----UPGRADE_ATTRIBUTE_ERROR:%d-----", error); } // SupportedEnvelope 要素の名前空間を追加する error = soapwriter.AddNamespace(elem, "ns1", "http://schemas.xmlsoap.org/soap/envelope/"); // 名前空間が追加されているか確認する if(error != SFERR_NO_ERROR){ TRACE("-----UPGRADE_NAMESPACE_ERROR:%d-----", error); } } } // 作成した SOAP メッセージを保存する error = soapwriter.Save("soapwriter.xml"); // 保存されているか確認する if(error != SFERR_NO_ERROR){ TRACE("-----SOAP_SAVE_ERROR:%d-----", error); } }
例 850. 作成した SOAP メッセージ( soapwriter.xml )
<?xml version="1.0" encoding="UTF-8"?> <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:m="http://www.example.org/timeouts"> <env:Header isbn:bookname="ワールドカップサッカー" xmlns:isbn="http://www.example.com/ISBN"> <env:Upgrade> <env:SupportedEnvelope qname="ns1:Envelope" xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/"/> </env:Upgrade> </env:Header> <env:Body> <env:Fault> <faultcode>testing-fault-code</faultcode> <faultstring>testing-fault-string</faultstring> <faultactor>testing-fault-actor</faultactor> <detail env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">testing-fault-detail-message</detail> </env:Fault> </env:Body> </env:Envelope>
コンストラクタ/デストラクタ |
---|
SFXSOAPWriter( Void ) SFXSOAPWriter クラスのコンストラクタです。
|
~SFXSOAPWriter( Void ) SFXSOAPWriter クラスのデストラクタです。
|
パブリック関数 | |
---|---|
SFCError |
AddAttribute(
SFXXMLElementPtr element
, SFXAnsiStringConstRef name
, SFXAnsiStringConstRef uri = SFXAnsiString::EmptyInstance()
, SFXAnsiStringConstRef value = SFXAnsiString::EmptyInstance()
, SFXAnsiStringConstRef prefix = SFXAnsiString::EmptyInstance()
) 要素に属性を追加します。
|
SFCError |
AddNamespace(
SFXXMLElementPtr element
, SFXAnsiStringConstRef prefix
, SFXAnsiStringConstRef uri
) 要素に名前空間を追加します。
|
Void |
Reset( Void ) すべての内部変数をリセットします。
|
SFCError |
Save(
SFXAnsiStringConstRef output
, Bool indent = true
) SOAP メッセージを保存します。
|
SFCError |
Save(
SFXOutputStreamRef output
, Bool indent = true
) SOAP メッセージを保存します。
|
SFCError |
Save(
SFXPathConstRef output
, Bool indent = true
) SOAP メッセージを保存します。
|
SFXXMLElementPtr |
SetBody(
SFXAnsiStringConstRef encodingstyle = "NONE"
)
SOAP メッセージの Body 要素(SOAP Body)を設定します。
|
SFXXMLElementPtr |
SetElement(
SFXXMLElementPtr parent
, SFXAnsiStringConstRef name
, SFXAnsiStringConstRef uri = SFXAnsiString::EmptyInstance()
, SFXAnsiStringConstRef prefix = SFXAnsiString::EmptyInstance()
, SFXAnsiStringConstRef text = SFXAnsiString::EmptyInstance()
, SFXAnsiStringConstRef encodingstyle = "NONE"
) 要素に子要素を設定します。
|
SFXXMLElementPtr |
SetEnvelope(
SFXAnsiStringConstRef prefix = SFXAnsiString::EmptyInstance()
, SFXSOAPParser::SOAP_VERSION version = SFXSOAPParser::SOAP_VERSION_1_1
, SFXAnsiStringConstRef encodingstyle = "NONE"
) SOAP メッセージの Envelope 要素(SOAP Envelope)を設定します。
|
SFXXMLElementPtr |
SetFault(
SFXAnsiStringConstRef faultcode
, SFXAnsiStringConstRef faultstring
, SFXAnsiStringConstRef faultactor = SFXAnsiString::EmptyInstance()
)
SOAP メッセージの Fault 要素(SOAP Fault)を設定します。
|
SFXXMLElementPtr |
SetFaultDetail(
SFXAnsiStringConstRef encodingstyle = "NONE"
)
SOAP メッセージの Fault 要素(SOAP Fault)の子要素として detail 要素を設定します。
|
SFXXMLElementPtr |
SetHeader(
SFXAnsiStringConstRef encodingstyle = "NONE"
)
SOAP メッセージの Header 要素(SOAP Header)を設定します。
|
[ public, explicit ] SFXSOAPWriter(Void);
このコンストラクタは、内部変数(Envelope / Header / Body / Envelope 要素)を null に初期化します。
[ public ] ~SFXSOAPWriter(Void);
このデストラクタは、何も行いません。
[ public ] SFCError AddAttribute( SFXXMLElementPtr element // 要素 SFXAnsiStringConstRef name // 属性のローカル名 SFXAnsiStringConstRef uri = SFXAnsiString::EmptyInstance() // 属性の名前空間 URI SFXAnsiStringConstRef value = SFXAnsiString::EmptyInstance() // 属性の値 SFXAnsiStringConstRef prefix = SFXAnsiString::EmptyInstance() // 属性の名前空間接頭辞 );
この関数は、指定された要素に指定された属性を追加します。
[ public ] SFCError AddNamespace( SFXXMLElementPtr element // 要素 SFXAnsiStringConstRef prefix // 名前空間接頭辞 SFXAnsiStringConstRef uri // 名前空間 URI );
この関数は、指定された要素に指定された名前空間(名前空間接頭辞と名前空間 URI)を追加します。
注意 | |
---|---|
この関数は、指定された要素(Element ノード)に属性名が名前空間接頭辞、 属性値が名前空間 URI である属性(Attribute ノード)を追加します。 属性名の名前空間接頭辞は、prefix 引数に指定された文字列が空の場合は "xmlns"、 そうでない場合は "xmlns:(prefix 引数に指定された文字列)" にそれぞれ内部的に変換されます。 |
[ public ] Void Reset(Void);
この関数は、 この SOAP メッセージ(Document ノード)からすべての子要素(子ノード)を削除し、 内部変数(Envelope / Header / Body / Envelope 要素)を null に初期化(リセット)します。
[ public ] SFCError Save( SFXAnsiStringConstRef output // ファイル名 Bool indent = true // インデントするかどうか );
[ public ] SFCError Save( SFXOutputStreamRef output // ストリーム Bool indent = true // インデントするかどうか );
[ public ] SFCError Save( SFXPathConstRef output // ファイルパス Bool indent = true // インデントするかどうか );
この関数は、SOAP メッセージ(DOM ツリー)を指定されたファイルやストリームに保存します。
DOM ツリーは、ノード毎に改行して書き込まれます。
indent 引数を true(デフォルト)に指定すると、 DOM ツリーの各ノードはツリー上のレベルに応じて(ツリーのレベル)× 2 のスペースでインデントして書き込まれます。 false を指定すると、インデントは行われません。
ファイルパスのデフォルトのディレクトリは、 アプリのホームディレクトリです。
[ public ] SFXXMLElementPtr SetBody( SFXAnsiStringConstRef encodingstyle = "NONE" // SOAP エンコーディングの値 );
SOAP エンコーディングの値を指定します(デフォルト値: "NONE")。
Body 要素(Element ノード)
この関数を実行後、 static_exception::static_catch 関数により取得できる、エラー値は以下の通りです。
この関数は、SOAP メッセージの Body 要素(SOAP Body)を設定します。
SOAP Body は、SOAP メッセージの Envelope 要素(SOAP Envelope)の子要素です。 SOAP Envelope の子要素に Header 要素(SOAP Header)が存在する場合、 SOAP Body は SOAP Header の後に追加されます。
encodingstyle 引数に指定できる SOAP エンコーディングの値は、以下の通りです。
値 | 意味 |
---|---|
"NONE" | SOAP エンコーディングは何も指定されません。 |
"STANDARD" | "http://schemas.xmlsoap.org/soap/encoding/" を意味します。 |
SOAP エンコーディング | |
---|---|
SOAP エンコーディングとは、文字のエンコーディングのことではなく、 SOAP メッセージで使うデータ型を XML 形式としてどのように表現するかを定めるものです。 通常、SOAP エンコーディングは、URI " http://schemas.xmlsoap.org/soap/envelope/ " で定義されるものを使います。 W3C Simple Object Access Protocol (SOAP) 1.1: SOAP Encoding |
注意 | |
---|---|
具体的な処理内容は、以下の通りです。
|
注意 | |
---|---|
SOAP Envelope が存在しない場合、 デフォルトの SOAP Envelope が作成され変更することはできないので、 特定の設定を SOAP Envelope に行いたい場合は、 この関数を呼び出す前に SFXSOAPWriter::SetEnvelope 関数を呼び出す必要があります。 この関数を呼び出す前に SOAP Body が既に存在する場合は、 設定は何も行われず、既存の SOAP Body(Element ノード)を返すだけです。 |
SFXSOAPWriter::SetEnvelope | SFXSOAPWriter::SetHeader | SFXXMLDocument::CreateElement | SFXXMLElement::SetAttribute
[ public ] SFXXMLElementPtr SetElement( SFXXMLElementPtr parent // 親要素 SFXAnsiStringConstRef name // 子要素のローカル名 SFXAnsiStringConstRef uri = SFXAnsiString::EmptyInstance() // 子要素の名前空間 URI SFXAnsiStringConstRef prefix = SFXAnsiString::EmptyInstance() // 子要素の名前空間接頭辞 SFXAnsiStringConstRef text = SFXAnsiString::EmptyInstance() // 子要素のテキスト内容 SFXAnsiStringConstRef encodingstyle = "NONE" // 子要素の SOAP エンコーディングの値 );
親要素を指定します。
子要素のローカル名を指定します。
子要素の名前空間 URI を指定します(デフォルト値: 空文字列)。
子要素の名前空間接頭辞を指定します(デフォルト値: 空文字列)。
子要素のテキスト内容を指定します(デフォルト値: 空文字列)。
SOAP エンコーディングの値を指定します(デフォルト値: "NONE")。
子要素(Element ノード)
この関数を実行後、 static_exception::static_catch 関数により取得できる、エラー値は以下の通りです。
この関数は、parent 引数に指定された親要素にその他の引数に指定された内容を持つ子要素を設定します。
Tip | |
---|---|
この関数を使用して、SOAP Header や SOAP Body の子孫要素を作成します。 |
子要素の内容として指定する引数は以下の通りです。
引数名 | 内容 | デフォルト値 |
---|---|---|
name | 子要素のローカル名 | − |
uri | 子要素の名前空間 URI | 空文字列 |
prefix | 子要素の名前空間接頭辞 | 空文字列 |
text | 子要素のテキスト内容 | 空文字列 |
encodingstyle | 子要素の SOAP エンコーディングの値 | "NONE" |
encodingstyle 引数の SOAP エンコーディングとして指定する値の意味は以下の通りです。
値(文字列) | 意味 |
---|---|
"NONE" | SOAP エンコーディングは何も指定されません(デフォルト)。 |
"STANDARD" | "http://schemas.xmlsoap.org/soap/encoding/" を意味します。 |
SOAP エンコーディング | |
---|---|
SOAP エンコーディングとは、文字のエンコーディングのことではなく、 SOAP メッセージで使うデータ型を XML 形式としてどのように表現するかを定めるものです。 通常、SOAP エンコーディングは、URI " http://schemas.xmlsoap.org/soap/envelope/ " で定義されるものを使います。 W3C Simple Object Access Protocol (SOAP) 1.1: SOAP Encoding |
注意 | |
---|---|
具体的な処理内容は、以下の通りです。
|
SFXXMLDocument::CreateElement | SFXXMLDocument::CreateElementNS | SFXXMLElement::AppendChild | SFXXMLElement::SetAttribute
[ public ] SFXXMLElementPtr SetEnvelope( SFXAnsiStringConstRef prefix = SFXAnsiString::EmptyInstance() // Envelope 要素の名前空間接頭辞 SFXSOAPParser::SOAP_VERSION version = SFXSOAPParser::SOAP_VERSION_1_1 // SOAP メッセージのバージョン SFXAnsiStringConstRef encodingstyle = "NONE" // Envelope 要素の SOAP エンコーディングの値 );
Envelope 要素の名前空間接頭辞です(デフォルト値: "SOAP-ENV")。
SOAP メッセージのバージョンです(デフォルト値: SFXSOAPParser::SOAP_VERSION_1_1)。
SOAP エンコーディングの値を指定します(デフォルト値: "NONE")。
Envelope 要素(Element ノード)
この関数を実行後、 static_exception::static_catch 関数により取得できる、エラー値は以下の通りです。
この関数は、SOAP メッセージの Envelope 要素(SOAP Envelope)を設定します。
prefix 引数には、Envelope 要素の名前空間接頭辞を指定します(デフォルト値: "SOAP-ENV")。
version 引数には、SOAP メッセージのバージョンを指定します(デフォルト値: SFXSOAPParser::SOAP_VERSION_1_1)。 この引数に指定する SOAP メッセージのバージョンに応じて、 prefix 引数で指定した Envelope 要素の名前空間接頭辞に対応する名前空間 URI が以下のように設定されます。
SOAP メッセージのバージョン(定数) | 名前空間 URI |
---|---|
SFXSOAPParser::SOAP_VERSION_1_1(デフォルト) | http://schemas.xmlsoap.org/soap/envelope/ |
SFXSOAPParser::SOAP_VERSION_1_2 | http://www.w3.org/2003/05/soap-envelope |
encodingstyle 引数には SOAP エンコーディングを指定します。 以下の値を設定することも可能です(デフォルトは "NONE" です)。
値(文字列) | 意味 |
---|---|
"NONE" | SOAP エンコーディングは何も指定されません(デフォルト)。 |
"STANDARD" | "http://schemas.xmlsoap.org/soap/encoding/" を意味します。 |
SOAP エンコーディング | |
---|---|
SOAP エンコーディングとは、文字のエンコーディングのことではなく、 SOAP メッセージで使うデータ型を XML 形式としてどのように表現するかを定めるものです。 通常、SOAP エンコーディングは、URI " http://schemas.xmlsoap.org/soap/envelope/ " で定義されるものを使います。 W3C Simple Object Access Protocol (SOAP) 1.1: SOAP Encoding |
注意 | |
---|---|
具体的な処理内容は、以下の通りです。
|
注意 | |
---|---|
この関数を呼び出す前に SOAP Envelope が既に存在する場合は、 設定は何も行われず、既存の SOAP Envelope(Element ノード)を返すだけです。 この関数を呼び出す前に、 SFXSOAPWriter::SetHeader / SFXSOAPWriter::SetBody / SFXSOAPWriter::SetFault 関数を呼び出すと、 デフォルトの設定で SOAP Envelope 要素が作成され設定を変更できないことに注意してください。 |
SFXSOAPWriter::SetHeader | SFXSOAPWriter::SetBody | SFXSOAPWriter::SetFault | SFXXMLDocument::CreateElementNS | SFXXMLElement::SetAttribute | SFXXMLElement::AppendChild | SFXSOAPParser::SOAP_VERSION
[ public ] SFXXMLElementPtr SetFault( SFXAnsiStringConstRef faultcode // faultcode 要素のテキスト SFXAnsiStringConstRef faultstring // faultstring 要素のテキスト SFXAnsiStringConstRef faultactor = SFXAnsiString::EmptyInstance() // faultactor 要素のテキスト );
faultcode 要素の値を指定します。
faultstring 要素の値を指定します。
faultactor 要素の値を指定します。
Fault 要素(Element ノード)
この関数を実行後、 static_exception::static_catch 関数により取得できる、エラー値は以下の通りです。
この関数は、SOAP メッセージの Fault 要素(SOAP Fault)を設定します。
SOAP Fault は、SOAP メッセージの Envelope 要素(SOAP Envelope)の子要素(SOAP Body)の子要素です。 SOAP Fault は、faultcode / faultstring / faultactor / fault 要素を子要素として持ちますが、 この関数は、faultcode / faultstring / faultactor 要素を設定します。 detail 要素は、SFXSOAPWriter::SetFaultDetail 関数を呼び出して設定します。
なお、SOAP Fault は SOAP Body 内に 1 つしか存在できません。 faultcode / faultstring / faultactor / detail 要素は、この順序で SOAP Fault の子要素となりますが、 これらの要素には、エラーの状態や詳細を記述します。 詳しくは、SFXSOAPParser::GetFault を参照してください。
注意 | |
---|---|
具体的な処理内容は、以下の通りです。
|
注意 | |
---|---|
SOAP Envelope が存在しない場合、 デフォルトの SOAP Envelope が作成され変更することはできないので、 特定の設定を SOAP Envelope に行いたい場合は、 この関数を呼び出す前に SFXSOAPWriter::SetEnvelope 関数を呼び出す必要があります。 SOAP Body が存在しない場合、 デフォルトの SOAP Body が作成され変更することはできないので、 SOAP Body に特定の設定を行いたい場合は、 この関数を呼び出す前に SFXSOAPWriter::SetBody 関数を呼び出す必要があります。 この関数を呼び出す前に SOAP Fault が既に存在する場合は、 設定は何も行われず、既存の SOAP Fault(Element ノード)を返すだけです。 |
SFXSOAPWriter::SetEnvelope | SFXSOAPWriter::SetBody | SFXXMLDocument::CreateElement | SFXXMLNode::SetText | SFXXMLElement::AppendChild
[ public ] SFXXMLElementPtr SetFaultDetail( SFXAnsiStringConstRef encodingstyle = "NONE" // SOAP エンコーディングの値 );
SOAP エンコーディングの値を指定します(デフォルト値: "NONE")。
detail 要素(Element ノード)
この関数を実行後、 static_exception::static_catch 関数により取得できる、エラー値は以下の通りです。
この関数は、SOAP メッセージの Fault 要素(SOAP Fault)の子要素として detail 要素を設定します。
detail 要素は、SOAP メッセージの Envelope 要素(SOAP Envelope)の子要素(SOAP Body)の子要素(SOAP Fault)の子要素です。
encodingstyle 引数に指定できる SOAP エンコーディングの値は、以下の通りです。
値 | 意味 |
---|---|
"NONE" | SOAP エンコーディングは何も指定されません。 |
"STANDARD" | "http://schemas.xmlsoap.org/soap/encoding/" を意味します。 |
SOAP エンコーディング | |
---|---|
SOAP エンコーディングとは、文字のエンコーディングのことではなく、 SOAP メッセージで使うデータ型を XML 形式としてどのように表現するかを定めるものです。 通常、SOAP エンコーディングは、URI " http://schemas.xmlsoap.org/soap/envelope/ " で定義されるものを使います。 W3C Simple Object Access Protocol (SOAP) 1.1: SOAP Encoding |
注意 | |
---|---|
具体的な処理内容は、以下の通りです。
|
SFXSOAPWriter::SetEnvelope | SFXSOAPWriter::SetBody | SFXSOAPWriter::SetFault | SFXXMLDocument::CreateElement | SFXXMLElement::SetAttribute
[ public ] SFXXMLElementPtr SetHeader( SFXAnsiStringConstRef encodingstyle = "NONE" // SOAP エンコーディングの値 );
SOAP エンコーディングの値を指定します(デフォルト値: "NONE")。
Header 要素(Element ノード)
この関数を実行後、 static_exception::static_catch 関数により取得できる、エラー値は以下の通りです。
この関数は、SOAP メッセージの Header 要素(SOAP Header)を設定します。
SOAP Header は、SOAP メッセージの Envelope 要素(SOAP Envelope)の子要素です。 SOAP Envelope の子要素に Body 要素(SOAP Body)が存在する場合、 SOAP Header は SOAP Body の前に挿入されます。
encodingstyle 引数に指定できる SOAP エンコーディングの値は、以下の通りです。
値 | 意味 |
---|---|
"NONE" | SOAP エンコーディングは何も指定されません。 |
"STANDARD" | "http://schemas.xmlsoap.org/soap/encoding/" を意味します。 |
SOAP エンコーディング | |
---|---|
SOAP エンコーディングとは、文字のエンコーディングのことではなく、 SOAP メッセージで使うデータ型を XML 形式としてどのように表現するかを定めるものです。 通常、SOAP エンコーディングは、URI " http://schemas.xmlsoap.org/soap/envelope/ " で定義されるものを使います。 W3C Simple Object Access Protocol (SOAP) 1.1: SOAP Encoding |
注意 | |
---|---|
具体的な処理内容は、以下の通りです。
|
注意 | |
---|---|
SOAP Envelope が存在しない場合、 デフォルトの SOAP Envelope が作成され変更することはできないので、 特定の設定を SOAP Envelope に行いたい場合は、 この関数を呼び出す前に SFXSOAPWriter::SetEnvelope 関数を呼び出す必要があります。 この関数を呼び出す前に SOAP Header が既に存在する場合は、 設定は何も行われず、既存の SOAP Header(Element ノード)を返すだけです。 |
Copyright(c) 2002 - 2024 Sophia Cradle Incorporated All Rights Reserved. |