Поделиться через


SoapException Класс

Определение

Представляет исключение, которое возникает при вызове метода веб-службы XML через SOAP и возникает исключение.

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
Наследование
Производный
Атрибуты

Примеры

В следующем примере создается SoapException исключение, в котором метод веб-службы XML задает Detail свойство.

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

Комментарии

Это SoapException может быть вызвано средой CLR или методом веб-службы XML. Среда CLR может вызвать исключение SoapException , если ответ на запрос не отформатирован правильно. Методы веб-службы XML могут создаваться SoapException , просто вызывая исключение в методе веб-службы XML. Если клиент обращается к методу по протоколу SOAP, исключение перехватывается на сервере и упаковывается внутри нового SoapException. У SoapException вызываемого объекта есть следующие значения свойств:

Недвижимость Ценность
Message Message Свойство исходного исключения.
Code ServerFaultCode.
Actor URL-адрес метода веб-службы XML.
Detail null, но пустой элемент детализации присутствует в элементе сбоя.

Метод веб-службы XML может вызываться SoapException при вызове клиентов с помощью SOAP. Если веб-служба XML создает SoapExceptionисключение, другие сведения можно добавить с помощью Actorметода веб-службы XML, Code а Detail свойства, которые не могут быть заданы методом веб-службы XML, если создается другое исключение.

Конструкторы

Имя Описание
SoapException()

Инициализирует новый экземпляр класса SoapException.

SoapException(SerializationInfo, StreamingContext)

Инициализирует новый экземпляр SoapException класса сериализованными данными.

SoapException(String, XmlQualifiedName, Exception)

Инициализирует новый экземпляр SoapException класса с указанным сообщением об исключении, кодом исключения и ссылкой на первопричину исключения.

SoapException(String, XmlQualifiedName, SoapFaultSubCode)

Инициализирует новый экземпляр класса с указанным сообщением об исключении SoapException , кодом исключения и подкодом.

SoapException(String, XmlQualifiedName, String, Exception)

Инициализирует новый экземпляр SoapException класса с указанным сообщением об исключении, кодом исключения, универсальным кодом ресурса (URI), определяющим код, который вызвал исключение, и ссылается на первопричину исключения.

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

Инициализирует новый экземпляр SoapException класса с указанным сообщением об исключении, кодом исключения, универсальным кодом ресурса (URI), который идентифицирует фрагмент кода, который вызвал исключение, URI, представляющий функцию ВЕБ-службы XML в обработке сообщения SOAP, человеческого языка, связанного с исключением, сведений об исключении конкретного приложения, подкода ошибки SOAP и ссылки на первопричину исключения.

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

Инициализирует новый экземпляр SoapException класса с указанным сообщением об исключении, кодом исключения, URI, который определяет фрагмент кода, вызвавшего исключение, сведения об исключении, сведения об исключении для конкретного приложения и ссылку на первопричину исключения.

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

Инициализирует новый экземпляр SoapException класса с указанным сообщением об исключении, кодом исключения, URI, который определяет фрагмент кода, вызвавшего исключение, сведения об исключении, сведения об исключении для конкретного приложения и ссылку на первопричину исключения.

SoapException(String, XmlQualifiedName, String, XmlNode)

Инициализирует новый экземпляр SoapException класса с указанным сообщением об исключении, кодом исключения, универсальным кодом ресурса (URI), определяющим фрагмент кода, вызвавшего исключение, и сведения о конкретном исключении приложения.

SoapException(String, XmlQualifiedName, String)

Инициализирует новый экземпляр SoapException класса с указанным сообщением об исключении, кодом исключения и URI, который определяет фрагмент кода, вызвавшего исключение.

SoapException(String, XmlQualifiedName)

Инициализирует новый экземпляр класса с указанным сообщением об исключении SoapException и кодом исключения.

Поля

Имя Описание
ClientFaultCode

Указывает код сбоя SOAP, представляющий вызов клиента, который неправильно отформатирован или не содержит соответствующие сведения.

