SoapException Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 |
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 |
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 |
IsMustUnderstandFaultCode(XmlQualifiedName) |
Retorna um valor que indica se o código de falha de SOAP é equivalente a |
IsServerFaultCode(XmlQualifiedName) |
Retorna um valor que indica se o código de falha de SOAP é equivalente ao código de falha de SOAP |
IsVersionMismatchFaultCode(XmlQualifiedName) |
Retorna um valor que indica se o código de falha de SOAP é equivalente ao código de falha de SOAP |
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) |