SOAP フォルトの生成
Web サービス・プロデューサ・コードでは、エラーが生成されるすべての場所で SOAP フォルトを生成できる必要があります。SOAP フォルト生成コードが何度も実行される事態を回避するために、フォルトを生成する 1 つのメソッドを作成できます。このメソッドは、プロデューサ・コードのエラーが生成されるすべての場所で呼び出すことができます。
以下のメソッドは、エラー・コードと詳細をパラメータとして受け取り、適切な SOAP フォルトを生成します。これは、%SOAP.WebServiceOpens in a new tab ReturnFault メソッドを呼び出します。このメソッドは、Web サービスの実行を即座に停止し、有効な SOAP メッセージをクライアントに返します。この SOAP エンベロープには、通常のデータ本文ではなく、SOAP フォルトが含まれています。
このメソッドを SOAPTutorial.SOAPService クラスに追加してリコンパイルします。
Method ApplicationError(code, detail)
{
set fault=##class(%SOAP.Fault).%New()
set fault.faultcode=code
set fault.detail=detail
set fault.faultstring="application error"
// ReturnFault must be called to send the fault to the client.
// ReturnFault will not return here.
do ..ReturnFault(fault)
}