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, |
| 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-элементе |
| TargetSite |
Возвращает метод, который вызывает текущее исключение. (Унаследовано от Exception) |
Методы
| Имя | Описание |
|---|---|
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetBaseException() |
При переопределении в производном классе возвращает Exception, которая является основной причиной одного или нескольких последующих исключений. (Унаследовано от Exception) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetObjectData(SerializationInfo, StreamingContext) |
SerializationInfo Задает сведения об исключении. |
| GetObjectData(SerializationInfo, StreamingContext) |
Устаревшие..
При переопределении в производном классе задает SerializationInfo с информацией об исключении. (Унаследовано от Exception) |
| GetType() |
Возвращает тип среды выполнения текущего экземпляра. (Унаследовано от Exception) |
| IsClientFaultCode(XmlQualifiedName) |
Возвращает значение, указывающее, эквивалентен |
| IsMustUnderstandFaultCode(XmlQualifiedName) |
Возвращает значение, указывающее, эквивалентен |
| IsServerFaultCode(XmlQualifiedName) |
Возвращает значение, указывающее, эквивалентен |
| IsVersionMismatchFaultCode(XmlQualifiedName) |
Возвращает значение, указывающее, эквивалентен |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| ToString() |
Создает и возвращает строковое представление текущего исключения. (Унаследовано от Exception) |
События
| Имя | Описание |
|---|---|
| SerializeObjectState |
Устаревшие..
Происходит при сериализации исключения для создания объекта состояния исключения, содержащего сериализованные данные об исключении. (Унаследовано от Exception) |