Teilen über


SoapException Klasse

Definition

Stellt die bei Aufruf einer XML-Webdienstmethode über SOAP und bei Auftreten einer Ausnahme ausgelöste Ausnahme dar.

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
Vererbung
Abgeleitet
Attribute

Beispiele

Im folgenden Beispiel wird eine SoapException ausgelöst, in der die XML-Webdienstmethode die Detail -Eigenschaft festlegt.

<%@ 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

Hinweise

Die SoapException kann entweder von der Common Language Runtime oder von einer XML-Webdienstmethode ausgelöst werden. Die Common Language Runtime kann einen SoapException auslösen, wenn eine Antwort auf eine Anforderung nicht ordnungsgemäß formatiert ist. XML-Webdienstmethoden können eine SoapException generieren, indem sie einfach eine Ausnahme innerhalb der XML-Webdienstmethode auslösen. Wenn der Client über SOAP auf die -Methode zugegriffen hat, wird die Ausnahme auf dem Server abgefangen und in einen neuen SoapExceptionumschlossen. Das SoapException ausgelöste verfügt über die folgenden Eigenschaftswerte:

Eigenschaft Wert
Message Die Message Eigenschaft der ursprünglichen Ausnahme.
Code ServerFaultCode.
Actor Die URL der XML-Webdienstmethode.
Detail null, aber im Fehlerelement ist ein leeres Detailelement vorhanden.

Eine XML-Webdienstmethode löst möglicherweise eine aus SoapException , wenn Clients mithilfe von SOAP aufrufen. Wenn ein XML-Webdienst das SoapExceptionauslöst, können weitere Details über die ActorEigenschaften und Detail hinzugefügt werden, Code die andernfalls nicht von einer XML-Webdienstmethode festgelegt werden können, wenn ein anderer Ausnahmetyp ausgelöst wird.

Konstruktoren

SoapException()

Initialisiert eine neue Instanz der SoapException-Klasse.

SoapException(SerializationInfo, StreamingContext)

Initialisiert eine neue Instanz der SoapException-Klasse mit serialisierten Daten.

SoapException(String, XmlQualifiedName)

Initialisiert eine neue Instanz der SoapException-Klasse mit der angegebenen Ausnahmemeldung und dem angegebenen Ausnahmecode.

SoapException(String, XmlQualifiedName, Exception)

Initialisiert eine neue Instanz der SoapException-Klasse mit der angegebenen Ausnahmemeldung, dem Ausnahmecode und einem Verweis auf die Ursache der Ausnahme.

SoapException(String, XmlQualifiedName, SoapFaultSubCode)

Initialisiert eine neue Instanz der SoapException-Klasse mit Angabe der Ausnahmemeldung, des Ausnahmecodes und des Subcodes.

SoapException(String, XmlQualifiedName, String)

Initialisiert eine neue Instanz der SoapException-Klasse mit der angegebenen Ausnahmemeldung, dem angegebenen Ausnahmecode und dem URI, der den für die Ausnahme verantwortlichen Codeabschnitt identifiziert.

SoapException(String, XmlQualifiedName, String, Exception)

Initialisiert eine neue Instanz der SoapException-Klasse mit der angegebenen Ausnahmemeldung, dem angegebenen Ausnahmecode, dem Verweis auf die Ursache der Ausnahme und dem URI, der den für die Ausnahme verantwortlichen Code identifiziert.

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

Initialisiert eine neue Instanz der SoapException-Klasse mit der angegebenen Ausnahmemeldung, dem Ausnahmecode, einem URI, der den Codeabschnitt identifiziert, der die Ausnahme verursacht hat, einem URI, der die Funktion des XML-Webdiensts bei der Verarbeitung der SOAP-Nachricht darstellt, der (natürlichen) Sprache, die der Ausnahme zugeordnet ist, den anwendungsspezifischen Ausnahmeinformationen, dem Subcode für den SOAP-Fehler und einem Verweis auf die der Ausnahme zugrunde liegende Ursache.

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

Initialisiert eine neue Instanz der SoapException-Klasse mit der angegebenen Ausnahmenachricht, dem Ausnahmecode, dem URI, der den Codeabschnitt identifiziert, der die Ausnahme verursacht hat, mit anwendungsspezifischen Ausnahmeinformationen und einem Verweis auf die Grundursache der Ausnahme.

SoapException(String, XmlQualifiedName, String, XmlNode)

Initialisiert eine neue Instanz der SoapException-Klasse mit der angegebenen Ausnahmemeldung, dem Ausnahmecode, den anwendungsspezifischen Ausnahmeinformationen und dem URI, der den für die Ausnahme verantwortlichen Codeabschnitt identifiziert.

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

Initialisiert eine neue Instanz der SoapException-Klasse mit der angegebenen Ausnahmenachricht, dem Ausnahmecode, dem URI, der den Codeabschnitt identifiziert, der die Ausnahme verursacht hat, mit anwendungsspezifischen Ausnahmeinformationen und einem Verweis auf die Grundursache der Ausnahme.

Felder

ClientFaultCode

