Web サービス用のカスタム例外クラスの作成
Web サービスの利用:インデックス への移動
Web サービスアプリケーションが SOAP リクエストを実行しようとしたときに例外を生成する場合は,SOAP 障害パケット内でその例外についての情報が自動的にエンコードされ,メソッド呼び出しの結果のかわりに返されます。次に,クライアントアプリケーションが例外を生成します。
デフォルトでは,クライアントアプリケーションが Soap.InvokeRegistry.ERemotableException 型の汎用の例外を生成し,SOAP 障害パケットからの情報が提供されます。Soap.InvokeRegistry.ERemotableException の下位から派生させることで,アプリケーション固有の追加情報を転送できます。例外クラスに追加したパブリッシュプロパティの値は SOAP 障害パケットに含まれるので,クライアントは同等の例外を生成することができます。
ERemotableException の下位を使用するには,これをリモート可能タイプレジストリに登録しなければなりません。したがって,ERemotableException の下位を定義するユニットでは,InvokeRegistry ユニットを uses 節に追加し,グローバル関数 RemTypeRegistry が返すオブジェクトの RegisterXSClass メソッドの呼び出しを追加しなければなりません。
クライアントも ERemotableException の下位を定義および登録する場合は,クライアントが SOAP 障害パケットを受信したときに,自動的に適切な例外クラスのインスタンスを生成し,すべてのプロパティを SOAP 障害パケット内の値に設定します。
なお,ERemotableException 下位クラスに関する情報をクライアントでインポートするために,リモート可能タイプレジストリのほか,起動レジストリにもこの下位クラスを登録してください。グローバル関数 InvRegistry が戻すオブジェクトの RegisterException に呼び出しを追加します。