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í na SoapDocumentMethodAttribute 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 zprávy na Document
pro metodu GetUserName
webové služby XML. Navíc element XML s elementem Body
pro požadavek SOAP a odpověď SOAP jsou nastaveny na GetUserNameRequest
a GetUserNameResponse
v 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
WsDL (Web Services Description Language) definuje dva styly pro formátování metody webové služby XML, která volá operaci 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 následující za elementem Body
. Přesný způsob určení jednotlivých částí zprávy pomocí Use vlastností a ParameterStyle Vlastnost Use určuje, jestli jsou parametry formátované Encoded
nebo Literal
. Určuje ParameterStyle , zda jsou parametry zapouzdřeny v jedné části zprávy následující za elementem Body
nebo zda každý parametr je samostatnou částí 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 na klientovi.
Konstruktory
SoapDocumentMethodAttribute() |
Inicializuje novou instanci SoapDocumentMethodAttribute třídy . |
SoapDocumentMethodAttribute(String) |
Inicializuje novou instanci SoapDocumentMethodAttribute třídy nastavením Action vlastnosti na hodnotu parametru |
Vlastnosti
Action |
Získá nebo nastaví |
Binding |
Získá nebo nastaví vazbu xml webová služba metoda implementuje operaci pro. |
OneWay |
Získá nebo nastaví, zda klient webové služby XML čeká na webový server dokončit zpracování metody webové služby XML. |
ParameterStyle |
Získá nebo nastaví, zda jsou parametry zapouzdřeny v jednom xml elementu pod |
RequestElementName |
Získá nebo nastaví element XML přidružený k požadavku SOAP pro metodu webové služby XML, 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í element XML přidružený k odpovědi 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 tuto Attributetřídu . (Zděděno od Attribute) |
Use |
Získá nebo nastaví formátování parametru pro metodu webové služby XML v xml části zprávy SOAP. |
Metody
Equals(Object) |
Vrací hodnotu, která určuje, zda je tato instance rovna zadanému objektu. (Zděděno od Attribute) |
GetHashCode() |
Vrátí hodnotu hash pro tuto instanci. (Zděděno od Attribute) |
GetType() |
Type Získá z aktuální instance. (Zděděno od Object) |
IsDefaultAttribute() |
Při přepsání v odvozené třídě označuje, zda je hodnota této instance 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á označuje, zda se tato instance rovná zadanému objektu. (Zděděno od Attribute) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Explicitní implementace rozhraní
_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) |