SoapRpcMethodAttribute Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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)>]
type SoapRpcMethodAttribute = class
inherit Attribute
Public NotInheritable Class SoapRpcMethodAttribute
Inherits Attribute
- Herencia
- 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 |
Propiedades
Action |
Obtiene o establece el campo de encabezado HTTP |
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) |