Condividi tramite


SoapException Classe

Definizione

Rappresenta l'eccezione generata quando un metodo del servizio Web XML viene chiamato su SOAP e si verifica un'eccezione.

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
Ereditarietà
Derivato
Attributi

Esempio

Nell'esempio seguente viene generata una SoapException posizione in cui il metodo del servizio Web XML imposta la Detail proprietà.

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

Commenti

L'oggetto SoapException può essere generato dal common language runtime o da un metodo di servizio Web XML. Common Language Runtime può generare un valore SoapException se una risposta a una richiesta non è formattata correttamente. I metodi del servizio Web XML possono generare semplicemente SoapException un'eccezione all'interno del metodo del servizio Web XML. Se il client ha eseguito l'accesso al metodo tramite SOAP, l'eccezione viene rilevata nel server e viene eseguito il wrapping all'interno di un nuovo SoapExceptionoggetto . Il SoapException valore generato include i valori delle proprietà seguenti:

Proprietà Valore
Message Proprietà Message dell'eccezione originale.
Code ServerFaultCode.
Actor URL del metodo del servizio Web XML.
Detail null, ma un elemento di dettaglio vuoto è presente nell'elemento di errore.

Un metodo di servizio Web XML potrebbe generare un oggetto SoapException quando i client chiamano SOAP. Se un servizio Web XML genera , altri dettagli possono essere aggiunti tramite le SoapExceptionActorCode proprietà e Detail che non possono altrimenti essere impostate da un metodo di servizio Web XML se viene generato un altro tipo di eccezione.

Costruttori

SoapException()

Inizializza una nuova istanza della classe SoapException.

SoapException(SerializationInfo, StreamingContext)

Inizializza una nuova istanza della classe SoapException con dati serializzati.

SoapException(String, XmlQualifiedName)

Inizializza una nuova istanza della classe SoapException con il messaggio e il codice delle eccezioni specificati.

SoapException(String, XmlQualifiedName, Exception)

Inizializza una nuova istanza della classe SoapException con il messaggio di eccezione, il codice di eccezione e il riferimento alla causa radice dell'eccezione specificati.

SoapException(String, XmlQualifiedName, SoapFaultSubCode)

Inizializza una nuova istanza della classe SoapException con il messaggio di eccezione, il codice eccezione e il codice secondario specificati.

SoapException(String, XmlQualifiedName, String)

Inizializza una nuova istanza della classe SoapException con il messaggio di eccezione, il codice di eccezione e l'URI che identifica la parte di codice che l'ha causata specificati.

SoapException(String, XmlQualifiedName, String, Exception)

Inizializza una nuova istanza della classe SoapException con specificati il messaggio di eccezione, il codice di eccezione, l'URI che identifica il codice che l'ha causata e il riferimento alla causa radice dell'eccezione.

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

Inizializza una nuova istanza della classe SoapException con i valori specificati per messaggio di eccezione, codice di eccezione, URI che identifica il frammento di codice che ha causato l'eccezione, URI che rappresenta la funzione del servizio Web XML durante l'elaborazione del messaggio SOAP, lingua associata all'eccezione, informazioni sull'eccezione specifiche dell'applicazione, codice secondario per l'errore SOAP e riferimento alla causa radice dell'eccezione.

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

Inizializza una nuova istanza della classe SoapException con i valori specificati per messaggio di eccezione, codice di eccezione, URI che identifica il frammento di codice che ha causato l'eccezione, informazioni sull'eccezione specifiche dell'applicazione e riferimento alla causa radice dell'eccezione.

SoapException(String, XmlQualifiedName, String, XmlNode)

Inizializza una nuova istanza della classe SoapException con specificati il messaggio di eccezione, il codice di eccezione, l'URI che identifica la parte di codice che l'ha causata e le informazioni sull'eccezione specifiche dell'applicazione.

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

Inizializza una nuova istanza della classe SoapException con i valori specificati per messaggio di eccezione, codice di eccezione, URI che identifica il frammento di codice che ha causato l'eccezione, informazioni sull'eccezione specifiche dell'applicazione e riferimento alla causa radice dell'eccezione.

Campi

ClientFaultCode

Specifica un codice di errore SOAP indicante che una chiamata client non è stata formattata correttamente o non contiene le informazioni appropriate.

