SoapException 类

定义

表示通过 SOAP 调用 XML Web services 方法且出现异常时引发的异常。

public ref class SoapException : SystemException
public class SoapException : SystemException
[System.Serializable]
public class SoapException : SystemException
type SoapException = class
    inherit SystemException
[<System.Serializable>]
type SoapException = class
    inherit SystemException
Public Class SoapException
Inherits SystemException
继承
派生
属性

示例

以下示例引发 , SoapException 其中 XML Web 服务方法设置 属性 Detail

<%@ WebService Language="C#" class="ThrowSoapException"%>

using System;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Serialization;
using System.Xml;

public class ThrowSoapException : WebService 
{
//    This XML Web service method generates a SOAP Client Fault code 
    [WebMethod]
    public void myThrow(){

        // Build the detail element of the SOAP fault.
        System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
        System.Xml.XmlNode node = doc.CreateNode(XmlNodeType.Element, SoapException.DetailElementName.Name, SoapException.DetailElementName.Namespace);


        // Build specific details for the SoapException.
        // Add first child of detail XML element.
        System.Xml.XmlNode details = doc.CreateNode(XmlNodeType.Element, "mySpecialInfo1", "http://tempuri.org/");
        System.Xml.XmlNode detailsChild = doc.CreateNode(XmlNodeType.Element, "childOfSpecialInfo", "http://tempuri.org/");
        details.AppendChild(detailsChild);

            
        // Add second child of detail XML element with an attribute.
        System.Xml.XmlNode details2 = doc.CreateNode(XmlNodeType.Element, "mySpecialInfo2", "http://tempuri.org/");
        XmlAttribute attr = doc.CreateAttribute("t", "attrName", "http://tempuri.org/");
        attr.Value = "attrValue";
        details2.Attributes.Append(attr);

        // Append the two child elements to the detail node.
        node.AppendChild(details);
        node.AppendChild(details2);

            
        //Throw the exception.    
        SoapException se = new SoapException("Fault occurred", SoapException.ClientFaultCode,Context.Request.Url.AbsoluteUri,node);

        throw se;
        return;    }
}
<%@ WebService Language="VB" class="ThrowSoapException"%>

Imports System
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.Xml.Serialization
Imports System.Xml

Public Class ThrowSoapException
    Inherits WebService
    
    ' This XML Web service method generates a SOAP Client Fault code 
    <WebMethod()> _
    Public Sub myThrow()
        
        ' Build the detail element of the SOAP fault.
        Dim doc As New System.Xml.XmlDocument()
        Dim node As System.Xml.XmlNode = doc.CreateNode(XmlNodeType.Element, _
            SoapException.DetailElementName.Name, _
            SoapException.DetailElementName.Namespace)
 
        ' Build specific details for the SoapException.
        ' Add first child of detail XML element.
        Dim details As System.Xml.XmlNode = doc.CreateNode(XmlNodeType.Element, _
            "mySpecialInfo1", "http://tempuri.org/")

        ' Add second child of detail XML element with an attribute.
        Dim details2 As System.Xml.XmlNode = doc.CreateNode(XmlNodeType.Element, _
            "mySpecialInfo2", "http://tempuri.org/")
        Dim attr As XmlAttribute = doc.CreateAttribute("t", "attrName", _
            "http://tempuri.org/")
        attr.Value = "attrValue"
        details2.Attributes.Append(attr)

        ' Append the two child elements to the detail node.
        node.AppendChild(details)
        node.AppendChild(details2)
                
        'Throw the exception    
        Dim se As New SoapException("Fault occurred", SoapException.ClientFaultCode, _
                                    Context.Request.Url.AbsoluteUri, node)
        Throw se
        Return
    End Sub
End Class

注解

SoapException可由公共语言运行时或 XML Web 服务方法引发。 如果对请求的响应格式不正确,公共语言运行时可能会引发 SoapException 。 XML Web 服务方法只需在 XML Web 服务方法中引发异常即可生成 SoapException 。 如果客户端通过 SOAP 访问了 方法,则会在服务器上捕获异常并将其包装在新的 SoapException中。 SoapException引发的 具有以下属性值:

properties
Message Message原始异常的 属性。
Code ServerFaultCode.
Actor XML Web 服务方法的 URL。
Detail null,但错误元素中存在一个空的详细信息元素。

当客户端使用 SOAP 调用 时, SoapException XML Web 服务方法可能会引发 。 如果 XML Web 服务引发 SoapException,则可以通过 ActorCode 添加其他详细信息,如果Detail引发另一种类型的异常,则 XML Web 服务方法无法设置这些属性。

构造函数

SoapException()

初始化 SoapException 类的新实例。

SoapException(SerializationInfo, StreamingContext)

用序列化数据初始化 SoapException 类的新实例。

SoapException(String, XmlQualifiedName)

使用指定的异常消息和异常代码初始化 SoapException 类的新实例。

SoapException(String, XmlQualifiedName, Exception)

使用指定的异常消息、异常代码以及对该异常的根源的引用来初始化 SoapException 类的新实例。

SoapException(String, XmlQualifiedName, SoapFaultSubCode)

