Поделиться через


SoapDocumentMethodAttribute Класс

Определение

Применение атрибута SoapDocumentMethodAttribute к методу указывает на то, что сообщения SOAP, посылаемые в метод и отправляемые из метода, используют форматирование Document.

public ref class SoapDocumentMethodAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Method)]
public sealed class SoapDocumentMethodAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Method)>]
type SoapDocumentMethodAttribute = class
    inherit Attribute
Public NotInheritable Class SoapDocumentMethodAttribute
Inherits Attribute
Наследование
SoapDocumentMethodAttribute
Атрибуты

Примеры

В следующем примере кода для метода веб-службы XML задается стиль DocumentGetUserName сообщения . Кроме того, xml-элементу с элементом Body для запроса SOAP и ответа SOAP присваиваются значения GetUserNameRequest и GetUserNameResponseсоответственно.

<%@ WebService Language="C#" class="MyUser" %>
 using System;
 using System.Web.Services;
 using System.Web.Services.Protocols;
 
 public class MyUser : WebService {
 
       [ SoapDocumentMethod(Action="http://www.contoso.com/Sample", 
           RequestNamespace="http://www.contoso.com/Request",
           RequestElementName="GetUserNameRequest",
           ResponseNamespace="http://www.contoso.com/Response",
           ResponseElementName="GetUserNameResponse")]
      [ WebMethod(Description="Obtains the User Name") ]
      public UserName GetUserName() {
           string temp;
           int pos;
           UserName NewUser = new UserName();
           
           // Get the full user name, including the domain name if applicable.
           temp = User.Identity.Name;
 
           // Determine whether the user is part of a domain by searching for a backslash.
           pos = temp.IndexOf("\\");
           
           // Parse the domain name out of the string, if one exists.
           if (pos <= 0)
                 NewUser.Name = User.Identity.Name;
           else {
               NewUser.Name = temp.Remove(0,pos+1);
                 NewUser.Domain = temp.Remove(pos,temp.Length-pos);
           } 
       return NewUser;
      }
 
 }   
 
 public class UserName {
 
     public string Name;
     public string Domain;
 }
<%@ WebService Language="VB" class="MyUser" %>
Imports System
Imports System.Web.Services
Imports System.Web.Services.Protocols

Public Class MyUser
    Inherits WebService    
    
    <SoapDocumentMethod(Action := "http://www.contoso.com/Sample", _
    RequestNamespace := "http://www.contoso.com/Request", _
    RequestElementName := "GetUserNameRequest", _
    ResponseNamespace := "http://www.contoso.com/Response", _
    ResponseElementName := "GetUserNameResponse"), _
    WebMethod(Description := "Obtains the User Name")> _
    Public Function GetUserName() As UserName
        
        Dim temp As String
        Dim pos As Integer
        Dim NewUser As New UserName()
        
        ' Get the full user name, including the domain name if applicable.
        temp = User.Identity.Name
        
        ' Determine whether the user is part of a Domain by searching for a backslash.
        pos = temp.IndexOf("\")
        
        ' Parse the domain name out of the string, if one exists.
        If pos <= 0 Then
            NewUser.Name = User.Identity.Name
        Else
            NewUser.Name = temp.Remove(0, pos + 1)
            NewUser.Domain = temp.Remove(pos, temp.Length - pos)
        End If
        Return NewUser
    End Function
End Class 

Public Class UserName
    
    Public Name As String
    Public Domain As String
End Class

Комментарии

Язык описания веб-служб (WSDL) определяет два стиля для форматирования метода веб-службы XML, вызываемого операцией, в сообщении SOAP: RPC и Document. Document относится к форматированию метода веб-службы XML в соответствии со схемой XSD. Стиль Document ссылается на форматирование Body элемента в виде ряда из одной или нескольких частей сообщения после Body элемента . Точно, как отдельные части сообщения определяются свойствами Use и ParameterStyle . Свойство Use определяет, имеют ли параметры формат или EncodedLiteral. Определяет ParameterStyle , инкапсулируются ли параметры в одной части сообщения после Body элемента или каждый параметр является отдельной частью сообщения.

Дополнительные сведения см. в разделе Настройка форматирования сообщений SOAP.

Этот атрибут может применяться как к методу веб-службы XML на сервере, так и к методу прокси-класса на клиенте.

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

SoapDocumentMethodAttribute()

Инициализирует новый экземпляр класса SoapDocumentMethodAttribute.

SoapDocumentMethodAttribute(String)

Инициализирует новый экземпляр класса SoapDocumentMethodAttribute и присваивает свойству Action значение параметра action.

Свойства

Action

Получает или задает поле HTTP-заголовка SOAPAction запроса SOAP.

Binding

Получает или задает привязку, для которой методом веб-службы XML реализуется операция.

OneWay

Получает или задает значение, указывающее, ожидает ли клиент веб-службы XML окончания обработки веб-сервером метода веб-службы XML.

ParameterStyle

Получает или задает значение, указывающее, инкапсулируются ли параметры в одном элементе XML, следующем за элементом Body в XML-части сообщения SOAP.

RequestElementName

Получает или задает элемент XML, сопоставленный с запросом SOAP к методу веб-службы XML, который определяется в описании службы как операция.

RequestNamespace

Получает или задает пространство имен, сопоставленное с запросом SOAP к методу веб-службы XML.

ResponseElementName

Получает или задает элемент XML, сопоставленный с ответом SOAP для метода веб-службы XML.

ResponseNamespace

Получает или задает пространство имен XML, сопоставленное с ответом SOAP для метода веб-службы XML.

TypeId

В случае реализации в производном классе возвращает уникальный идентификатор для этого атрибута Attribute.

(Унаследовано от Attribute)
Use

Получает или задает параметр форматирования метода веб-службы XML в XML-части сообщения SOAP.

Методы

Equals(Object)

Возвращает значение, показывающее, равен ли экземпляр указанному объекту.

(Унаследовано от Attribute)
GetHashCode()

Возвращает хэш-код данного экземпляра.

(Унаследовано от Attribute)
GetType()

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

(Унаследовано от Object)
IsDefaultAttribute()

При переопределении в производном классе указывает, является ли значение этого экземпляра значением по умолчанию для производного класса.

(Унаследовано от Attribute)
Match(Object)

При переопределении в производном классе возвращает значение, указывающее, является ли этот экземпляр равным заданному объекту.

(Унаследовано от Attribute)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Явные реализации интерфейса

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации.

(Унаследовано от Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Возвращает сведения о типе объекта, которые можно использовать для получения сведений о типе интерфейса.

(Унаследовано от Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1).

(Унаследовано от Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Предоставляет доступ к открытым свойствам и методам объекта.

(Унаследовано от Attribute)

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

См. также раздел