DetailElementName

Возвращает объект XmlQualifiedName , представляющий Detail элемент кода сбоя SOAP.

MustUnderstandFaultCode

Код ошибки SOAP, представляющий элемент SOAP, MustUnderstand помеченный атрибутом, не был обработан.

ServerFaultCode

Указывает, что код сбоя SOAP, представляющий ошибку во время обработки вызова клиента на сервере, где проблема не связана с содержимым сообщения.

VersionMismatchFaultCode

Код сбоя SOAP, представляющий недопустимое пространство имен для конверта SOAP, был найден во время обработки сообщения SOAP.

Свойства

Имя Описание
Actor

Возвращает фрагмент кода, вызвавшего исключение.

Code

Возвращает тип кода сбоя SOAP.

Data

Возвращает коллекцию пар "ключ-значение", которые предоставляют дополнительные пользовательские сведения об исключении.

(Унаследовано от Exception)
Detail

Возвращает сведения XmlNode об ошибках для конкретного приложения.

HelpLink

Возвращает или задает ссылку на файл справки, связанный с этим исключением.

(Унаследовано от Exception)
HResult

Возвращает или задает HRESULT, закодированное числовое значение, назначенное определенному исключению.

(Унаследовано от Exception)
InnerException

Возвращает экземпляр Exception, вызвавшего текущее исключение.

(Унаследовано от Exception)
Lang

Возвращает человеческий язык, связанный с исключением.

Message

Возвращает сообщение, описывающее текущее исключение.

(Унаследовано от Exception)
Node

Возвращает универсальный код ресурса (URI), представляющий фрагмент кода, вызвавшего исключение.

Role

Возвращает универсальный код ресурса (URI), представляющий функцию веб-службы XML в обработке сообщения SOAP.

Source

Возвращает или задает имя приложения или объекта, вызывающего ошибку.

(Унаследовано от Exception)
StackTrace

Возвращает строковое представление непосредственных кадров в стеке вызовов.

(Унаследовано от Exception)
SubCode

Возвращает необязательные сведения об ошибке, содержащиеся в XML-элементе subcode ошибки SOAP.

TargetSite

Возвращает метод, который вызывает текущее исключение.

(Унаследовано от Exception)

Методы

Имя Описание
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetBaseException()

При переопределении в производном классе возвращает Exception, которая является основной причиной одного или нескольких последующих исключений.

(Унаследовано от Exception)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetObjectData(SerializationInfo, StreamingContext)

SerializationInfo Задает сведения об исключении.

GetObjectData(SerializationInfo, StreamingContext)
Устаревшие..

При переопределении в производном классе задает SerializationInfo с информацией об исключении.

(Унаследовано от Exception)
GetType()

Возвращает тип среды выполнения текущего экземпляра.

(Унаследовано от Exception)
IsClientFaultCode(XmlQualifiedName)

Возвращает значение, указывающее, эквивалентен Client ли код сбоя SOAP коду сбоя SOAP независимо от используемой версии протокола SOAP.

IsMustUnderstandFaultCode(XmlQualifiedName)

Возвращает значение, указывающее, эквивалентен MustUnderstand ли код сбоя SOAP независимо от используемой версии протокола SOAP.

IsServerFaultCode(XmlQualifiedName)

Возвращает значение, указывающее, эквивалентен Server ли код сбоя SOAP коду сбоя SOAP независимо от используемой версии протокола SOAP.

IsVersionMismatchFaultCode(XmlQualifiedName)

Возвращает значение, указывающее, эквивалентен VersionMismatch ли код сбоя SOAP коду сбоя SOAP независимо от используемой версии протокола SOAP.

MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
ToString()

Создает и возвращает строковое представление текущего исключения.

(Унаследовано от Exception)

События

Имя Описание
SerializeObjectState
Устаревшие..

Происходит при сериализации исключения для создания объекта состояния исключения, содержащего сериализованные данные об исключении.

(Унаследовано от Exception)

Применяется к