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.Represents the exception that is thrown when an XML Web service method is called over SOAP and an exception occurs.

public ref class SoapException : SystemException
[System.Serializable]
public class SoapException : SystemException
type SoapException = class
    inherit SystemException
Public Class SoapException
Inherits SystemException
Herança
Derivado
Atributos

Exemplos

O exemplo a seguir gera SoapException um local em que o método de serviço Detail Web XML define a propriedade.The following example throws a SoapException where the XML Web service method sets the Detail property.

<%@ 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.The SoapException can either be thrown by the common language runtime or by an XML Web service method. O Common Language Runtime pode gerar um SoapException se uma resposta a uma solicitação não estiver formatada corretamente.The common language runtime can throw a SoapException if a response to a request is not formatted correctly. Os métodos de serviço Web XML podem SoapException gerar um simplesmente gerando uma exceção dentro do método XML Web Service.XML Web service methods can generate a SoapException by simply throwing an exception within the XML Web service method. Se o cliente tiver acessado o método sobre SOAP, a exceção será capturada no servidor e encapsulada dentro de um novo SoapException.If the client accessed the method over SOAP, the exception is caught on the server and wrapped inside a new SoapException. O SoapException lançado tem os seguintes valores de propriedade:The SoapException thrown has the following property values:

PropriedadeProperty ValorValue
Message A Message propriedade da exceção original.The Message property of the original exception.
Code ServerFaultCode.ServerFaultCode.
Actor A URL do método de serviço Web XML.The URL of the XML Web service method.
Detail null, mas um elemento de detalhes vazio está presente no elemento Fault.null, but an empty detail element is present in the fault element.

Um método de serviço Web XML pode gerar SoapException um quando os clientes chamam usando SOAP.An XML Web service method might throw a SoapException when clients call using SOAP. Se um serviço Web XML lançar o SoapException, outros detalhes poderão ser adicionados por meio Actor Code das propriedades Detail e que não podem ser definidas de outra forma por um método de serviço Web XML se outro tipo de exceção for lançado.If an XML Web service throws the SoapException, other details can be added through the Actor, Code and Detail properties that cannot otherwise be set by an XML Web service method if another type of exception is thrown.

Construtores

SoapException()

Inicializa uma nova instância da classe SoapException.Initializes a new instance of the SoapException class.

SoapException(SerializationInfo, StreamingContext)

Inicializa uma nova instância da classe SoapException com dados serializados.Initializes a new instance of the SoapException class with serialized data.

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.Initializes a new instance of the SoapException class with the specified exception message and exception code.

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.Initializes a new instance of the SoapException class with the specified exception message, exception code, and reference to the root cause of the exception.

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.Initializes a new instance of the SoapException class with the specified exception message, exception code, and subcode.

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.Initializes a new instance of the SoapException class with the specified exception message, exception code, and URI that identifies the piece of code that caused the exception.

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.Initializes a new instance of the SoapException class with the specified exception message, exception code, URI that identifies the code that caused the exception, and reference to the root cause of the exception.

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.Initializes a new instance of the SoapException class with the specified exception message, exception code, URI that identifies the piece of code that caused the exception, URI that represents the XML Web service's function in processing the SOAP message, the human language associated with the exception, the application-specific exception information, the subcode for the SOAP fault and reference to the root cause of the exception.

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.Initializes a new instance of the SoapException class with the specified exception message, exception code, URI that identifies the piece of code that caused the exception, application-specific exception information, and reference to the root cause of the exception.

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.Initializes a new instance of the SoapException class with the specified exception message, exception code, URI that identifies the piece of code that caused the exception, and application specific exception information.

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.Initializes a new instance of the SoapException class with the specified exception message, exception code, URI that identifies the piece of code that caused the exception, application-specific exception information, and reference to the root cause of the exception.

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.Specifies a SOAP fault code that represents a client call that is not formatted correctly or does not contain the appropriate information.

DetailElementName

Obtém um XmlQualifiedName que representa o elemento Detail de um código de Falha de SOAP.Gets an XmlQualifiedName that represents the Detail element of a SOAP Fault code.

