SoapHeader.DidUnderstand 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
XML Web services 메서드가 SOAP 헤더를 올바르게 처리했는지 여부를 나타내는 값을 가져오거나 설정합니다.
public:
property bool DidUnderstand { bool get(); void set(bool value); };
public bool DidUnderstand { get; set; }
member this.DidUnderstand : bool with get, set
Public Property DidUnderstand As Boolean
속성 값
SOAP 헤더를 올바르게 처리했으면 true
이고, 그렇지 않으면 false
입니다.
예제
다음 MyWebService
XML 웹 서비스를 정의 합니다 MyHeader
SOAP 헤더 및 필요에 대 한 모든 호출을 사용 하 여 전송할 수 있도록는 MyWebMethod
XML 웹 서비스 메서드. 또한 합니다 MyWebMethod
이외의 모든 SOAP 헤더를 수신 합니다 MyHeader
SOAP 헤더입니다. SOAP 헤더에 대해서는 MyWebMethod
처리할 수 있습니다 DidUnderstand 로 설정 된 true
합니다.
<%@ WebService Language="C#" Class="MyWebService"%>
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml;
using System;
// Define a SOAP header by deriving from the SoapHeader base class.
public class MyHeader : SoapHeader {
public string MyValue;
}
public class MyWebService {
public MyHeader myHeader;
// Receive all SOAP headers besides the MyHeader SOAP header.
public SoapUnknownHeader[] unknownHeaders;
[WebMethod]
[SoapHeader("myHeader", Direction=SoapHeaderDirection.InOut)]
//Receive any SOAP headers other than MyHeader.
[SoapHeader("unknownHeaders",Required=false)]
public string MyWebMethod() {
foreach (SoapUnknownHeader header in unknownHeaders) {
// Perform some processing on the header.
if (header.Element.Name == "MyKnownHeader")
header.DidUnderstand = true;
else
// For those headers that cannot be
// processed, set the DidUnderstand property to false.
header.DidUnderstand = false;
}
return "Hello";
}
}
<%@ WebService Language="VB" Class="MyWebService"%>
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.Xml
Imports System
' Define a SOAP header by deriving from the SoapHeader base class.
Public Class MyHeader
Inherits SoapHeader
Public MyValue As String
End Class
Public Class MyWebService
Public theHeader As MyHeader
' Receive all SOAP headers besides the MyHeader SOAP header.
Public unknownHeaders() As SoapUnknownHeader
'Receive any SOAP headers other than MyHeader.
<WebMethod, _
SoapHeader("theHeader", Direction := SoapHeaderDirection.InOut), _
SoapHeader("unknownHeaders")> _
Public Function MyWebMethod() As String
Dim header As SoapUnknownHeader
For Each header In unknownHeaders
' Perform some processing on the header.
If header.Element.Name = "MyKnownHeader" Then
header.DidUnderstand = True
Else
' For those headers that cannot be
' processed, set the DidUnderstand propert to false.
header.DidUnderstand = False
End If
Next header
Return "Hello"
End Function
End Class
설명
ASP.NET XML 웹 서비스에서 정의 된 SOAP 헤더에 대 한 XML 웹 서비스 메서드가의 초기 값을 설정 하 여 SOAP 헤더를 제대로 처리를 가정 DidUnderstand 에 true
입니다. XML 웹 서비스에 의해 정의 되지 않은 SOAP 헤더에 대 한 초기 값은 false
합니다. ASP.NET에서 SOAP를 검색 하는 경우와 XML 웹 서비스 메서드에 전달 된 헤더 DidUnderstand 로 설정 false
메서드가 반환 된 후, SoapHeaderException XML 웹 서비스 메서드의 결과 대신 XML 웹 서비스 클라이언트에 다시 throw 됩니다.