標準の ASMX Web サービスがあります。カスタム例外をスローして、クライアント側でキャッチしたいと考えています。遭遇する唯一のものは、SoapException です。例:
// Server side code
[WebMethod]
public void foo(string bar) {
throw new CustomException(bar);
}
public class CustomException : Exception {
....
}
// Client side code
public void CallFoo() {
try {
service.foo()
}
catch (CustomException ex) {
Console.WriteLine(ex.Message);
}
catch (SoapException ex) {
Console.WriteLine("IT ALWAYS HITS HERE");
}
catch (Exception ex) {
Console.WriteLine(ex.Message);
}
}
CustomException 例外を送信する方法はありますか? どういうわけかそれをシリアル化しますか?