Soap.InvokeRegistry.TSOAPAttachment
Delphi
TSOAPAttachment = class(TRemotable)
C++
class PASCALIMPLEMENTATION TSOAPAttachment : public TRemotable
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
class | public | Soap.InvokeRegistry.pas Soap.InvokeRegistry.hpp |
Soap.InvokeRegistry | Soap.InvokeRegistry |
説明
TSOAPAttachment は,Web サービスアプリケーションにおけるメソッド呼び出しを表す SOAP メッセージのアタッチメント情報を表します。
TSOAPAttachment を使用すると,呼び出し可能なインターフェースのメソッドのパラメータまたは戻り値としてアタッチメント情報を送付したり受け取ったりできます。SOAP メソッドの呼び出しにアタッチメント情報が必要な場合,アタッチメント情報は MIME マルチパートフォームとしてマーシャリングされます。ここでは,すべてのアタッチメント情報は追加パートとして挿入されます。
警告: 一部の Web サービス(.Net など)は,アタッチメントに,MIME マルチパートフォームではなく,DIME マルチパートフォームを使用します。TSOAPAttachment は,これらのサービスでは機能しません。
メモ: TSOAPAttachment およびその下位オブジェクトは,呼び出し可能なインターフェースのメソッドのパラメータまたは戻り値の型としてのみ使用してください。TSOAPAttachment は,リモート可能なオブジェクトのパブリッシュプロパティの型など,複雑な型の一部として使用することはできません。
アタッチメント情報を送付するときは,SourceString プロパティ,SetSourceFile メソッド,SetSourceStream メソッドのうちのいずれかを使ってアタッチメント情報データを追加してください。また,ContentType プロパティでアタッチメント情報データのタイプ(エンコード方式)を指定します。
アタッチメント情報を受け取ると,そのアタッチメント情報は自動的に一時ファイルに格納されます。この一時ファイルの名前は,CacheFile プロパティで指定されます。この一時ファイルの内容は,SaveToFile メソッドまたは SaveToStream メソッドを使ってコピーできます。データの形式を確認するには,ContentType プロパティを調べます。Headers プロパティを使用すると,アタッチメント情報を含むマルチパートフォームのパートのほかのヘッダーを読むことができます。デフォルトでは,TSOAPAttachment オブジェクトが解放されると,受け取ったアタッチメント情報を格納している一時ファイルが削除されます。CacheFilePersist プロパティを使用すると,この一時ファイルが削除されないようにすることができます。
メモ: TSOAPAttachment をカスタマイズされたアタッチメント情報クラスの基本クラスとして使った場合,アタッチメント情報クラスは TSOAPAttachment 値としてマーシャリングされます。つまり,そのアタッチメント情報を受け取ったアプリケーションは,このアタッチメント情報を TSOAPAttachment 下位クラスのインスタンスではなく,単純に TSOAPAttachment のインスタンスとみなします。
アプリケーションは,このクラスを使用する前に,TSOAPAttachment をリモート可能クラスのレジストリに登録する必要があります。TSOAPAttachment またはその下位クラスを登録するには,グローバル関数 RemTypeRegistry が返すオブジェクトの RegisterXSClass メソッドを使用します。WSDL ドキュメントをインポートすると,いずれかのインターフェースがアタッチメント情報を使用する場合,TSOAPAttachment を登録するための呼び出しが自動的に追加されます。
起動可能インターフェース(クライアント)の呼び出し側が,入力パラメータとして渡す TSOAPAttachment のインスタンスの作成を担当し,作成した TSOAPAttachment のインスタンスや,出力パラメータまたはメソッド結果として返された TSOAPAttachment インスタンスの解放も担当します。
Web サービスアプリケーション(サーバー)では,パラメータまたは戻り値を表す TSOAPAttachment インスタンスがデータコンテキストに追加されます。このインスタンスは,必要であれば解放されます。