Compartir vía


SoapException Clase

Definición

Representa la excepción que se produce cuando se llama a un método de servicios Web XML mediante el protocolo SOAP y se produce una excepción.

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
Herencia
Derivado
Atributos

Ejemplos

En el ejemplo siguiente se produce un SoapException donde el método de servicio web XML establece la Detail propiedad .

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

Comentarios

SoapException Common Language Runtime o un método de servicio web XML puede iniciarlo. Common Language Runtime puede producir una SoapException excepción si una respuesta a una solicitud no tiene el formato correcto. Los métodos de servicio web XML pueden generar un SoapException elemento simplemente iniciando una excepción dentro del método de servicio web XML. Si el cliente ha accedido al método a través de SOAP, la excepción se detecta en el servidor y se encapsula dentro de un nuevo SoapException. El SoapException objeto thrown tiene los siguientes valores de propiedad:

Propiedad Valor
Message Propiedad Message de la excepción original.
Code ServerFaultCode.
Actor Dirección URL del método de servicio web XML.
Detail null, pero un elemento de detalle vacío está presente en el elemento de error.

Un método de servicio web XML podría producir una SoapException excepción cuando los clientes llaman a mediante SOAP. Si un servicio web XML produce , SoapExceptionse pueden agregar otros detalles a través de las Actorpropiedades , Code y Detail que, de lo contrario, no se pueden establecer mediante un método de servicio web XML si se produce otro tipo de excepción.

Constructores

SoapException()

Inicializa una nueva instancia de la clase SoapException.

SoapException(SerializationInfo, StreamingContext)

Inicializa una nueva instancia de la clase SoapException con datos serializados.

SoapException(String, XmlQualifiedName)

Inicializa una nueva instancia de la clase SoapException con el mensaje de excepción y el código de excepción especificados.

SoapException(String, XmlQualifiedName, Exception)

Inicializa una nueva instancia de la clase SoapException con el mensaje de excepción y el código de excepción especificados, y una referencia a la causa principal de la excepción.

SoapException(String, XmlQualifiedName, SoapFaultSubCode)

Inicializa una nueva instancia de la clase SoapException con el mensaje de excepción, el código de excepción y el subcódigo especificados.

SoapException(String, XmlQualifiedName, String)

Inicializa una nueva instancia de la clase SoapException con el mensaje de excepción y el código de excepción especificados, además del identificador URI que indica el fragmento de código que provocó la excepción.

SoapException(String, XmlQualifiedName, String, Exception)

Inicializa una nueva instancia de la clase SoapException con el mensaje de excepción y el código de excepción especificados, el identificador URI que indica el código que provocó la excepción y una referencia a la causa principal de la excepción.

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

Inicializa una nueva instancia de la clase SoapException con el mensaje de excepción especificado, el código de excepción, el URI que identifica el fragmento de código que provocó la excepción, el URI que representa la función del servicio web XML en el procesamiento del mensaje SOAP, el idioma asociado a la excepción, la información de excepción específica de la aplicación, el subcódigo para el error de SOAP y la referencia a la causa principal de la excepción.

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

Inicializa una nueva instancia de la clase SoapException con el mensaje de excepción especificado, el código de excepción, el URI que identifica el fragmento de código que provocó la excepción, la información de excepción específica de la aplicación y la referencia a la causa principal de la excepción.

SoapException(String, XmlQualifiedName, String, XmlNode)

Inicializa una nueva instancia de la clase SoapException con el mensaje de excepción y el código de excepción especificados, además del identificador URI que indica el fragmento de código que provocó la excepción e información sobre la excepción específica de la aplicación.

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

Inicializa una nueva instancia de la clase SoapException con el mensaje de excepción especificado, el código de excepción, el URI que identifica el fragmento de código que provocó la excepción, la información de excepción específica de la aplicación y la referencia a la causa principal de la excepción.

Campos

ClientFaultCode

Especifica un código de error SOAP que indica que una llamada de cliente no tenía el formato correcto o no contenía la información adecuada.

