SoapDocumentMethodAttribute Klas

Definitie

Als u de SoapDocumentMethodAttribute methode toepast op een methode, geeft u aan dat SOAP-berichten naar en van de methode opmaak gebruiken 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
Overname
SoapDocumentMethodAttribute
Kenmerken

Voorbeelden

In het volgende codevoorbeeld wordt de berichtstijl Document voor de GetUserName XML-webservicemethode ingesteld. Daarnaast wordt het XML-element met het Body element voor de SOAP-aanvraag en het SOAP-antwoord ingesteld GetUserNameRequest op respectievelijk 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

Opmerkingen

WSDL (Web Services Description Language) definieert twee stijlen voor de manier waarop een XML-webservicemethode, die een bewerking aanroept, kan worden opgemaakt in een SOAP-bericht: RPC en Document. Document verwijst naar het opmaken van de XML-webservicemethode volgens een XSD-schema. De Document stijl verwijst naar het opmaken van het Body element als een reeks van een of meer berichtonderdelen na het Body element. Precies hoe de afzonderlijke berichtonderdelen worden bepaald door de Use en ParameterStyle eigenschappen. De Use eigenschap bepaalt of parameters zijn opgemaakt Encoded of Literal. Hiermee ParameterStyle wordt bepaald of de parameters zijn ingekapseld binnen één berichtonderdeel na het Body element of dat elke parameter een afzonderlijk berichtonderdeel is.

Zie SOAP-berichtopmaak aanpassen voor meer informatie.

Dit kenmerk kan worden toegepast op zowel een XML-webservicemethode op de server als een methode van de proxyklasse op de client.

Constructors

Name Description
SoapDocumentMethodAttribute()

Initialiseert een nieuw exemplaar van de SoapDocumentMethodAttribute klasse.

SoapDocumentMethodAttribute(String)

Initialiseert een nieuw exemplaar van de SoapDocumentMethodAttribute klasse, waarbij de Action eigenschap wordt ingesteld op de waarde van de action parameter.

Eigenschappen

Name Description
Action

Hiermee haalt u het SOAPAction HTTP-headerveld van de SOAP-aanvraag op of stelt u deze in.

Binding

Hiermee haalt u de binding op waarvoor een XML-webservicemethode wordt gebruikt, of stelt u deze in.

OneWay

Hiermee haalt u op of stelt u in of een XML-webserviceclient wacht totdat de webserver klaar is met het verwerken van een XML-webservicemethode.

ParameterStyle

Hiermee wordt opgehaald of ingesteld of parameters worden ingekapseld binnen één XML-element onder het Body element in het XML-gedeelte van een SOAP-bericht.

RequestElementName

Hiermee haalt u het XML-element op dat is gekoppeld aan de SOAP-aanvraag voor een XML-webservicemethode, die is gedefinieerd in een servicebeschrijving als een bewerking.

RequestNamespace

Hiermee wordt de naamruimte opgehaald of ingesteld die is gekoppeld aan de SOAP-aanvraag voor een XML-webservicemethode.

ResponseElementName

Hiermee haalt u het XML-element op dat is gekoppeld aan het SOAP-antwoord voor een XML-webservicemethode.

ResponseNamespace

Hiermee haalt u de XML-naamruimte op die is gekoppeld aan het SOAP-antwoord voor een XML-webservicemethode.

TypeId

Wanneer deze wordt geïmplementeerd in een afgeleide klasse, krijgt u Attributehiervoor een unieke id.

(Overgenomen van Attribute)
Use

Hiermee haalt u de parameteropmaak op voor een XML-webservicemethode in het XML-gedeelte van een SOAP-bericht of stelt u deze in.

Methoden

Name Description
Equals(Object)

Retourneert een waarde die aangeeft of dit exemplaar gelijk is aan een opgegeven object.

(Overgenomen van Attribute)
GetHashCode()

Retourneert de hash-code voor dit exemplaar.

(Overgenomen van Attribute)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
IsDefaultAttribute()

Wanneer deze wordt overschreven in een afgeleide klasse, geeft u aan of de waarde van dit exemplaar de standaardwaarde is voor de afgeleide klasse.

(Overgenomen van Attribute)
Match(Object)

Wanneer deze wordt overschreven in een afgeleide klasse, wordt een waarde geretourneerd die aangeeft of dit exemplaar gelijk is aan een opgegeven object.

(Overgenomen van Attribute)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Expliciete interface-implementaties

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

Hiermee wordt een set namen toegewezen aan een bijbehorende set verzend-id's.

(Overgenomen van Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Hiermee haalt u de typegegevens voor een object op, die kan worden gebruikt om de typegegevens voor een interface op te halen.

(Overgenomen van Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Hiermee wordt het aantal type-informatieinterfaces opgehaald dat een object biedt (0 of 1).

(Overgenomen van Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Biedt toegang tot eigenschappen en methoden die door een object worden weergegeven.

(Overgenomen van Attribute)

Van toepassing op

Zie ook