Freigeben über


SoapException.Detail-Eigenschaft

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