DetailElementName

Ottiene un oggetto XmlQualifiedName che rappresenta l'elemento Detail di un codice di errore SOAP.

MustUnderstandFaultCode

Un codice di errore SOAP che identifica un elemento SOAP contrassegnato con l'attributo MustUnderstand non è stato elaborato.

ServerFaultCode

Specifica un codice di errore SOAP che rappresenta un errore verificatosi durante l'elaborazione di una chiamata client sul server, in cui il problema non era dovuto al contenuto del messaggio.

VersionMismatchFaultCode

Codice di errore SOAP che rappresenta l'individuazione di uno spazio dei nomi non valido per un envelope SOAP durante l'elaborazione del messaggio SOAP.

Proprietà

Actor

Recupera la porzione di codice che ha causato l'eccezione.

Code

Recupera il tipo di codice SOAP con errori.

Data

Ottiene una raccolta di coppie chiave/valore che forniscono informazioni definite dall'utente aggiuntive sull'eccezione.

(Ereditato da Exception)
Detail

Ottiene un oggetto XmlNode che rappresenta i dettagli sull'errore specifici dell'applicazione.

HelpLink

Ottiene o imposta un collegamento al file della Guida associato all'eccezione.

(Ereditato da Exception)
HResult

Ottiene o imposta HRESULT, un valore numerico codificato che viene assegnato a un'eccezione specifica.

(Ereditato da Exception)
InnerException

Ottiene l'istanza di Exception che ha causato l'eccezione corrente.

(Ereditato da Exception)
Lang

Ottiene la lingua associata all'eccezione.

Message

Ottiene un messaggio che descrive l'eccezione corrente.

(Ereditato da Exception)
Node

Ottiene un URI che rappresenta il codice che ha causato l'eccezione.

Role

Ottiene un URI che rappresenta la funzione del servizio Web XML nell'elaborazione del messaggio SOAP.

Source

Ottiene o imposta il nome dell'oggetto o dell'applicazione che ha generato l'errore.

(Ereditato da Exception)
StackTrace

Ottiene una rappresentazione di stringa dei frame immediati nello stack di chiamate.

(Ereditato da Exception)
SubCode

Ottiene le informazioni facoltative sull'errore contenute nell'elemento subcode XML di un errore SOAP.

TargetSite

Ottiene il metodo che genera l'eccezione corrente.

(Ereditato da Exception)

Metodi

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetBaseException()

Quando ne viene eseguito l'override in una classe derivata, restituisce l'Exception che è la causa radice di una o più eccezioni successive.

(Ereditato da Exception)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetObjectData(SerializationInfo, StreamingContext)

Imposta l'oggetto SerializationInfo con le informazioni sull'eccezione.

GetObjectData(SerializationInfo, StreamingContext)
Obsoleti.

Quando ne viene eseguito l'override in una classe derivata, imposta il controllo SerializationInfo con le informazioni sull'eccezione.

(Ereditato da Exception)
GetType()

Ottiene il tipo di runtime dell'istanza corrente.

(Ereditato da Exception)
IsClientFaultCode(XmlQualifiedName)

Restituisce un valore che indica se il codice di errore SOAP equivale al codice di errore SOAP Client, indipendentemente dalla versione del protocollo SOAP utilizzata.

IsMustUnderstandFaultCode(XmlQualifiedName)

Restituisce un valore che indica se il codice di errore SOAP equivale a MustUnderstand, indipendentemente dalla versione del protocollo SOAP utilizzata.

IsServerFaultCode(XmlQualifiedName)

Restituisce un valore che indica se il codice di errore SOAP equivale al codice di errore SOAP Server, indipendentemente dalla versione del protocollo SOAP utilizzata.

IsVersionMismatchFaultCode(XmlQualifiedName)

Restituisce un valore che indica se il codice di errore SOAP equivale al codice di errore SOAP VersionMismatch, indipendentemente dalla versione del protocollo SOAP utilizzata.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Crea e restituisce una rappresentazione di stringa dell'eccezione corrente.

(Ereditato da Exception)

Eventi

SerializeObjectState
Obsoleti.

Si verifica quando un'eccezione viene serializzata per creare un oggetto di stato eccezione contenente i dati serializzati relativi all'eccezione.

(Ereditato da Exception)

Si applica a