Freigeben über


SoapDocumentMethodAttribute Klasse

Definition

Wenn Sie die SoapDocumentMethodAttribute auf eine Methode anwenden, wird angegeben, dass SOAP-Nachrichten auf und von der Methode Document Formatierung verwenden.

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
Vererbung
SoapDocumentMethodAttribute
Attribute

Beispiele

Im folgenden Codebeispiel wird die Nachrichtenformatvorlage Document für die GetUserName XML-Webdienstmethode festgelegt. Darüber hinaus werden das XML-Element mit dem Element für die Body SOAP-Anforderung und die SOAP-Antwort auf GetUserNameRequest bzw GetUserNameResponse. die SOAP-Antwort festgelegt.

<%@ 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

Hinweise

Web Services Description Language (WSDL) definiert zwei Formatvorlagen für die Art und Weise, wie eine XML-Webdienstmethode, die einen Vorgang aufruft, in einer SOAP-Nachricht formatiert werden kann: RPC und Document. Document bezieht sich auf die Formatierung der XML-Webdienstmethode gemäß einem XSD-Schema. Die Document Formatvorlage bezieht sich auf die Formatierung des Body Elements als Eine Reihe von mindestens einem Nachrichtenteil nach dem Body Element. Genau, wie die einzelnen Nachrichtenteile durch die und ParameterStyle die Use Eigenschaften bestimmt werden. Die Use Eigenschaft bestimmt, ob Parameter formatiert oder Literalformatiert Encoded sind. Die ParameterStyle Bestimmt, ob die Parameter innerhalb eines einzelnen Nachrichtenteils nach dem Body Element gekapselt werden oder ob jeder Parameter ein einzelner Nachrichtenteil ist.

Weitere Informationen finden Sie unter Anpassen der SOAP-Nachrichtenformatierung.

Dieses Attribut kann sowohl auf eine XML-Webdienstmethode auf dem Server als auch auf eine Methode der Proxyklasse auf dem Client angewendet werden.

Konstruktoren

Name Beschreibung
SoapDocumentMethodAttribute()

Initialisiert eine neue Instanz der SoapDocumentMethodAttribute-Klasse.

SoapDocumentMethodAttribute(String)

Initialisiert eine neue Instanz der SoapDocumentMethodAttribute Klasse, wobei die Action Eigenschaft auf den Wert des action Parameters festgelegt wird.

Eigenschaften

Name Beschreibung
Action

Dient zum Abrufen oder Festlegen des SOAPAction HTTP-Headerfelds der SOAP-Anforderung.

Binding

Ruft die Bindung ab, für die eine XML-Webdienstmethode implementiert wird, oder legt sie fest.

OneWay

Ruft ab oder legt fest, ob ein XML-Webdienstclient wartet, bis der Webserver die Verarbeitung einer XML-Webdienstmethode abgeschlossen hat.

ParameterStyle

Ruft ab oder legt fest, ob Parameter innerhalb eines einzelnen XML-Elements unterhalb des Body Elements im XML-Teil einer SOAP-Nachricht gekapselt werden.

RequestElementName

Ruft ab oder legt das XML-Element, das der SOAP-Anforderung für eine XML-Webdienstmethode zugeordnet ist, die in einer Dienstbeschreibung als Vorgang definiert ist.

RequestNamespace

Ruft den Namespace ab, der der SOAP-Anforderung für eine XML-Webdienstmethode zugeordnet ist, oder legt den Namespace fest.

ResponseElementName

Dient zum Abrufen oder Festlegen des XML-Elements, das der SOAP-Antwort für eine XML-Webdienstmethode zugeordnet ist.

ResponseNamespace

Ruft den XML-Namespace ab, der der SOAP-Antwort für eine XML-Webdienstmethode zugeordnet ist, oder legt den zugehörigen XML-Namespace fest.

TypeId

Wenn sie in einer abgeleiteten Klasse implementiert wird, wird ein eindeutiger Bezeichner für diese Attribute.

(Geerbt von Attribute)
Use

Dient zum Abrufen oder Festlegen der Parameterformatierung für eine XML-Webdienstmethode innerhalb des XML-Teils einer SOAP-Nachricht.

Methoden

Name Beschreibung
Equals(Object)

Gibt einen Wert zurück, der angibt, ob diese Instanz einem angegebenen Objekt entspricht.

(Geerbt von Attribute)
GetHashCode()

Gibt den Hashcode für diese Instanz zurück.

(Geerbt von Attribute)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
IsDefaultAttribute()

Wenn sie in einer abgeleiteten Klasse überschrieben wird, gibt an, ob der Wert dieser Instanz der Standardwert für die abgeleitete Klasse ist.

(Geerbt von Attribute)
Match(Object)

Wenn sie in einer abgeleiteten Klasse überschrieben wird, wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem angegebenen Objekt entspricht.

(Geerbt von Attribute)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

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

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.

(Geerbt von Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, mit denen die Typinformationen für eine Schnittstelle abgerufen werden können.

(Geerbt von Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).

(Geerbt von Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Bietet Zugriff auf Eigenschaften und Methoden, die von einem Objekt verfügbar gemacht werden.

(Geerbt von Attribute)

Gilt für:

Weitere Informationen