SoapException.Detail Właściwość

Definicja

Pobiera element XmlNode reprezentujący szczegóły informacji o błędach specyficznych dla aplikacji.

C#
public System.Xml.XmlNode Detail { get; }

Wartość właściwości

Informacje o błędzie specyficzne dla aplikacji.

Przykłady

Poniższy przykład zgłasza metodę SoapException, gdzie metoda usługi sieci Web XML ustawia Detail właściwość .

ASP.NET (C#)
<%@ 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;    
    }
}

Uwagi

Właściwość Detail można ustawić przy użyciu jednego z konstruktorów klas, które akceptują Detail wartość.

Właściwość Detail służy do podawania szczegółowych informacji o błędach specyficznych dla aplikacji związanych z elementem Body żądania SOAP. Zgodnie ze specyfikacją protokołu SOAP, jeśli wystąpi błąd, ponieważ nie można przetworzyć żądania klienta z powodu Body elementu żądania SOAP, Detail właściwość musi zostać ustawiona. Jeśli w nagłówku żądania SOAP wystąpi błąd, należy zgłosić element SoapHeaderException, aby szczegóły błędu były zwracane w nagłówku protokołu SOAP. Jeśli błąd nie występuje, ze względu na przetwarzanie Body elementu, właściwość nie może być ustawiona Detail .

W tworzeniu XmlNodeDetail właściwości Name właściwości właściwości DetailElementName i Namespace można użyć w celu zapewnienia spójności ze specyfikacją protokołu SOAP.

Wszystkie natychmiastowe elementy podrzędne elementu szczegółów są nazywane wpisami szczegółów, a każdy wpis szczegółów jest zakodowany jako niezależny element w elemecie szczegółów.

Dotyczy

Produkt Wersje
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

Zobacz też