使用指定的异常消息、异常代码和子代码初始化 SoapException 类的新实例。

SoapException(String, XmlQualifiedName, String)

使用指定的异常消息、异常代码以及用来标识导致异常的代码段的 URI 来初始化 SoapException 类的新实例。

SoapException(String, XmlQualifiedName, String, Exception)

使用指定的异常消息、异常代码、用来标识导致异常的代码的 URI 以及对该异常的根源的引用来初始化 SoapException 类的新实例。

SoapException(String, XmlQualifiedName, String, String, String, XmlNode, SoapFaultSubCode, Exception)

使用以下内容初始化 SoapException 类的新实例:指定的异常消息、异常代码、标识引起异常的代码块的 URI、表示用于处理 SOAP 消息的 XML Web service 功能的 URI、与异常关联的人类语言、特定于应用程序的异常信息、SOAP 错误的子代码以及对异常的根源的引用。

SoapException(String, XmlQualifiedName, String, String, XmlNode, SoapFaultSubCode, Exception)

使用指定异常消息、异常代码、标识导致异常的代码段的 URI、特定于应用程序的异常信息以及对异常根本原因的引用来初始化 SoapException 类的新实例。

SoapException(String, XmlQualifiedName, String, XmlNode)

使用指定的异常消息、异常代码、用来标识导致异常的代码段的 URI 和应用程序特定的异常信息来初始化 SoapException 类的新实例。

SoapException(String, XmlQualifiedName, String, XmlNode, Exception)

使用指定异常消息、异常代码、标识导致异常的代码段的 URI、特定于应用程序的异常信息以及对异常根本原因的引用来初始化 SoapException 类的新实例。

字段

ClientFaultCode

指定 SOAP 错误代码,该代码表示客户端调用的格式设置不正确或者没有包含适当的信息。

DetailElementName

获取 XmlQualifiedName,它表示 SOAP 错误代码的 Detail 元素。

MustUnderstandFaultCode

SOAP 错误代码,它表示没有处理用 MustUnderstand 特性标记的 SOAP 元素。

ServerFaultCode

指定一个 SOAP 错误代码,该错误代码表示在处理客户端对服务器的调用的过程中出错,但问题不是由消息内容导致的。

VersionMismatchFaultCode

SOAP 错误代码,它表示在处理 SOAP 消息的过程中发现无效的 SOAP 信封命名空间。

属性

Actor

获取导致异常的代码段。

Code

获取 SOAP 错误代码的类型。

Data

获取键/值对的集合,这些键/值对提供有关该异常的其他用户定义信息。

(继承自 Exception)
Detail

获取表示应用程序特定的详细错误信息的 XmlNode

HelpLink

获取或设置指向与此异常关联的帮助文件链接。

(继承自 Exception)
HResult

获取或设置 HRESULT(一个分配给特定异常的编码数字值)。

(继承自 Exception)
InnerException

获取导致当前异常的 Exception 实例。

(继承自 Exception)
Lang

获取与该异常关联的人类语言。

Message

获取描述当前异常的消息。

(继承自 Exception)
Node

获取表示导致异常的代码段的 URI。

Role

获取一个 URI,它表示用于处理 SOAP 消息的 XML Web services 功能。

Source

获取或设置导致错误的应用程序或对象的名称。

(继承自 Exception)
StackTrace

获取调用堆栈上的即时框架字符串表示形式。

(继承自 Exception)
SubCode

获取 SOAP 错误的 subcode XML 元素中包含的可选错误信息。

TargetSite

获取引发当前异常的方法。

(继承自 Exception)

方法

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetBaseException()

当在派生类中重写时,返回 Exception,它是一个或多个并发的异常的根本原因。

(继承自 Exception)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetObjectData(SerializationInfo, StreamingContext)

使用关于异常的信息设置 SerializationInfo

GetObjectData(SerializationInfo, StreamingContext)
已过时.

当在派生类中重写时,用关于异常的信息设置 SerializationInfo

(继承自 Exception)
GetType()

获取当前实例的运行时类型。

(继承自 Exception)
IsClientFaultCode(XmlQualifiedName)

返回一个值,该值指示 SOAP 错误代码是否等效于 Client SOAP 错误代码,而不考虑所使用的 SOAP 协议版本。

IsMustUnderstandFaultCode(XmlQualifiedName)

返回一个值,该值指示 SOAP 错误代码是否等效于 MustUnderstand(不论使用的是何种版本的 SOAP 协议)。

IsServerFaultCode(XmlQualifiedName)

返回一个值,该值指示 SOAP 错误代码是否等效于 Server SOAP 错误代码,而不考虑所使用的 SOAP 协议版本。

IsVersionMismatchFaultCode(XmlQualifiedName)

返回一个值,该值指示 SOAP 错误代码是否等效于 VersionMismatch SOAP 错误代码,而不考虑所使用的 SOAP 协议版本。

MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
ToString()

创建并返回当前异常的字符串表示形式。

(继承自 Exception)

事件

SerializeObjectState
已过时.

当异常被序列化用来创建包含有关该异常的徐列出数据的异常状态对象时会出现该问题。

(继承自 Exception)

适用于