SoapHeader SoapHeader SoapHeader SoapHeader Class

Определение

В случае переопределения в производном классе представляет содержимое заголовка SOAP.When overridden in a derived class, represents the content of a SOAP header.

public ref class SoapHeader abstract
public abstract class SoapHeader
type SoapHeader = class
Public MustInherit Class SoapHeader
Наследование
SoapHeaderSoapHeaderSoapHeaderSoapHeader
Производный

Примеры

Следующие MyWebService XML-веб-служба определяет MyHeader заголовок SOAP и требует его передачи при любых вызовах MyWebMethod метода XML-веб-службы.The following MyWebService XML Web service defines the MyHeader SOAP header and requires it to be sent with any calls to the MyWebMethod XML Web service method. Кроме того MyWebMethod получает все заголовки SOAP, отличные от MyHeader заголовка SOAP.Additionally, MyWebMethod receives any SOAP headers other than the MyHeader SOAP header.

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

Комментарии

Заголовки SOAP предоставляют методы для передачи данных и обратно к методу XML-веб-службы, если данные не имеет прямого отношения к основной функциональности метода XML-веб-службы.SOAP headers offer a method for passing data to and from an XML Web service method if the data is not directly related to the XML Web service method's primary functionality. Например веб-службы XML может содержать несколько методов XML-веб-службы, что каждое из которых требует пользовательской схемы аутентификации.For instance, an XML Web service might contain several XML Web service methods that each require a custom authentication scheme. Вместо добавления параметров для каждого метода XML-веб-службы для пользовательской схемы проверки подлинности, SoapHeaderAttribute, ссылающийся на класс, наследуемый от SoapHeader, могут применяться к каждому методу XML-веб-службы.Instead of adding parameters to each XML Web service method for the custom authentication scheme, a SoapHeaderAttribute, referring to a class deriving from SoapHeader, can be applied to each XML Web service method. Реализация класса, производного от SoapHeader обрабатывает настраиваемая схема аутентификации.The implementation for the class deriving from SoapHeader handles the custom authentication scheme. Таким образом метод XML-веб-службы реализует только функции, относящиеся к ней и добавляет дополнительные функции, с помощью заголовка SOAP.In this manner, the XML Web service method implements only the functionality specific to it and adds additional functionality using a SOAP header.

Следующий список содержит основные шаги для получения и обработки заголовка SOAP:The following list outlines the basic steps to receiving and processing a SOAP header:

  1. Создайте класс, производный от SoapHeader представляющий данные, передаваемые в заголовке SOAP.Create a class that derives from SoapHeader representing the data passed into the SOAP header.

  2. Добавление члена класса, реализующего веб-службы XML или XML-веб-службы клиента класс прокси, типа, созданный на первом шаге.Add a member to the class implementing an XML Web service or an XML Web service client proxy class, of the type created in the first step.

  3. Применить SoapHeaderAttribute метода XML-веб-службы или соответствующего метода в прокси-класса, указывающий член, созданные в на втором этапе MemberName свойство.Apply a SoapHeaderAttribute to the XML Web service method or the corresponding method in the proxy class, specifying the member created in the second step in the MemberName property.

  4. Внутри метода XML-веб-службы или кода клиента XML-веб-службы, доступ к MemberName свойства для обработки данных, отправленных в заголовке SOAP.Within the XML Web service method or XML Web service client code, access the MemberName property to process the data sent in the SOAP header.

Конструкторы

SoapHeader() SoapHeader() SoapHeader() SoapHeader()

Инициализирует новый экземпляр класса SoapHeader.Initializes a new instance of the SoapHeader class.

Свойства

Actor Actor Actor Actor

Получает или задает получателя для заголовка SOAP.Gets or sets the recipient of the SOAP header.

DidUnderstand DidUnderstand DidUnderstand DidUnderstand

Получает или задает значение, указывающее, правильно ли обработан заголовок SOAP методом веб-службы XML.Gets or sets a value indicating whether an XML Web service method properly processed a SOAP header.

EncodedMustUnderstand EncodedMustUnderstand EncodedMustUnderstand EncodedMustUnderstand

Получает или задает значение XML-атрибута mustUnderstand для заголовка SOAP при взаимодействии по протоколу SOAP версии 1.1.Gets or sets the value of the mustUnderstand XML attribute for the SOAP header when communicating with SOAP protocol version 1.1.

EncodedMustUnderstand12 EncodedMustUnderstand12 EncodedMustUnderstand12 EncodedMustUnderstand12

Возвращает или задает значение атрибута XML mustUnderstand для заголовка SOAP при взаимодействии по протоколу SOAP версии 1.2.Gets or sets the value of the mustUnderstand XML attribute for the SOAP header when communicating with SOAP protocol version 1.2.

EncodedRelay EncodedRelay EncodedRelay EncodedRelay

Получает или задает атрибут "relay" заголовка SOAP 1.2.Gets or sets the relay attribute of the SOAP 1.2 header.

MustUnderstand MustUnderstand MustUnderstand MustUnderstand

Получает или задает значение, указывающее, должен ли быть понят заголовок SoapHeader.Gets or sets a value indicating whether the SoapHeader must be understood.

Relay Relay Relay Relay

Получает или задает значение, указывающее, должен ли заголовок SOAP ретранслироваться на следующий узел SOAP, если текущий узел не понимает заголовок.Gets or sets a value that indicates whether the SOAP header is to be relayed to the next SOAP node if the current node does not understand the header.

Role Role Role Role

Получает или задает получателя для заголовка SOAP.Gets or sets the recipient of the SOAP header.

Методы

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Inherited from Object)

Применяется к

Дополнительно