SoapException Klasa

Definicja

Reprezentuje wyjątek zgłaszany, gdy metoda usługi sieci Web XML jest wywoływana za pośrednictwem protokołu SOAP i występuje wyjątek.

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
Dziedziczenie
Pochodne
Atrybuty

Przykłady

Poniższy przykład zgłasza metodę SoapException , w której metoda usługi sieci Web XML ustawia Detail właściwość .

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

Uwagi

Element SoapException może zostać zgłoszony przez środowisko uruchomieniowe języka wspólnego lub przez metodę usługi sieci Web XML. Środowisko uruchomieniowe języka wspólnego może zgłaszać wartość , SoapException jeśli odpowiedź na żądanie nie jest poprawnie sformatowana. Metody usługi sieci Web XML mogą generować SoapException , po prostu zgłaszając wyjątek w metodzie usługi sieci Web XML. Jeśli klient uzyskiwał dostęp do metody za pośrednictwem protokołu SOAP, wyjątek zostanie przechwycony na serwerze i opakowany wewnątrz nowej SoapExceptionmetody . Zgłoszony obiekt SoapException ma następujące wartości właściwości:

Właściwość Wartość
Message Właściwość Message oryginalnego wyjątku.
Code ServerFaultCode.
Actor Adres URL metody usługi sieci Web XML.
Detail null, ale pusty element szczegółów jest obecny w elemecie błędu.

Metoda usługi sieci Web XML może zgłaszać SoapException wywołanie przez klientów przy użyciu protokołu SOAP. Jeśli usługa sieci Web XML zgłasza SoapExceptionwartość , inne szczegóły można dodać za pośrednictwem Actorwłaściwości i CodeDetail , które w przeciwnym razie nie mogą być ustawione przez metodę usługi sieci Web XML, jeśli zostanie zgłoszony inny typ wyjątku.

Konstruktory

SoapException()

Inicjuje nowe wystąpienie klasy SoapException.

SoapException(SerializationInfo, StreamingContext)

Inicjuje nowe wystąpienie klasy SoapException z zserializowanymi danymi.

SoapException(String, XmlQualifiedName)

Inicjuje SoapException nowe wystąpienie klasy z określonym komunikatem o wyjątku i kodem wyjątku.

SoapException(String, XmlQualifiedName, Exception)

Inicjuje nowe wystąpienie SoapException klasy z określonym komunikatem wyjątku, kodem wyjątku i odwołaniem do głównej przyczyny wyjątku.

SoapException(String, XmlQualifiedName, SoapFaultSubCode)

Inicjuje SoapException nowe wystąpienie klasy z określonym komunikatem wyjątku, kodem wyjątku i podkodem.

SoapException(String, XmlQualifiedName, String)

Inicjuje nowe wystąpienie SoapException klasy z określonym komunikatem o wyjątku, kodzie wyjątku i identyfikatorem URI, który identyfikuje fragment kodu, który spowodował wyjątek.

SoapException(String, XmlQualifiedName, String, Exception)

Inicjuje nowe wystąpienie SoapException klasy z określonym komunikatem o wyjątku, kodem wyjątku, identyfikatorem URI, który identyfikuje kod, który spowodował wyjątek, i odwołuje się do głównej przyczyny wyjątku.

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

Inicjuje nowe wystąpienie SoapException klasy z określonym komunikatem wyjątku, kodem wyjątku, identyfikatorem URI, który identyfikuje fragment kodu, który spowodował wyjątek, identyfikator URI reprezentujący funkcję usługi sieci Web XML w przetwarzaniu komunikatu SOAP, język ludzki skojarzony z wyjątkiem, informacje o wyjątku specyficzne dla aplikacji, kod podrzędny błędu SOAP i odwołanie do głównej przyczyny wyjątku.

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

Inicjuje nowe wystąpienie SoapException klasy z określonym komunikatem wyjątku, kodem wyjątku, identyfikatorem URI, który identyfikuje fragment kodu, który spowodował wyjątek, informacje o wyjątku specyficzne dla aplikacji i odwołuje się do głównej przyczyny wyjątku.

SoapException(String, XmlQualifiedName, String, XmlNode)

Inicjuje nowe wystąpienie SoapException klasy z określonym komunikatem o wyjątku, kodem wyjątku, identyfikatorem URI, który identyfikuje fragment kodu, który spowodował wyjątek i informacje o wyjątku specyficznym dla aplikacji.

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

Inicjuje nowe wystąpienie SoapException klasy z określonym komunikatem wyjątku, kodem wyjątku, identyfikatorem URI, który identyfikuje fragment kodu, który spowodował wyjątek, informacje o wyjątku specyficzne dla aplikacji i odwołuje się do głównej przyczyny wyjątku.

Pola

ClientFaultCode

