次のような単純な Web サービス操作があります。
[WebMethod]
public string HelloWorld()
{
throw new Exception("HelloWorldException");
return "Hello World";
}
次に、Web サービスを使用して操作を呼び出すクライアント アプリケーションがあります。明らかに例外がスローされます:-)
try
{
hwservicens.Service1 service1 = new hwservicens.Service1();
service1.HelloWorld();
}
catch(Exception e)
{
Console.WriteLine(e.ToString());
}
私のキャッチブロックでは、実際の例外のメッセージを抽出してコードで使用したいと考えています。キャッチされた例外は aSoapException
です。これは問題ありませんが、Message
プロパティは次のようになります...
System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.Exception: HelloWorldException
at WebService1.Service1.HelloWorld() in C:\svnroot\Vordur\WebService1\Service1.asmx.cs:line 27
--- End of inner exception stack trace ---
...そして、InnerException
ですnull
。
私がやりたいのは、 (私のサンプルのテキスト)のMessage
プロパティを抽出することです。誰でもそれを手伝ってもらえますか? 回避できる場合は、 のプロパティの解析を提案しないでください。InnerException
HelloWorldException
Message
SoapException