我有一個標準的ASMX網絡服務。我想拋出一個自定義的異常,並讓它在客戶端被捕獲。唯一遇到的是SoapException。例如:如何在SOAP Web服務中傳播異常?
// 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異常發送?可能以某種方式序列化它?
包裝SoapException是毫無意義的,因爲這是Web服務拋出的唯一東西,但是您的第一個鏈接被證明是有用的,因爲它允許我將我真正的異常嵌入到XML節點中。 – AngryHacker 2013-05-14 18:18:39