1
1
如果异常是一个soapexception(se),那么您可以通过使用se.detail.firstchild.outerxml之类的东西来获得最重要的部分,这是通常放置异常的地方,或者如果您想要批次,则使用se.detail.outerxml。 |
2
0
尝试
|
3
0
从SoapException派生新的异常类并直接设置Message属性。 |
4
0
您需要抛出自己的异常、自定义或其他异常,然后当客户机抛出SOAP异常时,detail属性应该具有您要查找的内容。 |
5
0
把它拧紧。我刚从服务返回了一个包含任何错误消息的字符串。如果字符串为空,那么服务就完成了它的工作。 沉默是金。 |
6
0
不要太失望:) 在本文的帮助下,我也做了同样的事情: http://www.developer.com/net/csharp/article.php/3088231 . 我已经为我的异常创建了一个自定义类,它甚至还将真正的异常作为一个内嵌在其中的InnerException进行了封装。(我已经为我的每一个已知类型的自定义异常添加了一个独立于语言的ID,以使其更适用于我的客户。) 在客户端,我只得到innerException和innerException.message是原始文本,没有任何垃圾。 |
7
0
对不起,我以前没看到这个。
我相信真正的答案是
|
8
0
SoapException的Detail属性在SerializedException节点下包含原始序列化异常。 您可以尝试使用System.Runtime.Serialization.Formatters.Soap.SoapFormatter,使用与此处描述的方法类似的方法反序列化异常: http://blog.irm.se/blogs/eric/archive/2005/03/06/An-ExceptionHandler-that-extract-the-detail-information-from-the-SoapException.aspx 但是,我无法使它工作,因为我最终从SOAP格式化程序得到了“没有与XML键关联的程序集”错误。 您可以手动向下钻取serialidexception节点,因为它基本上包含一个base-64编码的SOAP信封:
生成的XML文档将包含一些有趣的信息,包括看起来是XML序列化异常的信息。 |
lfox · 如果列中不存在某个值,则停止代码执行 2 年前 |
zaen · 将值传递到异常字符串消息中 2 年前 |
Zephyr · 如何在双ListView选择系统上实现过滤器? 6 年前 |
Aave · 错误数组长度的特定异常 6 年前 |