Soap.OPConvert.TSOAPConvertOptions

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

type TSOAPConvertOptions = set of TSOAPConvertOption;

プロパティ

種類 可視性 ソース ユニット
set public Soap.OPConvert.pas Soap.OPConvert Soap.OPConvert

説明

TSOAPConvertOptionsTSOAPConvertOption は、SOAP エンコーディングとネイティブ メソッド呼び出しとの間の変換をカスタマイズするフラグを表します。

TSOAPConvertOptions は、TSOAPConvertOption の値のセットです。TSOAPConvertOption 値は、ネイティブ コードとその SOAP 表現とを変換するときに TSOAPDomConv が行う変換を制御するフラグです。次の表に、指定可能な値を示します。



オプション 意味

soSendUntyped

ネイティブ型から SOAP に変換するときに、型属性を含めません。Web サービス アプリケーションのなかには、SOAP 要求に含める型情報を必要とせず、単純に値が関数シグニチャに一致するとみなすものがあります。

soSendMultiRefObj

ネイティブ型から SOAP に変換するときに、複数の参照が同じオブジェクトをいつ参照するのかを示します。つまり、オブジェクトを単純に構造体として扱うのではなく、その ID がオブジェクト参照に基づくと考えてオブジェクトを扱います。その場合、ID はそのプロパティの値にのみ基づきます。

soSendMultiRefArray

ネイティブ型から SOAP に変換するときに、複数の参照が同じ配列をいつ参照するのかを示します。つまり、配列を単純に構造体として扱うのではなく、その ID が配列参照に基づくと考えて配列を扱います。その場合、ID はその要素の値にのみ基づきます。

soTryAllSchema

SOAP からネイティブ型に変換するときに、TSOAPDomConv は、デフォルトで、xml スキーマ定義がアプリケーションに関連付けられる xml スキーマになると想定します。SOAP 要求が他の xml スキーマを使用して標準型を定義する可能性がある場合は、soTryAllSchema を含めます。こうすると、TSOAPDomConv は xml スキーマ ユニットに定義されているすべてのスキーマ ドキュメントを確認し、型定義を探すようになります。

soRootRefNodesToBody

ネイティブ型から SOAP に変換するときに、複数の参照はすべて、最初のインスタンスの兄弟としてではなく、<soap:body> タグの子として表示されます。このオプションを推奨する理由は、Web サービス プロバイダのなかには、body タグをルートとする複数の参照を必要とするものがあり、このフラグが含まれていないと要求を理解できないからです。

soDocument

SOAP からネイティブ型に変換するときに、要求がリモート プロシージャ呼び出し(RPC)ではなく、ドキュメントとしてエンコードされていると想定します。このオプションは、ドキュメント サーバーと通信する場合に使用します。

soReturnSuccessForFault

サーバーが SOAP フォルト パケットを生成するときは、応答メッセージにエラー ステータス コードを持たせることはせず、成功(200)を示すようにしてください。こうすると、HTTP 応答が成功を示さない場合にサーバーはフォルト パケットをクライアントに送信し、クライアントから例外を生成することができます。

soUTF8InHeader

ネイティブ型から SOAP に変換するときに、SOAP ヘッダーをインクルードし、SOAP パケットでは UTF8 エンコーディング スタイルを使用することを示します。SOAP 仕様では、デフォルトのエンコーディング スタイルとして UTF8 を扱わないので、このヘッダーは厳密な意味で必要です。しかし、Web サービス アプリケーションのなかには、このヘッダーを使用しないものがあります。

soDontSendEmptyNodes

ネイティブ型から SOAP に変換するときに、空の文字列、空の配列、または nil(Delphi の場合)または NULL(C++ の場合)のオブジェクト参照の要素を含めません。

soCacheMimeResponse

応答を SOAP からネイティブ型に変換するときに、バインディング型(TWebServiceBindingType)で応答が MIME エンコーディングを使用することを示す場合は、受信する応答の内容をメモリではなく一時ファイルに格納します。これは、MIME エンコーディングが添付ファイルの存在を示し、そのサイズの非常に大きい可能性があるからです。想定される添付ファイルのサイズが小さいとわかっている場合にのみ、このフラグを削除します。

soDontClearOutBoundHeaders

ネイティブ型から SOAP に変換するときに、SOAP 表現を生成した後、ヘッダーを表すクラスはどれも解放しないでください。

soCustomFaultAtDetailsNode

SOAP フォルト パケットを生成して例外を表す場合に、詳細ノードの子としてではなく、詳細ノードに対して情報をシリアル化します。

soLiteralParams

SOAP エンコーディングからネイティブ型に変換するときに、たとえリテラルパラメータを分割するオプションを指定して WSDL インポータが呼び出された場合でも、パラメータを分割しません。このオプションは、メソッド名とそのパラメータを表す構造体の名前が異なる場合に、ドキュメント リテラル エンコーディングで必要です。

soUTF8EncodeXML

ネイティブ型から SOAP に変換するときに、トランスポート レベルの文字を UTF-8 にエンコードします。このエンコーディングは、DOM レベルのエンコーディングに比べて効率は良くありませんが、DOM レベルのエンコーディングではなく、トランスポート レベルのエンコーディングを想定しているいくつかの Web サービスには必要です。

soXXXXHdr

変換される型がヘッダーを表します。