Versión imprimible       Enviar     
Evaluar y enviar comentarios

  Encender vista de ancho de banda bajo
Esta página es específica de
Microsoft Visual Studio 2005/.NET Framework 2.0

Hay además otras versiones disponibles para:
SoapRpcMethodAttribute (Clase)
Especifica que los mensajes SOAP enviados hacia y desde el método utilizan el formato RPC.

Espacio de nombres: System.Web.Services.Protocols
Ensamblado: System.Web.Services (en system.web.services.dll)

Visual Basic (Declaración)
<AttributeUsageAttribute(AttributeTargets.Method)> _
Public NotInheritable Class SoapRpcMethodAttribute
    Inherits Attribute
Visual Basic (Uso)
Dim instance As SoapRpcMethodAttribute
C#
[AttributeUsageAttribute(AttributeTargets.Method)] 
public sealed class SoapRpcMethodAttribute : Attribute
C++
[AttributeUsageAttribute(AttributeTargets::Method)] 
public ref class SoapRpcMethodAttribute sealed : public Attribute
J#
/** @attribute AttributeUsageAttribute(AttributeTargets.Method) */ 
public final class SoapRpcMethodAttribute extends Attribute
JScript
AttributeUsageAttribute(AttributeTargets.Method) 
public final class SoapRpcMethodAttribute extends Attribute
XAML
No aplicable.

El Lenguaje de descripción de servicios Web (WSDL) define dos estilos para dar formato a un método de servicios Web XML, u operación, en un mensaje SOAP: RPC y Document. El formato RPC indica que se dará formato a la operación de acuerdo con la especificación SOAP para utilizar SOAP para RPC, que también se conoce como la sección 7 de la especificación SOAP. El formato RPC indica que todos los parámetros se encapsulan en un único elemento XML cuyo nombre corresponde al método de servicios Web XML, y que cada elemento XML de dicho elemento XML representa un parámetro cuyo nombre corresponde al parámetro que representa.

Los mensajes SOAP a los que se ha dado formato con ambos estilos RPC y Document se pueden utilizar para la comunicación con un servicio Web XML en forma de llamada de procedimiento remoto (RPC). Sin embargo, el estilo Document también se puede utilizar para llevar a cabo la comunicación de una correspondencia imprecisa. Por lo tanto, se recomiendan los servicios Web XML de estilo Document. Para obtener información detallada, vea el tema Customizing SOAP Messages.

Para obtener más información, vea Personalizar el formato de los mensajes SOAP.

Este atributo se puede aplicar a un método de servicios Web XML del servidor y a una clase de proxy del cliente. Los métodos de servicios Web XML cuya propiedad OneWay es true no tienen acceso a su HttpContext. Por lo tanto, el acceso a cualquiera de las propiedades de la clase WebService devuelve referencia null (Nothing en Visual Basic).

En el siguiente ejemplo de código, se establece el estilo de mensaje en Rpc para el método de servicios Web XML GetUserName.

Visual Basic
<%@ 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

C#
<%@ 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;
 }

System.Object
   System.Attribute
    System.Web.Services.Protocols.SoapRpcMethodAttribute
Los miembros estáticos públicos (Shared en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Windows 98, Windows 2000 Service Pack 4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter

Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.

.NET Framework

Compatible con: 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Compatible con: 2.0, 1.0
© 2009 Microsoft Corporation. Reservados todos los derechos. Términos de uso  |  Marcas Registradas  |  Privacidad
Page view tracker