Compartilhar via


SoapException Classe

Definição

Representa a exceção gerada quando um método de serviço Web XML é chamado sobre SOAP e ocorre uma exceção.

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
Herança
Derivado
Atributos

Exemplos

O exemplo a seguir gera um SoapException local em que o método de serviço Web XML define a Detail propriedade.

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

Comentários

Pode SoapException ser gerado pelo common language runtime ou por um método de serviço Web XML. O common language runtime pode gerar um SoapException caso uma resposta a uma solicitação não seja formatada corretamente. Os métodos de serviço Web XML podem gerar uma SoapException simplesmente lançando uma exceção dentro do método de serviço Web XML. Se o cliente tiver acessado o método por soap, a exceção será capturada no servidor e encapsulada dentro de um novo SoapException. O SoapException gerado tem os seguintes valores de propriedade:

Propriedade Valor
Message A Message propriedade da exceção original.
Code ServerFaultCode.
Actor A URL do método de serviço Web XML.
Detail null, mas um elemento de detalhe vazio está presente no elemento de falha.

Um método de serviço Web XML pode gerar um SoapException quando os clientes chamam usando SOAP. Se um serviço Web XML gerar, SoapExceptionoutros detalhes poderão ser adicionados por meio do ActorCodeDetail e propriedades que não podem ser definidas por um método de serviço Web XML se outro tipo de exceção for gerado.

Construtores

Nome Description
SoapException()

Inicializa uma nova instância da classe SoapException.

SoapException(SerializationInfo, StreamingContext)

Inicializa uma nova instância da SoapException classe com dados serializados.

SoapException(String, XmlQualifiedName, Exception)

Inicializa uma nova instância da SoapException classe com a mensagem de exceção, o código de exceção e a referência à causa raiz da exceção especificada.

SoapException(String, XmlQualifiedName, SoapFaultSubCode)

Inicializa uma nova instância da SoapException classe com a mensagem de exceção, o código de exceção e o subcodificado especificados.

SoapException(String, XmlQualifiedName, String, Exception)

Inicializa uma nova instância da classe com a mensagem de SoapException exceção, o código de exceção, o URI que identifica o código que causou a exceção e faz referência à causa raiz da exceção.

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

Inicializa uma nova instância da classe com a mensagem de SoapException exceção especificada, o código de exceção, o URI que identifica a parte do código que causou a exceção, o URI que representa a função do serviço Web XML no processamento da mensagem SOAP, a linguagem humana associada à exceção, as informações de exceção específicas do aplicativo, o subcódigo da falha SOAP e a referência à causa raiz da exceção.

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

Inicializa uma nova instância da classe com a mensagem de SoapException exceção especificada, o código de exceção, o URI que identifica a parte do código que causou a exceção, as informações de exceção específicas do aplicativo e a referência à causa raiz da exceção.

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

Inicializa uma nova instância da classe com a mensagem de SoapException exceção especificada, o código de exceção, o URI que identifica a parte do código que causou a exceção, as informações de exceção específicas do aplicativo e a referência à causa raiz da exceção.

SoapException(String, XmlQualifiedName, String, XmlNode)

Inicializa uma nova instância da SoapException classe com a mensagem de exceção, o código de exceção, o URI que identifica a parte do código que causou a exceção e as informações de exceção específicas do aplicativo.

SoapException(String, XmlQualifiedName, String)

Inicializa uma nova instância da SoapException classe com a mensagem de exceção, o código de exceção e o URI especificados que identifica a parte do código que causou a exceção.

SoapException(String, XmlQualifiedName)

Inicializa uma nova instância da SoapException classe com a mensagem de exceção especificada e o código de exceção.

Campos

Nome Description
ClientFaultCode

Especifica um código de falha SOAP que representa uma chamada de cliente que não está formatada corretamente ou não contém as informações apropriadas.

DetailElementName

Obtém um XmlQualifiedName elemento que representa o Detail elemento de um código de falha SOAP.

MustUnderstandFaultCode

Um código de falha SOAP que representa um elemento SOAP marcado com o MustUnderstand atributo não foi processado.

ServerFaultCode

Especifica que ocorreu um código de falha SOAP que representa um erro durante o processamento de uma chamada de cliente no servidor, em que o problema não ocorre devido ao conteúdo da mensagem.

VersionMismatchFaultCode

Um código de falha SOAP que representa um namespace inválido para um envelope SOAP foi encontrado durante o processamento da mensagem SOAP.

Propriedades

Nome Description
Actor

Obtém a parte do código que causou a exceção.

Code

Obtém o tipo de código de falha SOAP.

Data

Obtém uma coleção de pares chave/valor que fornecem informações adicionais definidas pelo usuário sobre a exceção.

(Herdado de Exception)
Detail

Obtém um XmlNode que representa os detalhes das informações de erro específicas do aplicativo.

HelpLink

Obtém ou define um link para o arquivo de ajuda associado a essa exceção.

(Herdado de Exception)
HResult

Obtém ou define HRESULT, um valor numérico codificado atribuído a uma exceção específica.

(Herdado de Exception)
InnerException

Obtém a Exception instância que causou a exceção atual.

(Herdado de Exception)
Lang

Obtém a linguagem humana associada à exceção.

Message

Obtém uma mensagem que descreve a exceção atual.

(Herdado de Exception)
Node

Obtém um URI que representa a parte do código que causou a exceção.

Role

Obtém um URI que representa a função do serviço Web XML no processamento da mensagem SOAP.

Source

Obtém ou define o nome do aplicativo ou do objeto que causa o erro.

(Herdado de Exception)
StackTrace

Obtém uma representação de cadeia de caracteres dos quadros imediatos na pilha de chamadas.

(Herdado de Exception)
SubCode

Obtém as informações de erro opcionais contidas no subcode elemento XML de uma falha SOAP.

TargetSite

Obtém o método que gera a exceção atual.

(Herdado de Exception)

Métodos

Nome Description
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetBaseException()

Quando substituído em uma classe derivada, retorna a Exception causa raiz de uma ou mais exceções subsequentes.

(Herdado de Exception)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetObjectData(SerializationInfo, StreamingContext)

Define as SerializationInfo informações com sobre a exceção.

GetObjectData(SerializationInfo, StreamingContext)
Obsoleto.

Quando substituído em uma classe derivada, define o SerializationInfo com informações sobre a exceção.

(Herdado de Exception)
GetType()

Obtém o tipo de runtime da instância atual.

(Herdado de Exception)
IsClientFaultCode(XmlQualifiedName)

Retorna um valor que indica se o código de falha SOAP é equivalente ao Client código de falha SOAP, independentemente da versão do protocolo SOAP usada.

IsMustUnderstandFaultCode(XmlQualifiedName)

Retorna um valor que indica se o código de falha SOAP é equivalente a MustUnderstand independentemente da versão do protocolo SOAP usada.

IsServerFaultCode(XmlQualifiedName)

Retorna um valor que indica se o código de falha SOAP é equivalente ao Server código de falha SOAP, independentemente da versão do protocolo SOAP usada.

IsVersionMismatchFaultCode(XmlQualifiedName)

Retorna um valor que indica se o código de falha SOAP é equivalente ao VersionMismatch código de falha SOAP, independentemente da versão do protocolo SOAP usada.

MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
ToString()

Cria e retorna uma representação de cadeia de caracteres da exceção atual.

(Herdado de Exception)

Eventos

Nome Description
SerializeObjectState
Obsoleto.

Ocorre quando uma exceção é serializada para criar um objeto de estado de exceção que contém dados serializados sobre a exceção.

(Herdado de Exception)

Aplica-se a