SoapRpcMethodAttribute Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Especifica que as mensagens SOAP enviadas de/para o método usam a formatação 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
- Herança
- Atributos
Exemplos
O exemplo de código a seguir define o estilo Rpc
de mensagem como para o método de GetUserName
serviço 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
Comentários
A WSDL (Linguagem de Descrição dos Serviços Web) define dois estilos de como um método de serviço Web XML, ou operação, pode ser formatado em uma mensagem SOAP: RPC
e Document
.
RPC
formatação refere-se à formatação da operação de acordo com a especificação SOAP para usar SOAP para RPC; também conhecido como Seção 7 da especificação SOAP.
RPC
A formatação afirma que todos os parâmetros são encapsulados em um único elemento XML chamado após o método de serviço Web XML e que cada elemento XML dentro desse elemento XML representa um parâmetro chamado após o parâmetro que ele está representando.
As mensagens SOAP formatadas nos RPC
estilos e Document
podem ser usadas para se comunicar com um serviço Web XML de maneira RPC (Chamada de Procedimento Remoto). No entanto, o Document
estilo também pode ser facilmente usado para se comunicar de maneira flexível. Portanto, Document
os serviços Web XML de estilo são recomendados. Para obter mais detalhes, consulte o Customizing SOAP Messages
tópico.
Para obter mais detalhes, consulte Personalizando a formatação de mensagens SOAP.
Esse atributo pode ser aplicado a um método de serviço Web XML no servidor e a uma classe proxy no cliente. Métodos de serviço Web XML que têm a OneWay propriedade definida como true
não têm acesso ao seu HttpContext. Dessa forma, acessar qualquer uma das propriedades da WebService classe retornará null
.
Construtores
SoapRpcMethodAttribute() |
Inicializa uma nova instância da classe SoapRpcMethodAttribute definindo todas as propriedades para seus valores padrão. |
SoapRpcMethodAttribute(String) |
Inicializa uma nova instância da classe SoapRpcMethodAttribute, configurando a propriedade Action como o valor do parâmetro |
Propriedades
Action |
Obtém ou define o campo de cabeçalho HTTP |
Binding |
Obtém ou define a associação para a qual um método de serviço Web XML implementa uma operação. |
OneWay |
Obtém ou define se um cliente de serviço Web XML aguarda até que o servidor Web conclua o processamento de um método de serviço Web XML. |
RequestElementName |
Obtém ou define o elemento XML associado à solicitação SOAP para um método de serviço Web XML. |
RequestNamespace |
Obtém ou define o namespace de XML associado à solicitação SOAP para um método de serviço Web XML. |
ResponseElementName |
Obtém ou define o elemento XML associado à resposta SOAP para um método de serviço Web XML. |
ResponseNamespace |
Obtém ou define o namespace de XML associado à resposta SOAP para um método de serviço Web XML. |
TypeId |
Quando implementado em uma classe derivada, obtém um identificador exclusivo para este Attribute. (Herdado de Attribute) |
Use |
Obtém ou define a associação usada ao invocar o método. |
Métodos
Equals(Object) |
Retorna um valor que indica se essa instância é igual a um objeto especificado. (Herdado de Attribute) |
GetHashCode() |
Retorna o código hash para a instância. (Herdado de Attribute) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
IsDefaultAttribute() |
Quando substituído em uma classe derivada, indica se o valor dessa instância é o valor padrão para a classe derivada. (Herdado de Attribute) |
Match(Object) |
Quando substituído em uma classe derivada, retorna um valor que indica se essa instância é igual a um objeto especificado. (Herdado de Attribute) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
Implantações explícitas de interface
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de expedição. (Herdado de Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera as informações de tipo para um objeto, que pode ser usado para obter as informações de tipo para uma interface. (Herdado de Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Retorna o número de interfaces de informações do tipo que um objeto fornece (0 ou 1). (Herdado de Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Fornece acesso a propriedades e métodos expostos por um objeto. (Herdado de Attribute) |