Bagikan melalui


SoapException.Code Properti

Definisi

Mendapatkan jenis kode kesalahan SOAP.

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

Nilai Properti

Yang XmlQualifiedName menentukan kode kesalahan SOAP yang terjadi.

Contoh

Contoh Formulir Web berikut memanggil Math metode Layanan Web, yang melemparkan pengecualian jika pembagian dengan nol terjadi. Setelah pengecualian dilemparkan, Formulir Web menangkap pengecualian dan menghasilkan detail pengecualian, termasuk Actor properti dan Code ke dalam HtmlTable kontrol.

<%@ Page Language="C#" %>
<html>
 <head>
 <script runat=server language="C#">
   void Page_Load(Object o, EventArgs e)
   {
     
   int UsageCount;
   // Create a new instance of the proxy class.
   MyMath.Math math = new MyMath.Math(); 
   // Make a call to the Math XML Web service, which throws an exception.
   try
       {
       math.Divide(3, 0);
       }
   catch (System.Web.Services.Protocols.SoapException error)
       {
       // Populate the table with the exception details.
       ErrorTable.Rows.Add(BuildNewRow("Fault Code Namespace", error.Code.Namespace));
       ErrorTable.Rows.Add(BuildNewRow("Fault Code Name", error.Code.Name));        
       ErrorTable.Rows.Add(BuildNewRow("SOAP Actor that threw Exception", error.Actor));        
       ErrorTable.Rows.Add(BuildNewRow("Error Message", error.Message));        
       return;
       }
   }
 
   HtmlTableRow BuildNewRow(string Cell1Text, string Cell2Text)
   {
       HtmlTableRow row = new HtmlTableRow();
       HtmlTableCell cell1 = new HtmlTableCell();
       HtmlTableCell cell2 = new HtmlTableCell();
         
       // Set the contents of the two cells.
       cell1.Controls.Add(new LiteralControl(Cell1Text));
       // Add the cells to the row.
       row.Cells.Add(cell1);
     
       cell2.Controls.Add(new LiteralControl(Cell2Text));
     
       // Add the cells to the row.
       row.Cells.Add(cell2);
       return row;
     }
 </script>
 </head>
 <body>
     <table id="ErrorTable"
        CellPadding=5 
        CellSpacing=0 
        Border="1" 
        BorderColor="black" 
        runat="server" />
 </body>
<%@ Page Language="VB"%>
<html>
 <head>
 <script runat=server language="VB">
Sub Page_Load(o As Object, e As EventArgs)    
    Dim UsageCount As Integer
    ' Create a new instance of the proxy class.
    Dim math As New MyMath.Math()
    ' Make a call to the Math XML Web service, which throws an exception.
    Try
        math.Divide(3, 0)
    Catch err As System.Web.Services.Protocols.SoapException
        ' Populate our Table with the Exception details
        ErrorTable.Rows.Add(BuildNewRow("Fault Code Namespace", err.Code.Namespace))
        ErrorTable.Rows.Add(BuildNewRow("Fault Code Name", err.Code.Name))
        ErrorTable.Rows.Add(BuildNewRow("SOAP Actor that threw Exception", err.Actor))
        ErrorTable.Rows.Add(BuildNewRow("Error Message", err.Message))
        Return
    End Try
End Sub 'Page_Load


Function BuildNewRow(Cell1Text As String, Cell2Text As String) As HtmlTableRow
    Dim row As New HtmlTableRow()
    Dim cell1 As New HtmlTableCell()
    Dim cell2 As New HtmlTableCell()
    
    ' Set the contents of the two cells.
    cell1.Controls.Add(New LiteralControl(Cell1Text))
    ' Add the cells to the row.
    row.Cells.Add(cell1)
    
    cell2.Controls.Add(New LiteralControl(Cell2Text))
    
    ' Add the cells to the row.
    row.Cells.Add(cell2)
    Return row
End Function 'BuildNewRow
 </script>
 </head>
 <body>
     <table id="ErrorTable"
        CellPadding=5 
        CellSpacing=0 
        Border="1" 
        BorderColor="black" 
        runat="server" />
 </body>

Agar Formulir Web sebelumnya menggunakan contoh layanan Web XML berikut Math , namespace MyMath ditentukan selama pembuatan kelas proksi.

<%@ WebService Language="C#" Class="Math"%>
 using System.Web.Services;
 using System;
 public class Math : WebService {
     [WebMethod]
     public float Divide(int dividend, int divisor) {
         if (divisor == 0)
             throw new DivideByZeroException();
 
         return dividend/divisor;
     }
  }
<%@ WebService Language="VB" Class="Math"%>
Imports System.Web.Services
Imports System

Public Class Math
    Inherits WebService

    <WebMethod()> _
    Public Function Divide(dividend As Integer, divisor As Integer) As Single
        If divisor = 0 Then
            Throw New DivideByZeroException()
        End If 
        Return Convert.ToSingle(dividend / divisor)
    End Function 'Divide
End Class  'Math

Keterangan

Properti Code hanya dapat diatur saat membuat instans SoapException baru kelas.

Kelas SoapException ini untuk digunakan oleh klien layanan Web XML yang memanggil metode layanan Web XML melalui SOAP. ASP.NET menangani apakah klien yang memanggil menggunakan SOAP. Ini adalah ketika pengecualian terjadi dalam layanan Web XML. Jika klien menggunakan SOAP, ASP.NET membungkus pengecualian tertentu ke dalam SoapException dan menetapkan Actor properti dan Code .

Kumpulan kode yang tersedia, yang dikenal sebagai Kode Kesalahan SOAP untuk protokol SOAP versi 1.1, adalah sebagai berikut:

Item Deskripsi
VersionMismatchFaultCode Namespace tidak valid untuk amplop SOAP ditemukan.
MustUnderstandFaultCode Tidak semua elemen SOAP memerlukan pemrosesan. Namun, jika elemen SOAP ditandai dengan MustUnderstand atribut dengan nilai 1, maka diperlukan. Kegagalan untuk memproses elemen menghasilkan pengecualian ini.
ClientFaultCode Panggilan klien tidak diformat dengan benar atau tidak berisi informasi yang sesuai. Misalnya, panggilan klien mungkin tidak memiliki informasi autentikasi atau pembayaran yang tepat. Ini umumnya merupakan indikasi bahwa pesan harus diubah sebelum dikirim kembali.
ServerFaultCode Kesalahan terjadi selama pemrosesan panggilan klien di server, namun, masalahnya bukan karena konten pesan. Misalnya, server upstram mungkin tidak merespons permintaan karena masalah jaringan. Biasanya, dengan jenis pengecualian ini, panggilan klien mungkin berhasil nanti. Jika layanan Web XML melemparkan pengecualian, selain SoapException dan panggilan klien menggunakan SOAP, ASP.NET mengonversi pengecualian ke SoapException, mengatur Code properti ke ServerFaultCode dan melemparkannya kembali ke klien.

Berlaku untuk

Lihat juga