DetailElementName

Obtiene un objeto XmlQualifiedName que representa el elemento Detail de un código de error SOAP.

MustUnderstandFaultCode

No se procesó un código de error de SOAP que representaba un elemento SOAP marcado con el atributo MustUnderstand.

ServerFaultCode

Especifica un código de error de SOAP que representa un error que se produjo durante el procesamiento de una llamada de cliente en el servidor pero que no está relacionado con el contenido del mensaje.

VersionMismatchFaultCode

Durante el procesamiento de un mensaje SOAP, se detectó un código de error de SOAP que representa un espacio de nombres no válido para un sobre SOAP.

Propiedades

Actor

Obtiene el fragmento de código que provocó la excepción.

Code

Obtiene el tipo de código de error de SOAP.

Data

Obtiene una colección de pares clave/valor que proporciona información definida por el usuario adicional sobre la excepción.

(Heredado de Exception)
Detail

Obtiene un objeto XmlNode que representa la información detallada sobre el error, específica de la aplicación.

HelpLink

Obtiene o establece un vínculo al archivo de ayuda asociado a esta excepción.

(Heredado de Exception)
HResult

Obtiene o establece HRESULT, un valor numérico codificado que se asigna a una excepción específica.

(Heredado de Exception)
InnerException

Obtiene la instancia Exception que produjo la excepción actual.

(Heredado de Exception)
Lang

Obtiene el idioma asociado a la excepción.

Message

Obtiene un mensaje que describe la excepción actual.

(Heredado de Exception)
Node

Identificador URI que representa el fragmento de código que provocó la excepción.

Role

Obtiene un identificador URI que representa la función del servicio Web XML para procesar el mensaje SOAP.

Source

Devuelve o establece el nombre de la aplicación o del objeto que generó el error.

(Heredado de Exception)
StackTrace

Obtiene una representación de cadena de los marcos inmediatos en la pila de llamadas.

(Heredado de Exception)
SubCode

Obtiene la información de error opcional incluida en el elemento XML subcode de un error de SOAP.

TargetSite

Obtiene el método que produjo la excepción actual.

(Heredado de Exception)

Métodos

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetBaseException()

Cuando se invalida en una clase derivada, devuelve la clase Exception que representa la causa principal de una o más excepciones posteriores.

(Heredado de Exception)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetObjectData(SerializationInfo, StreamingContext)

Establece el objeto SerializationInfo con información sobre la excepción.

GetObjectData(SerializationInfo, StreamingContext)
Obsoletos.

Cuando se invalida en una clase derivada, establece SerializationInfo con información sobre la excepción.

(Heredado de Exception)
GetType()

Obtiene el tipo de tiempo de ejecución de la instancia actual.

(Heredado de Exception)
IsClientFaultCode(XmlQualifiedName)

Devuelve un valor que indica si el código de error SOAP es equivalente al código de error SOAP Client sin tener en cuenta la versión del protocolo SOAP utilizada.

IsMustUnderstandFaultCode(XmlQualifiedName)

Devuelve un valor que indica si el código de error SOAP es equivalente a MustUnderstand sin tener en cuenta la versión del protocolo SOAP utilizada.

IsServerFaultCode(XmlQualifiedName)

Devuelve un valor que indica si el código de error SOAP es equivalente al código de error SOAP Server sin tener en cuenta la versión del protocolo SOAP utilizada.

IsVersionMismatchFaultCode(XmlQualifiedName)

Devuelve un valor que indica si el código de error SOAP es equivalente al código de error SOAP VersionMismatch sin tener en cuenta la versión del protocolo SOAP utilizada.

MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Crea y devuelve una representación de cadena de la excepción actual.

(Heredado de Exception)

Eventos

SerializeObjectState
Obsoletos.

Ocurre cuando una excepción se serializa para crear un objeto de estado de excepción que contenga datos serializados sobre la excepción.

(Heredado de Exception)

Se aplica a