SoapRpcMethodAttribute Clase

Definición

Especifica que los mensajes SOAP enviados hacia y desde el método utilizan el formato 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
Herencia
SoapRpcMethodAttribute
Atributos

Ejemplos

En el ejemplo de código siguiente se establece el estilo Rpc de mensaje en para el método de GetUserName servicio 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

Comentarios

El lenguaje de descripción de servicios web (WSDL) define dos estilos para cómo se puede dar formato a un método de servicio web XML o una operación en un mensaje SOAP: RPC y Document. RPC el formato hace referencia al formato de la operación según la especificación SOAP para usar SOAP para RPC; de lo contrario, se conoce como sección 7 de la especificación SOAP. RPC el formato indica que todos los parámetros se encapsulan dentro de un único elemento XML denominado después del método de servicio web XML y que cada elemento XML dentro de ese elemento XML representa un parámetro denominado después del parámetro que representa.

Los mensajes SOAP con formato tanto en los RPC estilos como Document se pueden usar para comunicarse con un servicio web XML de una manera de llamada a procedimiento remoto (RPC); sin embargo, el Document estilo también se puede usar fácilmente para comunicarse de forma flexible. Por lo tanto, Document se recomienda usar servicios web XML de estilo. Para obtener más información, consulte el Customizing SOAP Messages tema.

Para obtener más información, consulte Personalización del formato de mensajes SOAP.

Este atributo se puede aplicar a un método de servicio web XML en el servidor y una clase de proxy en el cliente. Los métodos de servicio web XML que tienen la OneWay propiedad establecida true en no tienen acceso a su HttpContext. Por lo tanto, el acceso a cualquiera de las propiedades de la WebService clase devuelve null.

Constructores

SoapRpcMethodAttribute()

Inicializa una nueva instancia de la clase SoapRpcMethodAttribute, estableciendo todas las propiedades en los valores predeterminados.

SoapRpcMethodAttribute(String)

Inicializa una nueva instancia de la clase SoapRpcMethodAttribute, estableciendo la propiedad Action en el valor del parámetro action.

Propiedades

Action

Obtiene o establece el campo de encabezado HTTP SOAPAction de la solicitud SOAP.

Binding

Obtiene o establece el enlace para el que un método de servicios Web XML implementa una operación.

OneWay

Obtiene o establece si un cliente de servicios Web XML debe esperar a que el servidor Web termine de procesar un método de servicios Web XML.

RequestElementName

Obtiene o establece el elemento XML asociado a la solicitud SOAP de un método de servicios Web XML.

RequestNamespace

Obtiene o establece el espacio de nombres XML asociado a la solicitud SOAP de un método de servicios Web XML.

ResponseElementName

Obtiene o establece el elemento XML asociado a la respuesta SOAP de un método de servicios Web XML.

ResponseNamespace

Obtiene o establece el espacio de nombres XML asociado a la respuesta SOAP de un método de servicios Web XML.

TypeId

Cuando se implementa en una clase derivada, obtiene un identificador único para este Attribute.

(Heredado de Attribute)
Use

Obtiene o establece el enlace utilizado al invocar el método.

Métodos

Equals(Object)

Devuelve un valor que indica si esta instancia es igual que un objeto especificado.

(Heredado de Attribute)
GetHashCode()

Devuelve el código hash de esta instancia.

(Heredado de Attribute)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
IsDefaultAttribute()

Si se reemplaza en una clase derivada, indica si el valor de esta instancia es el valor predeterminado de la clase derivada.

(Heredado de Attribute)
Match(Object)

Cuando se invalida en una clase derivada, devuelve un valor que indica si esta instancia es igual a un objeto especificado.

(Heredado de Attribute)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Implementaciones de interfaz explícitas

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

Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío.

(Heredado de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Obtiene la información de tipos de un objeto, que puede utilizarse para obtener la información de tipos de una interfaz.

(Heredado de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Recupera el número de interfaces de información de tipo que proporciona un objeto (0 ó 1).

(Heredado de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Proporciona acceso a las propiedades y los métodos expuestos por un objeto.

(Heredado de Attribute)

Se aplica a

Consulte también