SoapException 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
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 |
|
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 오류의 |
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 오류 코드가 |
IsMustUnderstandFaultCode(XmlQualifiedName) |
사용된 SOAP 프로토콜의 버전에 관계없이 SOAP 오류 코드가 |
IsServerFaultCode(XmlQualifiedName) |
사용된 SOAP 프로토콜의 버전에 관계없이 SOAP 오류 코드가 |
IsVersionMismatchFaultCode(XmlQualifiedName) |
사용된 SOAP 프로토콜의 버전에 관계없이 SOAP 오류 코드가 |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
ToString() |
현재 예외에 대한 문자열 표현을 만들고 반환합니다. (다음에서 상속됨 Exception) |
이벤트
SerializeObjectState |
사용되지 않음.
예외에 대한 serialize된 데이터가 들어 있는 예외 상태 개체가 만들어지도록 예외가 serialize될 때 발생합니다. (다음에서 상속됨 Exception) |
적용 대상
.NET