Sdílet prostřednictvím


SoapRpcMethodAttribute Třída

Definice

Určuje, že zprávy SOAP odeslané do a z metody používají RPC formátování.

public ref class SoapRpcMethodAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Method)]
public sealed class SoapRpcMethodAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Method)>]
type SoapRpcMethodAttribute = class
    inherit Attribute
Public NotInheritable Class SoapRpcMethodAttribute
Inherits Attribute
Dědičnost
SoapRpcMethodAttribute
Atributy

Příklady

Následující příklad kódu nastaví styl Rpc zprávy pro metodu GetUserName webové služby XML.

<%@ WebService Language="C#" class="MyUser" %>
 using System;
 using System.Web.Services;
 using System.Web.Services.Protocols;
 
 public class MyUser : WebService {
 
       [ SoapRpcMethod(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 out the domain name from 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    
    
    <SoapRpcMethod(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 out the domain name from 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 formátování metody webové služby XML nebo operace ve zprávě SOAP: RPC a Document. RPC formátování odkazuje na formátování operace podle specifikace SOAP pro použití protokolu SOAP pro RPC; jinak se označuje jako oddíl 7 specifikace SOAP. RPC Formátování uvádí, že všechny parametry jsou zapouzdřeny do jednoho elementu XML pojmenovaného po metodě webové služby XML a že každý element XML v rámci elementu XML představuje parametr pojmenovaný za parametrem, který představuje.

Zprávy PROTOKOLU SOAP formátované ve RPC stylu i Document styly lze použít ke komunikaci s webovou službou XML způsobem vzdáleného volání procedur (RPC), ale Document styl lze snadno použít ke komunikaci volně propojeným způsobem. Document Proto se doporučuje styl webových služeb XML. Další podrobnosti najdete v Customizing SOAP Messages tématu.

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 a třídu proxy serveru v klientovi. Metody webové služby XML, které mají nastavenou OneWay vlastnost true nemají přístup k jejich HttpContext. V takovém případě přístup k některé z vlastností WebService třídy return null.

Konstruktory

Name Description
SoapRpcMethodAttribute()

Inicializuje novou instanci SoapRpcMethodAttribute třídy a nastaví všechny vlastnosti na výchozí hodnoty.

SoapRpcMethodAttribute(String)

Inicializuje novou instanci SoapRpcMethodAttribute třídy a nastaví Action vlastnost na hodnotu parametru action .

Vlastnosti

Name Description
Action

Získá nebo nastaví pole hlavičky SOAPAction HTTP požadavku SOAP.

Binding

Získá nebo nastaví vazbu, pro kterou metoda webové služby XML implementuje operaci.

OneWay

Získá nebo nastaví, zda klient webové služby XML čeká na dokončení zpracování metody webové služby XML.

RequestElementName

Získá nebo nastaví XML element asociované s žádostí SOAP pro xml webovou službu metoda.

RequestNamespace

Získá nebo nastaví obor názvů XML 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í vazbu použitou při vyvolání metody.

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)

Platí pro

Viz také