はい、可能です。
調べる必要があるのは、SoapException クラス、特に SoapException クラスのDetail プロパティです。
SoapException クラスは、Web サービス メソッドからクライアント/コンシューマにエラー情報を返すための標準準拠メカニズムである「 Soap Fault 」を効果的にレンダリングします。
SoapException クラスの「Detail」プロパティはXmlNode型であるため、単一のノード/要素または子ノードの階層を含めることができます。したがって、詳細ノードは、独自のカスタム エラー オブジェクトのシリアル化された表現の "親" として簡単に格納して機能させることができます。
MSDN から:
Detail プロパティは、SOAP 要求の Body 要素に関連するアプリケーション固有のエラーの詳細を提供することを目的としています。SOAP 仕様では、SOAP リクエストの Body 要素が原因でクライアント リクエストを処理できずにエラーが発生した場合、Detail プロパティを設定する必要があります。SOAP 要求のヘッダー エントリでエラーが発生した場合は、SOAP ヘッダーでエラーの詳細が返されるように、SoapHeaderException をスローする必要があります。Body 要素の処理によってエラーが発生しなかった場合は、Detail プロパティを設定しないでください。
Detail プロパティの XmlNode を構築する際に、DetailElementName の Name プロパティと Namespace プロパティを使用して、SOAP 仕様との一貫性を確保できます [sic]。
詳細要素の直接の子要素はすべて詳細エントリと呼ばれ、各詳細エントリは詳細要素内の独立した要素としてエンコードされます。
Web サービス応答で SOAP に正しく準拠したままにしたい場合、元の XML 要求のクライアントのヘッダー セクション内でエラーが発生した場合は、 SoapExceptionではなくSoapHeaderException を返す必要があることに注意してください(これは、多くの場合、上記で説明したように、セキュリティ資格情報などのカスタム SOAP ヘッダーを使用します。