SoapException.Detail Özellik

Tanım

Uygulamaya özgü hata bilgileri ayrıntılarını temsil eden bir XmlNode alır.

public:
 property System::Xml::XmlNode ^ Detail { System::Xml::XmlNode ^ get(); };
public System.Xml.XmlNode Detail { get; }
member this.Detail : System.Xml.XmlNode
Public ReadOnly Property Detail As XmlNode

Özellik Değeri

Uygulamaya özgü hata bilgileri.

Örnekler

Aşağıdaki örnek, XML Web hizmeti yönteminin özelliğini ayarladığı Detail bir SoapExceptionoluşturur.

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

Açıklamalar

özelliği, Detail bir Detail değeri kabul eden sınıf oluşturucularından biri kullanılarak ayarlanabilir.

Detail özelliği, SOAP isteğinin Body öğesiyle ilgili uygulamaya özgü hata ayrıntılarını sağlamak için kullanılır. SOAP belirtimine göre, istemci isteği SOAP isteğinin öğesinden dolayı işlenemediği için Body bir hata oluşursa özelliği Detail ayarlanmalıdır. SOAP isteğinin üst bilgi girişlerinde hata oluşursa, hata ayrıntılarının SOAP üst bilgisinde döndürülmesi için bir SoapHeaderExceptionoluşturmanız gerekir. Hata oluşmazsa, öğenin Detail işlenmesi Body nedeniyle özelliği ayarlanmamalıdır.

özelliği için bir XmlNode oluştururken Detail ve Namespace özellikleri DetailElementName SOAP Name belirtimiyle tutarlılığı sağlamak için kullanılabilir.

Ayrıntı öğesinin tüm anlık alt öğeleri ayrıntı girdileri olarak adlandırılır ve her ayrıntı girdisi ayrıntı öğesi içinde bağımsız bir öğe olarak kodlanır.

Şunlara uygulanır

Ayrıca bkz.