Partager via


SoapRpcMethodAttribute Classe

Définition

Spécifie que les messages SOAP envoyés à et à partir de la méthode utilisent RPC mise en forme.

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
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 mis 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 dans 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 à la fois dans les RPC styles et Document peuvent être utilisés pour communiquer avec un service Web XML de manière à 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 dont la OneWay propriété est définie true pour 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

Nom Description
SoapRpcMethodAttribute()

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

SoapRpcMethodAttribute(String)

Initialise une nouvelle instance de la SoapRpcMethodAttribute classe, en définissant la Action propriété sur la valeur du action paramètre.

Propriétés

Nom Description
Action

Obtient ou définit le SOAPAction champ d’en-tête HTTP de la requête 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 un client de 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 requête SOAP pour une méthode de service web XML.

RequestNamespace

Obtient ou définit l’espace de noms XML associé à la requête SOAP pour une méthode de service web XML.

ResponseElementName

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

ResponseNamespace

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

TypeId

En cas d’implémentation dans une classe dérivée, obtient un identificateur unique pour cette Attribute.

(Hérité de Attribute)
Use

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

Méthodes

Nom Description
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 pour cette instance.

(Hérité de Attribute)
GetType()

Obtient la 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 de la classe dérivée.

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

En cas de substitution dans une classe dérivée, retourne une valeur qui indique si cette instance est égale à un objet spécifié.

(Hérité de Attribute)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
ToString()

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

(Hérité de Object)

Implémentations d’interfaces explicites

Nom Description
_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 d’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 méthodes exposées par un objet.

(Hérité de Attribute)

S’applique à

Voir aussi