SoapRpcMethodAttribute Classe

Définition

Indique que les messages SOAP envoyés à la méthode et reçus de celle-ci utilisent la mise en forme RPC.

public ref class SoapRpcMethodAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Method)]
public sealed class SoapRpcMethodAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Method, Inherited=true)]
public sealed class SoapRpcMethodAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Method)>]
type SoapRpcMethodAttribute = class
    inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.Method, Inherited=true)>]
type SoapRpcMethodAttribute = class
    inherit Attribute
Public NotInheritable Class SoapRpcMethodAttribute
Inherits Attribute
Héritage
SoapRpcMethodAttribute
Attributs

Exemples

L’exemple de code suivant définit le style Rpc de message pour la méthode de GetUserName service Web 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

Remarques

Web Services Description Language (WSDL) définit deux styles pour la façon dont une méthode de service web XML, ou une opération, peut être mise en forme dans un message SOAP : RPC et Document. RPC la mise en forme fait référence à la mise en forme de l’opération en fonction de la spécification SOAP pour l’utilisation de SOAP pour RPC; autrement appelé Section 7 de la spécification SOAP. RPC La mise en forme indique que tous les paramètres sont encapsulés dans un seul élément XML nommé après la méthode de service Web XML et que chaque élément XML au sein de cet élément XML représente un paramètre nommé après le paramètre qu’il représente.

Les messages SOAP mis en forme dans les styles et Document les RPC styles peuvent être utilisés pour communiquer avec un service Web XML de manière à utiliser un appel de procédure distante (RPC) ; toutefois, le Document style peut également être facilement utilisé pour communiquer de manière faiblement couplée. Par conséquent, les Document services web XML de style sont recommandés. Pour plus d’informations, consultez la Customizing SOAP Messages rubrique.

Pour plus d’informations, consultez Personnalisation de la mise en forme des messages SOAP.

Cet attribut peut être appliqué à une méthode de service Web XML sur le serveur et une classe proxy sur le client. Méthodes de service web XML qui ont la OneWay propriété définie pour true ne pas avoir accès à leur HttpContext. Par conséquent, l’accès à l’une des propriétés de la WebService classe retourne null.

Constructeurs

SoapRpcMethodAttribute()

Initialise une nouvelle instance de la classe SoapRpcMethodAttribute, en affectant à toutes les propriétés leurs valeurs par défaut.

SoapRpcMethodAttribute(String)

Initialise une nouvelle instance de la classe SoapRpcMethodAttribute, affectant la valeur du paramètre action à la propriété Action.

Propriétés

Action

Obtient ou définit le champ d'en-tête HTTP SOAPAction de la demande SOAP.

Binding

Obtient ou définit la liaison pour laquelle une méthode de service Web XML implémente une opération.

OneWay

Obtient ou définit si le client du service Web XML attend que le serveur Web termine le traitement d'une méthode de service Web XML.

RequestElementName

Obtient ou définit l'élément XML associé à la demande SOAP de méthode de service Web XML.

RequestNamespace

Obtient ou définit l'espace de noms XML associé à la demande SOAP de méthode de service Web XML.

ResponseElementName

Obtient ou définit l'élément XML associé à la réponse SOAP d'une méthode de service Web XML.

ResponseNamespace

Obtient ou définit l'espace de noms XML associé à la réponse SOAP d'une méthode de service Web XML.

TypeId

Lors de l'implémentation dans une classe dérivée, obtient un identificateur unique pour l'objet Attribute.

(Hérité de Attribute)
Use

Obtient ou définit la liaison utilisée lors de l'appel de la méthode.

Méthodes

Equals(Object)

Retourne une valeur qui indique si cette instance est égale à un objet spécifié.

(Hérité de Attribute)
GetHashCode()

Retourne le code de hachage de cette instance.

(Hérité de Attribute)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
IsDefaultAttribute()

En cas de substitution dans une classe dérivée, indique si la valeur de cette instance est la valeur par défaut pour la classe dérivée.

(Hérité de Attribute)
Match(Object)

En cas de substitution dans une classe dérivée, retourne une valeur indiquant si cette instance équivaut à un objet spécifié.

(Hérité de Attribute)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

Implémentations d’interfaces explicites

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

Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch.

(Hérité de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Récupère les informations de type pour un objet, qui peuvent être utilisées pour obtenir les informations de type d'une interface.

(Hérité de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1).

(Hérité de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fournit l'accès aux propriétés et aux méthodes exposées par un objet.

(Hérité de Attribute)

S’applique à

Voir aussi