Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ruft einen XmlNode ab, der die Einzelheiten von anwendungsspezifischen Fehlerinformationen darstellt.
Namespace: System.Web.Services.Protocols
Assembly: System.Web.Services (in system.web.services.dll)
Syntax
'Declaration
Public ReadOnly Property Detail As XmlNode
'Usage
Dim instance As SoapException
Dim value As XmlNode
value = instance.Detail
public XmlNode Detail { get; }
public:
property XmlNode^ Detail {
XmlNode^ get ();
}
/** @property */
public XmlNode get_Detail ()
public function get Detail () : XmlNode
Eigenschaftenwert
Die anwendungsspezifischen Fehlerinformationen.
Hinweise
Die Detail-Eigenschaft kann mit einem Klassenkonstruktor festgelegt werden, der einen Detail-Wert annimmt.
Mit der Detail-Eigenschaft werden anwendungsspezifische Fehlerinformationen bereitgestellt, die mit dem Body-Element der SOAP-Anforderung in Zusammenhang stehen. Der SOAP-Spezifikation zufolge muss die Detail-Eigenschaft festgelegt werden, wenn die Clientanforderung aufgrund des Body-Elements der SOAP-Anforderung nicht verarbeitet werden kann und deshalb ein Fehler auftritt. Wenn in den Header-Einträgen der SOAP-Anforderung ein Fehler auftritt, muss eine SoapHeaderException ausgelöst werden, sodass die Fehlerinformationen im SOAP-Header zurückgegeben werden. Wenn das Auftreten des Fehlers nicht mit der Verarbeitung des Body-Elements in Zusammenhang steht, muss die Detail-Eigenschaft nicht festgelegt werden.
Beim Erstellen eines XmlNode für die Detail-Eigenschaft können die Name-Eigenschaft und die Namespace-Eigenschaft von DetailElementName verwendet werden, um Konsistenz mit der SOAP-Spezifikation sicherzustellen.
Alle direkt untergeordneten Elemente des Detailelements werden als Detaileinträge bezeichnet. Jeder Detaileintrag ist als eigenständiges Element innerhalb des Detailelements codiert.
Beispiel
Im folgenden Beispiel wird eine SoapException ausgelöst, wobei die XML-Webdienstmethode die Detail-Eigenschaft festlegt.
<%@ 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
<%@ 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; }
}
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0, 1.0
Siehe auch
Referenz
SoapException-Klasse
SoapException-Member
System.Web.Services.Protocols-Namespace
XmlNode
SoapHeaderException