SoapException Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 |
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 |
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 |
IsMustUnderstandFaultCode(XmlQualifiedName) |
Gibt einen Wert zurück, der angibt, ob der SOAP-Fehlercode unabhängig von der Version des verwendeten SOAP-Protokolls gleich |
IsServerFaultCode(XmlQualifiedName) |
Gibt einen Wert zurück, der angibt, ob der SOAP-Fehlercode unabhängig von der Version des verwendeten SOAP-Protokolls dem |
IsVersionMismatchFaultCode(XmlQualifiedName) |
Gibt einen Wert zurück, der angibt, ob der SOAP-Fehlercode unabhängig von der Version des verwendeten SOAP-Protokolls dem |
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) |