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
- Наследование
- Атрибуты
Примеры
В следующем примере кода для метода веб-службы XML задается стиль Document
GetUserName
сообщения . Кроме того, 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 |
Получает или задает поле HTTP-заголовка |
Binding |
Получает или задает привязку, для которой методом веб-службы XML реализуется операция. |
OneWay |
Получает или задает значение, указывающее, ожидает ли клиент веб-службы XML окончания обработки веб-сервером метода веб-службы XML. |
ParameterStyle |
Получает или задает значение, указывающее, инкапсулируются ли параметры в одном элементе XML, следующем за элементом |
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) |