MustUnderstandFaultCode

Um Código de Falha de SOAP que representa um elemento SOAP marcado com o atributo MustUnderstand não foi processado.A SOAP Fault Code that represents a SOAP element marked with the MustUnderstand attribute was not processed.

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.Specifies that a SOAP fault code that represents an error occurred during the processing of a client call on the server, where the problem is not due to the message contents.

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.A SOAP fault code that represents an invalid namespace for a SOAP envelope was found during the processing of the SOAP message.

Propriedades

Actor

Obtém o trecho de código que causou a exceção.Gets the piece of code that caused the exception.

Code

Obtém o tipo de código de falha de SOAP.Gets the type of SOAP fault code.

Data

Obtém uma coleção de pares de chave/valor que fornecem informações adicionais definidas pelo usuário sobre a exceção.Gets a collection of key/value pairs that provide additional user-defined information about the exception.

(Herdado de Exception)
Detail

Obtém um XmlNode que representa os detalhes de informações de erro específicas do aplicativo.Gets an XmlNode that represents the application-specific error information details.

HelpLink

Obtém ou define um link para o arquivo de ajuda associado a essa exceção.Gets or sets a link to the help file associated with this exception.

(Herdado de Exception)
HResult

Obtém ou define HRESULT, um valor numérico codificado que é atribuído a uma exceção específica.Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.

(Herdado de Exception)
InnerException

Obtém a instância Exception que causou a exceção atual.Gets the Exception instance that caused the current exception.

(Herdado de Exception)
Lang

Obtém a linguagem humana associada à exceção.Gets the human language associated with the exception.

Message

Obtém uma mensagem que descreve a exceção atual.Gets a message that describes the current exception.

(Herdado de Exception)
Node

Obtém um URI que representa o trecho de código que causou a exceção.Gets a URI that represents the piece of code that caused the exception.

Role

Obtém um URI que representa a função do serviço Web XML no processamento da mensagem SOAP.Gets a URI that represents the XML Web service's function in processing the SOAP message.

Source

Obtém ou define o nome do aplicativo ou objeto que causa o erro.Gets or sets the name of the application or the object that causes the error.

(Herdado de Exception)
StackTrace

Obtém uma representação de cadeia de caracteres de quadros imediatos na pilha de chamadas.Gets a string representation of the immediate frames on the call stack.

(Herdado de Exception)
SubCode

Obtém as informações de erro opcionais contidas no elemento XML subcode de uma falha SOAP.Gets the optional error information contained in the subcode XML element of a SOAP fault.

TargetSite

Obtém o método que gerou a exceção atual.Gets the method that throws the current exception.

(Herdado de Exception)

Métodos

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(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.When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.

(Herdado de Exception)
GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Herdado de Object)
GetObjectData(SerializationInfo, StreamingContext)

Define o SerializationInfo com informações sobre a exceção.Sets the SerializationInfo with information about the exception.

GetType()

Obtém o tipo de tempo de execução da instância atual.Gets the runtime type of the current instance.

(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.Returns a value that indicates whether the SOAP fault code is equivalent to the Client SOAP fault code regardless of the version of the SOAP protocol used.

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.Returns a value that indicates whether the SOAP fault code is equivalent to MustUnderstand regardless of the version of the SOAP protocol used.

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.Returns a value that indicates whether the SOAP fault code is equivalent to the Server SOAP fault code regardless of the version of the SOAP protocol used.

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.Returns a value that indicates whether the SOAP fault code is equivalent to the VersionMismatch SOAP fault code regardless of the version of the SOAP protocol used.

MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
ToString()

Cria e retorna uma representação de cadeia de caracteres da exceção atual.Creates and returns a string representation of the current exception.

(Herdado de Exception)

Eventos

SerializeObjectState

Ocorre quando uma exceção é serializada para criar um objeto de estado de exceção que contém dados serializados sobre a exceção.Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.

(Herdado de Exception)

Aplica-se a