SoapDocumentMethodAttribute Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Použití SoapDocumentMethodAttribute na metodu určuje, že zprávy SOAP do a z metody používají Document formátování.
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
- Dědičnost
- Atributy
Příklady
Následující příklad kódu nastaví styl Document zprávy pro metodu GetUserName webové služby XML. Kromě toho xml element s Body elementem pro požadavek SOAP a odpověď SOAP jsou nastaveny na GetUserNameRequest a GetUserNameResponsev uvedeném pořadí.
<%@ 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
Poznámky
Jazyk WSDL (Web Services Description Language) definuje dva styly pro způsob, jakým metoda webové služby XML, která volá operaci, lze formátovat ve zprávě SOAP: RPC a Document.
Document odkazuje na formátování metody webové služby XML podle schématu XSD. Styl Document odkazuje na formátování elementu Body jako řady jedné nebo více částí zprávy za elementem Body . Přesně to, jak jednotlivé části zprávy určují Use vlastnosti a ParameterStyle vlastnosti. Vlastnost Use určuje, zda jsou parametry formátovány Encoded nebo Literal. Určuje ParameterStyle , zda jsou parametry zapouzdřeny v rámci jedné části zprávy za elementem Body nebo zda každý parametr je jednotlivé části zprávy.
Další podrobnosti najdete v tématu Přizpůsobení formátování zpráv SOAP.
Tento atribut lze použít pro metodu webové služby XML na serveru i metodu třídy proxy v klientovi.
Konstruktory
| Name | Description |
|---|---|
| SoapDocumentMethodAttribute() |
Inicializuje novou instanci SoapDocumentMethodAttribute třídy. |
| SoapDocumentMethodAttribute(String) |
Inicializuje novou instanci SoapDocumentMethodAttribute třídy a nastaví Action vlastnost na hodnotu parametru |
Vlastnosti
| Name | Description |
|---|---|
| Action |
Získá nebo nastaví pole hlavičky |
| Binding |
Získá nebo nastaví vazbu xml webové služby metoda implementuje operaci pro. |
| OneWay |
Získá nebo nastaví, zda klient webové služby XML čeká na dokončení zpracování metody webové služby XML. |
| ParameterStyle |
Získá nebo nastaví, zda parametry jsou zapouzdřeny v rámci jednoho XML elementu pod |
| RequestElementName |
Získá nebo nastaví XML element asociované s žádostí SOAP pro xml webovou službu metoda, která je definována v popisu služby jako operace. |
| RequestNamespace |
Získá nebo nastaví obor názvů přidružený k požadavku SOAP pro metodu webové služby XML. |
| ResponseElementName |
Získá nebo nastaví XML element asociované s odpovědí SOAP pro metodu webové služby XML. |
| ResponseNamespace |
Získá nebo nastaví obor názvů XML přidružený k odpovědi SOAP pro metodu webové služby XML. |
| TypeId |
Při implementaci v odvozené třídě získá jedinečný identifikátor pro tento Attribute. (Zděděno od Attribute) |
| Use |
Získá nebo nastaví formátování parametrů pro metodu webové služby XML v části XML zprávy SOAP. |
Metody
| Name | Description |
|---|---|
| Equals(Object) |
Vrátí hodnotu, která určuje, zda je tato instance rovna zadanému objektu. (Zděděno od Attribute) |
| GetHashCode() |
Vrátí kód hash pro tuto instanci. (Zděděno od Attribute) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| IsDefaultAttribute() |
Při přepsání v odvozené třídě určuje, zda hodnota této instance je výchozí hodnotou pro odvozenou třídu. (Zděděno od Attribute) |
| Match(Object) |
Při přepsání v odvozené třídě vrátí hodnotu, která určuje, zda se tato instance rovná zadanému objektu. (Zděděno od Attribute) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Explicitní implementace rozhraní
| Name | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mapuje sadu názvů na odpovídající sadu identifikátorů pro rozesílání. (Zděděno od Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Načte informace o typu objektu, který lze použít k získání informací o typu pro rozhraní. (Zděděno od Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1). (Zděděno od Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Poskytuje přístup k vlastnostem a metodám vystaveným objektem. (Zděděno od Attribute) |