Compartilhar via


SoapException Classe

Definição

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

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 lança um SoapException 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

O SoapException pode ser gerado pelo Common Language Runtime ou por um método de serviço Web XML. O Common Language Runtime poderá gerar um SoapException se uma resposta a uma solicitação não estiver formatada corretamente. Os métodos de serviço Web XML podem gerar um 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 detalhes 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 o SoapException, outros detalhes poderão ser adicionados por meio das Actorpropriedades , Code e Detail que, de outra forma, não poderão ser definidas por um método de serviço Web XML se outro tipo de exceção for gerado.

Construtores

SoapException()

Inicializa uma nova instância da classe SoapException.

SoapException(SerializationInfo, StreamingContext)

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

SoapException(String, XmlQualifiedName)

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

SoapException(String, XmlQualifiedName, Exception)

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

SoapException(String, XmlQualifiedName, SoapFaultSubCode)

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

SoapException(String, XmlQualifiedName, String)

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

SoapException(String, XmlQualifiedName, String, Exception)

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

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

Inicializa uma nova instância da classe SoapException com a mensagem de exceção e o código de exceção especificados, o URI que identifica o trecho de 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 ao aplicativo, o subcódigo para a falha de 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 SoapException com a mensagem de exceção e o código de exceção especificados, o URI que identifica o trecho de código que causou a exceção, informações de exceção específicas ao aplicativo e a referência à causa raiz da exceção.

SoapException(String, XmlQualifiedName, String, XmlNode)

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

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

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

Campos

ClientFaultCode

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

DetailElementName

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

MustUnderstandFaultCode

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

ServerFaultCode

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

VersionMismatchFaultCode

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

Propriedades

Actor

Obtém o trecho de código que causou a exceção.

Code

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

Data

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

(Herdado de Exception)
Detail

Obtém um XmlNode que representa os detalhes de 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 que é atribuído a uma exceção específica.

(Herdado de Exception)
InnerException

Obtém a instância Exception 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 o trecho de 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 objeto que causa o erro.

(Herdado de Exception)
StackTrace

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

(Herdado de Exception)
SubCode

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

TargetSite

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

(Herdado de Exception)

Métodos

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 que é a 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 o SerializationInfo com informações 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 de SOAP é equivalente ao código de falha de SOAP Client, independentemente da versão do protocolo SOAP usada.

IsMustUnderstandFaultCode(XmlQualifiedName)

Retorna um valor que indica se o código de falha de 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 de SOAP é equivalente ao código de falha de SOAP Server, independentemente da versão do protocolo SOAP usada.

IsVersionMismatchFaultCode(XmlQualifiedName)

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

MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

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

(Herdado de Exception)

Eventos

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