Gibt einen SOAP-Fehlercode an, der einen Clientaufruf darstellt, der nicht korrekt formatiert ist oder nicht die geeigneten Informationen enthält.

DetailElementName

Ruft einen XmlQualifiedName ab, der das Detail-Element eines SOAP-Fehlercodes darstellt.

MustUnderstandFaultCode

Ein SOAP-Fehlercode, der ein mit dem MustUnderstand-Attribut markiertes SOAP-Element darstellt, wurde nicht verarbeitet.

ServerFaultCode

Gibt einen SOAP-Fehlercode an, der einen Fehler darstellt, der beim Verarbeiten eines Clientaufrufs auf dem Server auftrat und bei dem das Problem nicht auf den Meldungsinhalt zurückzuführen ist.

VersionMismatchFaultCode

Während der Verarbeitung der SOAP-Nachricht wurde ein SOAP-Fehlercode gefunden, der einen ungültigen Namespace für einen SOAP-Envelope darstellt.

Eigenschaften

Actor

Ruft den Codeabschnitt ab, der die Ausnahme verursacht hat.

Code

Ruft den Typ des SOAP-Fehlercodes ab.

Data

Ruft eine Auflistung von Schlüssel-Wert-Paaren ab, die zusätzliche benutzerdefinierte Informationen zur Ausnahme bereitstellen.

(Geerbt von Exception)
Detail

Ruft einen XmlNode ab, der die Einzelheiten von anwendungsspezifischen Fehlerinformationen darstellt.

HelpLink

Ruft einen Link zur Hilfedatei ab, die dieser Ausnahme zugeordnet ist, oder legt einen Link fest.

(Geerbt von Exception)
HResult

Ruft HRESULT ab oder legt HRESULT fest. Dies ist ein codierter Wert, der einer bestimmten Ausnahme zugeordnet ist.

(Geerbt von Exception)
InnerException

Ruft die Exception-Instanz ab, die die aktuelle Ausnahme verursacht hat.

(Geerbt von Exception)
Lang

Ruft die der Ausnahme zugeordnete menschliche Sprache ab.

Message

Ruft eine Meldung ab, mit der die aktuelle Ausnahme beschrieben wird.

(Geerbt von Exception)
Node

Ruft einen URI ab, der den für die Ausnahme verantwortlichen Codeabschnitt angibt.

Role

Ruft einen URI ab, der die Funktion des XML-Webdiensts bei der Verarbeitung der SOAP-Nachricht darstellt.

Source

Gibt den Namen der Anwendung oder des Objekts zurück, die bzw. das den Fehler verursacht hat, oder legt diesen fest.

(Geerbt von Exception)
StackTrace

Ruft eine Zeichenfolgendarstellung der unmittelbaren Frames in der Aufrufliste ab.

(Geerbt von Exception)
SubCode

Ruft die optionalen Fehlerinformationen ab, die im XML-Element vom Typ subcode eines SOAP-Fehlers enthalten sind.

TargetSite

Ruft die Methode ab, die die aktuelle Ausnahme auslöst.

(Geerbt von Exception)

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetBaseException()

Gibt beim Überschreiben in einer abgeleiteten Klasse eine Exception zurück, die die Grundursache für eine oder mehrere nachfolgende Ausnahmen ist.

(Geerbt von Exception)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetObjectData(SerializationInfo, StreamingContext)

Legt SerializationInfo mit Informationen zur Ausnahme fest.

GetObjectData(SerializationInfo, StreamingContext)
Veraltet.

Legt beim Überschreiben in einer abgeleiteten Klasse die SerializationInfo mit Informationen über die Ausnahme fest.

(Geerbt von Exception)
GetType()

Ruft den Laufzeittyp der aktuellen Instanz ab.

(Geerbt von Exception)
IsClientFaultCode(XmlQualifiedName)

Gibt einen Wert zurück, der angibt, ob der SOAP-Fehlercode unabhängig von der Version des verwendeten SOAP-Protokolls dem Client-SOAP-Fehlercode entspricht.

IsMustUnderstandFaultCode(XmlQualifiedName)

Gibt einen Wert zurück, der angibt, ob der SOAP-Fehlercode unabhängig von der Version des verwendeten SOAP-Protokolls gleich MustUnderstand ist.

IsServerFaultCode(XmlQualifiedName)

Gibt einen Wert zurück, der angibt, ob der SOAP-Fehlercode unabhängig von der Version des verwendeten SOAP-Protokolls dem Server-SOAP-Fehlercode entspricht.

IsVersionMismatchFaultCode(XmlQualifiedName)

Gibt einen Wert zurück, der angibt, ob der SOAP-Fehlercode unabhängig von der Version des verwendeten SOAP-Protokolls dem VersionMismatch-SOAP-Fehlercode entspricht.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Erstellt eine Zeichenfolgendarstellung der aktuellen Ausnahme und gibt diese zurück.

(Geerbt von Exception)

Ereignisse

SerializeObjectState
Veraltet.

Tritt auf, wenn eine Ausnahme serialisiert wird, um ein Ausnahmezustandsobjekt mit serialisierten Daten über die Ausnahme zu erstellen.

(Geerbt von Exception)

Gilt für: