다음을 통해 공유


SoapException 클래스

정의

XML Web services 메서드가 SOAP를 통해 호출되고 예외 발생 시 throw되는 예외를 나타냅니다.

public ref class SoapException : SystemException
public class SoapException : SystemException
[System.Serializable]
public class SoapException : SystemException
type SoapException = class
    inherit SystemException
[<System.Serializable>]
type SoapException = class
    inherit SystemException
Public Class SoapException
Inherits SystemException
상속
파생
특성

예제

다음 예제에서는 throw는 SoapException XML 웹 서비스 메서드를 설정 하는 Detail 속성입니다.

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

설명

공용 SoapException 언어 런타임 또는 XML 웹 서비스 메서드에서 을 throw할 수 있습니다. 요청에 대한 응답의 형식이 SoapException 올바르게 지정되지 않은 경우 공용 언어 런타임에서 을 throw할 수 있습니다. XML 웹 서비스 메서드는 XML 웹 서비스 메서드 내에서 예외를 throw하여 을 생성 SoapException 할 수 있습니다. 클라이언트가 SOAP를 통해 메서드에 액세스한 경우 예외가 서버에서 catch되고 새 SoapException내부에 래핑됩니다. SoapException throw된 에는 다음과 같은 속성 값이 있습니다.

속성
Message Message 원래 예외의 속성입니다.
Code ServerFaultCode.
Actor XML 웹 서비스 메서드의 URL입니다.
Detail null하지만 빈 세부 정보 요소가 fault 요소에 있습니다.

XML 웹 서비스 메서드는 클라이언트가 SOAP를 사용하여 를 호출할 때 을 SoapException throw할 수 있습니다. XML 웹 서비스가 을 SoapExceptionthrow하는 경우 를 통해 ActorCode 다른 세부 정보를 추가할 수 있으며 Detail 다른 유형의 예외가 throw되는 경우 XML 웹 서비스 메서드에서 설정할 수 없는 속성도 추가할 수 있습니다.

생성자

SoapException()

SoapException 클래스의 새 인스턴스를 초기화합니다.

SoapException(SerializationInfo, StreamingContext)

serialize된 데이터를 사용하여 SoapException 클래스의 새 인스턴스를 초기화합니다.

SoapException(String, XmlQualifiedName)

지정된 예외 메시지 및 예외 코드를 사용하여 SoapException 클래스의 새 인스턴스를 초기화합니다.

SoapException(String, XmlQualifiedName, Exception)

지정된 예외 메시지, 예외 코드 및 예외가 발생하게 된 근본 원인에 대한 참조를 사용하여 SoapException 클래스의 새 인스턴스를 초기화합니다.

SoapException(String, XmlQualifiedName, SoapFaultSubCode)

지정한 예외 메시지, 예외 코드 및 하위 코드를 사용하여 SoapException 클래스의 새 인스턴스를 초기화합니다.

SoapException(String, XmlQualifiedName, String)

지정된 예외 메시지, 예외 코드 및 예외를 발생시킨 코드 부분을 식별하는 URI를 사용하여 SoapException 클래스의 새 인스턴스를 초기화합니다.

SoapException(String, XmlQualifiedName, String, Exception)

지정된 예외 메시지, 예외 코드, 예외를 발생시킨 코드를 식별하는 URI 및 예외의 근본 원인에 대한 참조를 사용하여 SoapException 클래스의 새 인스턴스를 초기화합니다.

SoapException(String, XmlQualifiedName, String, String, String, XmlNode, SoapFaultSubCode, Exception)

지정된 예외 메시지, 예외 코드, 예외를 발생시킨 코드 부분을 식별하는 URI, SOAP 메시지를 처리하는 XML Web services의 기능을 나타내는 URI, 예외와 관련된 인간 언어, 애플리케이션별 예외 정보, SOAP 오류에 대한 하위 코드 및 예외의 근본 원인에 대한 참조를 사용하여 SoapException 클래스의 새 인스턴스를 초기화합니다.

SoapException(String, XmlQualifiedName, String, String, XmlNode, SoapFaultSubCode, Exception)

지정된 예외 메시지, 예외 코드, 예외를 발생시킨 코드 부분을 식별하는 URI, 애플리케이션별 예외 정보 및 예외의 근본 원인에 대한 참조를 사용하여 SoapException 클래스의 새 인스턴스를 초기화합니다.

SoapException(String, XmlQualifiedName, String, XmlNode)

지정된 예외 메시지, 예외 코드, 예외를 발생시킨 코드 부분을 식별하는 URI 및 애플리케이션별 예외 정보를 사용하여 SoapException 클래스의 새 인스턴스를 초기화합니다.

SoapException(String, XmlQualifiedName, String, XmlNode, Exception)

지정된 예외 메시지, 예외 코드, 예외를 발생시킨 코드 부분을 식별하는 URI, 애플리케이션별 예외 정보 및 예외의 근본 원인에 대한 참조를 사용하여 SoapException 클래스의 새 인스턴스를 초기화합니다.

필드

ClientFaultCode

클라이언트 호출의 형식이 잘못 지정되거나 클라이언트 호출에 적절한 정보가 없음을 나타내는 SOAP 오류 코드를 지정합니다.

DetailElementName

SOAP 오류 코드의 XmlQualifiedName 요소를 나타내는 Detail을 가져옵니다.

MustUnderstandFaultCode

MustUnderstand 특성으로 표시된 SOAP 요소를 나타내는 SOAP 오류 코드는 처리되지 않았습니다.

ServerFaultCode

서버에서 클라이언트 호출을 처리하는 동안 메시지 내용 외의 원인으로 오류가 발생했음을 나타내는 SOAP 오류 코드를 지정합니다.

VersionMismatchFaultCode

SOAP 메시지를 처리하는 동안 발견된 SOAP Envelope의 잘못된 네임스페이스를 나타내는 SOAP 오류 코드입니다.

속성

Actor

예외를 발생시킨 코드 부분을 가져옵니다.

Code

SOAP fault 코드의 형식을 가져옵니다.

Data

예외에 대한 사용자 정의 정보를 추가로 제공하는 키/값 쌍 컬렉션을 가져옵니다.

(다음에서 상속됨 Exception)
Detail

애플리케이션별 오류 세부 정보를 나타내는 XmlNode를 가져옵니다.

HelpLink

이 예외와 연결된 도움말 파일에 대한 링크를 가져오거나 설정합니다.

(다음에서 상속됨 Exception)
HResult

특정 예외에 할당된 코드화된 숫자 값인 HRESULT를 가져오거나 설정합니다.

(다음에서 상속됨 Exception)
InnerException

현재 예외를 발생시킨 Exception 인스턴스를 가져옵니다.

(다음에서 상속됨 Exception)
Lang

예외와 연결된 인간 언어를 가져옵니다.

Message

현재 예외를 설명하는 메시지를 가져옵니다.

(다음에서 상속됨 Exception)
Node

예외를 발생시킨 코드 부분을 나타내는 URI를 가져옵니다.

Role

SOAP 메시지 처리 시 XML Web services의 기능을 나타내는 URI를 가져옵니다.

Source

오류를 발생시키는 애플리케이션 또는 개체의 이름을 가져오거나 설정합니다.

(다음에서 상속됨 Exception)
StackTrace

호출 스택의 직접 실행 프레임 문자열 표현을 가져옵니다.

(다음에서 상속됨 Exception)
SubCode

SOAP 오류의 subcode XML 요소에 포함된 선택적 오류 정보를 가져옵니다.

TargetSite

현재 예외를 throw하는 메서드를 가져옵니다.

(다음에서 상속됨 Exception)

메서드

Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
GetBaseException()

파생 클래스에서 재정의된 경우 하나 이상의 후속 예외의 근본 원인이 되는 Exception 을 반환합니다.

(다음에서 상속됨 Exception)
GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetObjectData(SerializationInfo, StreamingContext)

예외에 대한 정보를 사용하여 SerializationInfo를 설정합니다.

GetObjectData(SerializationInfo, StreamingContext)
사용되지 않음.

파생 클래스에서 재정의된 경우 예외에 관한 정보를 SerializationInfo 에 설정합니다.

(다음에서 상속됨 Exception)
GetType()

현재 인스턴스의 런타임 형식을 가져옵니다.

(다음에서 상속됨 Exception)
IsClientFaultCode(XmlQualifiedName)

사용된 SOAP 프로토콜의 버전에 관계없이 SOAP 오류 코드가 Client SOAP 오류 코드와 같은지 여부를 나타내는 값을 반환합니다.

IsMustUnderstandFaultCode(XmlQualifiedName)

사용된 SOAP 프로토콜의 버전에 관계없이 SOAP 오류 코드가 MustUnderstand와 같은지 여부를 나타내는 값을 반환합니다.

IsServerFaultCode(XmlQualifiedName)

사용된 SOAP 프로토콜의 버전에 관계없이 SOAP 오류 코드가 Server SOAP 오류 코드와 같은지 여부를 나타내는 값을 반환합니다.

IsVersionMismatchFaultCode(XmlQualifiedName)

사용된 SOAP 프로토콜의 버전에 관계없이 SOAP 오류 코드가 VersionMismatch SOAP 오류 코드와 같은지 여부를 나타내는 값을 반환합니다.

MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
ToString()

현재 예외에 대한 문자열 표현을 만들고 반환합니다.

(다음에서 상속됨 Exception)

이벤트

SerializeObjectState
사용되지 않음.

예외에 대한 serialize된 데이터가 들어 있는 예외 상태 개체가 만들어지도록 예외가 serialize될 때 발생합니다.

(다음에서 상속됨 Exception)

적용 대상