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 , но в элементе fault присутствует пустой элемент detail. |
Метод веб-службы XML может вызывать исключение , SoapException когда клиенты вызывают с помощью ПРОТОКОЛА SOAP. Если веб-служба XML выдает SoapException, другие сведения можно добавить с помощью Actorсвойств и , CodeDetail которые не могут быть заданы методом веб-службы XML, если создается исключение другого типа.
Конструкторы
SoapException() |
Инициализирует новый экземпляр класса SoapException. |
SoapException(SerializationInfo, StreamingContext) |
Инициализирует новый экземпляр класса SoapException с сериализованными данными. |
SoapException(String, XmlQualifiedName) |
Инициализирует новый экземпляр класса SoapException с указанным сообщением об исключении и заданным кодом исключения. |
SoapException(String, XmlQualifiedName, Exception) |
Инициализирует новый экземпляр класса SoapException с указанным сообщением об исключении, кодом исключения и ссылкой на основную причину данного исключения. |
SoapException(String, XmlQualifiedName, SoapFaultSubCode) |
Инициализирует новый экземпляр класса SoapException с указанным сообщением об исключении, кодом исключения и дополнительным кодом. |
SoapException(String, XmlQualifiedName, String) |
Инициализирует новый экземпляр класса SoapException с указанным сообщением об исключении, кодом исключения и URI-кодом, идентифицирующим фрагмент программного кода, вызвавшего исключение. |
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) |
Инициализирует новый экземпляр класса SoapException с указанным сообщением об исключении, кодом исключения и URI-кодом, идентифицирующим фрагмент кода, вызвавшего исключение, а также со сведениями об исключении, характерными для приложения. |
SoapException(String, XmlQualifiedName, String, XmlNode, Exception) |
Инициализирует новый экземпляр класса SoapException с заданным сообщением об исключении, кодом исключения, URI, определяющим часть кода, вызвавшую исключение, сведениями об исключении, относящимися к конкретному приложению, и ссылкой на первопричину исключения. |
Поля
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) |
Возвращает значение, которое указывает, эквивалентен ли код ошибки SOAP коду ошибки SOAP |
IsMustUnderstandFaultCode(XmlQualifiedName) |
Возвращает значение, указывающее, эквивалентен ли код ошибки SOAP коду |
IsServerFaultCode(XmlQualifiedName) |
Возвращает значение, которое указывает, эквивалентен ли код ошибки SOAP коду ошибки SOAP |
IsVersionMismatchFaultCode(XmlQualifiedName) |
Возвращает значение, которое указывает, эквивалентен ли код ошибки SOAP коду ошибки SOAP |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
ToString() |
Создает и возвращает строковое представление текущего исключения. (Унаследовано от Exception) |
События
SerializeObjectState |
Устаревшие..
Возникает, когда исключение сериализовано для создания объекта состояния исключения, содержащего сериализованные данные об исключении. (Унаследовано от Exception) |