SoapRpcMethodAttribute Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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)>]
type SoapRpcMethodAttribute = class
inherit Attribute
Public NotInheritable Class SoapRpcMethodAttribute
Inherits Attribute
- Héritage
- Attributs
Exemples
L’exemple de code suivant définit le style de message sur Rpc
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
Le langage WSDL (Web Services Description Language) définit deux styles pour la façon dont une méthode ou une opération de service Web XML 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 conformément à 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é d’après la méthode de service Web XML et que chaque élément XML de cet élément XML représente un paramètre nommé d’après le paramètre qu’il représente.
Les messages SOAP mis en forme dans les RPC
styles et Document
peuvent être utilisés pour communiquer avec un service Web XML de manière RPC (Remote Procedure Call), mais le Document
style peut également facilement être 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. Les méthodes de service Web XML dont la OneWay propriété est définie true
sur n’ont pas 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 |
Propriétés
Action |
Obtient ou définit le champ d'en-tête HTTP |
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) |