Określa kod błędu protokołu SOAP, który reprezentuje wywołanie klienta, które nie jest poprawnie sformatowane lub nie zawiera odpowiednich informacji.

DetailElementName

Pobiera element XmlQualifiedName reprezentujący Detail element kodu błędu PROTOKOŁU SOAP.

MustUnderstandFaultCode

Kod błędu protokołu SOAP reprezentujący element SOAP oznaczony atrybutem MustUnderstand nie został przetworzony.

ServerFaultCode

Określa, że kod błędu protokołu SOAP, który reprezentuje błąd podczas przetwarzania wywołania klienta na serwerze, gdzie problem nie jest spowodowany zawartością komunikatu.

VersionMismatchFaultCode

Podczas przetwarzania komunikatu SOAP znaleziono kod błędu protokołu SOAP, który reprezentuje nieprawidłową przestrzeń nazw koperty PROTOKOŁU SOAP.

Właściwości

Actor

Pobiera fragment kodu, który spowodował wyjątek.

Code

Pobiera typ kodu błędu PROTOKOŁU SOAP.

Data

Pobiera kolekcję par klucz/wartość, które zapewniają dodatkowe informacje zdefiniowane przez użytkownika dotyczące wyjątku.

(Odziedziczone po Exception)
Detail

Pobiera element XmlNode reprezentujący szczegóły informacji o błędach specyficznych dla aplikacji.

HelpLink

Pobiera lub ustawia link do pliku pomocy skojarzonego z tym wyjątkiem.

(Odziedziczone po Exception)
HResult

Pobiera lub ustawia HRESULT, zakodowaną wartość liczbową przypisaną do określonego wyjątku.

(Odziedziczone po Exception)
InnerException

Exception Pobiera wystąpienie, które spowodowało bieżący wyjątek.

(Odziedziczone po Exception)
Lang

Pobiera język ludzki skojarzony z wyjątkiem.

Message

Pobiera komunikat opisujący bieżący wyjątek.

(Odziedziczone po Exception)
Node

Pobiera identyfikator URI reprezentujący fragment kodu, który spowodował wyjątek.

Role

Pobiera identyfikator URI reprezentujący funkcję usługi sieci Web XML w przetwarzaniu komunikatu SOAP.

Source

Pobiera lub ustawia nazwę aplikacji lub obiektu, który powoduje błąd.

(Odziedziczone po Exception)
StackTrace

Pobiera reprezentację ciągu natychmiastowych ramek w stosie wywołań.

(Odziedziczone po Exception)
SubCode

Pobiera opcjonalne informacje o błędzie zawarte w subcode elemecie XML błędu protokołu SOAP.

TargetSite

Pobiera metodę, która zgłasza bieżący wyjątek.

(Odziedziczone po Exception)

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetBaseException()

W przypadku zastąpienia w klasie pochodnej zwraca Exception główną przyczynę co najmniej jednego kolejnego wyjątku.

(Odziedziczone po Exception)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetObjectData(SerializationInfo, StreamingContext)

Ustawia element SerializationInfo z informacjami o wyjątku.

GetObjectData(SerializationInfo, StreamingContext)
Przestarzałe.

Po przesłonięciu w klasie pochodnej ustawia SerializationInfo wartość z informacjami o wyjątku.

(Odziedziczone po Exception)
GetType()

Pobiera typ środowiska uruchomieniowego bieżącego wystąpienia.

(Odziedziczone po Exception)
IsClientFaultCode(XmlQualifiedName)

Zwraca wartość wskazującą, czy kod błędu protokołu SOAP jest odpowiednikiem Client kodu błędu protokołu SOAP niezależnie od używanej wersji protokołu SOAP.

IsMustUnderstandFaultCode(XmlQualifiedName)

Zwraca wartość wskazującą, czy kod błędu protokołu SOAP jest równoważny MustUnderstand niezależnie od używanej wersji protokołu SOAP.

IsServerFaultCode(XmlQualifiedName)

Zwraca wartość wskazującą, czy kod błędu protokołu SOAP jest odpowiednikiem Server kodu błędu protokołu SOAP niezależnie od używanej wersji protokołu SOAP.

IsVersionMismatchFaultCode(XmlQualifiedName)

Zwraca wartość wskazującą, czy kod błędu protokołu SOAP jest odpowiednikiem VersionMismatch kodu błędu protokołu SOAP niezależnie od używanej wersji protokołu SOAP.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Tworzy i zwraca reprezentację ciągu bieżącego wyjątku.

(Odziedziczone po Exception)

Zdarzenia

SerializeObjectState
Przestarzałe.

Występuje, gdy wyjątek jest serializowany w celu utworzenia obiektu stanu wyjątku zawierającego serializowane dane o wyjątku.

(Odziedziczone po Exception)

Dotyczy