SoapException.Detail Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
XmlNode Mendapatkan yang mewakili detail informasi kesalahan khusus aplikasi.
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
Nilai Properti
Informasi kesalahan khusus aplikasi.
Contoh
Contoh berikut melempar SoapException, di mana metode layanan Web XML mengatur Detail properti .
<%@ 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
Keterangan
Detail Properti dapat diatur menggunakan salah satu konstruktor kelas yang menerima Detail nilai.
Properti Detail digunakan untuk menyediakan detail kesalahan khusus aplikasi yang terkait dengan Body
elemen permintaan SOAP. Menurut spesifikasi SOAP, jika terjadi kesalahan karena permintaan klien tidak dapat diproses karena Body
elemen permintaan SOAP, Detail properti harus ditetapkan. Jika terjadi kesalahan dalam entri header permintaan SOAP, Anda harus melempar SoapHeaderException, sehingga detail kesalahan dikembalikan di header SOAP. Jika kesalahan tidak terjadi, karena pemrosesan Body
elemen , maka Detail properti tidak boleh diatur.
Dalam membangun XmlNode untuk Detail properti , Name properti DetailElementName dan Namespace dapat digunakan untuk memastikan konsistensi dengan spesifikasi SOAP.
Semua elemen anak langsung dari elemen detail disebut entri detail dan setiap entri detail dikodekan sebagai elemen independen dalam elemen detail.