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


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
Атрибуты

Примеры

Следующий пример кода задает стиль Document сообщения для GetUserName метода веб-службы XML. Кроме того, 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 определяет, форматируются Encoded ли параметры или Literal. Определяет ParameterStyle , являются ли параметры инкапсулированными в одной части сообщения после Body элемента или является ли каждый параметр отдельной частью сообщения.

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

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

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

Имя Описание
SoapDocumentMethodAttribute()

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

SoapDocumentMethodAttribute(String)

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

Свойства

Имя Описание
Action

Возвращает или задает SOAPAction поле заголовка HTTP запроса 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)

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

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