SoapException Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 |
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 |
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 |
IsMustUnderstandFaultCode(XmlQualifiedName) |
Devuelve un valor que indica si el código de error SOAP es equivalente a |
IsServerFaultCode(XmlQualifiedName) |
Devuelve un valor que indica si el código de error SOAP es equivalente al código de error SOAP |
IsVersionMismatchFaultCode(XmlQualifiedName) |
Devuelve un valor que indica si el código de error SOAP es equivalente al código de error SOAP |
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) |