SoapRpcMethodAttribute Classe

Definição

Especifica que as mensagens SOAP enviadas para e a partir do método utilizam RPC formatação.

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
SoapRpcMethodAttribute
Atributos

Exemplos

O exemplo de código seguinte define o estilo de mensagem para Rpc para o GetUserName método de 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

Observações

A Linguagem de Descrição de Serviços Web (WSDL) define dois estilos para como um método ou operação de serviço Web XML pode ser formatado numa mensagem SOAP: RPC e Document. RPC formatação refere-se à formatação da operação de acordo com a especificação SOAP para utilização do SOAP para RPC; também conhecida como Secção 7 da especificação SOAP. RPC a formatação afirma que todos os parâmetros estão encapsulados num único elemento XML nomeado pelo método do serviço Web XML e que cada elemento XML dentro desse elemento representa um parâmetro com o nome do parâmetro que representa.

As mensagens SOAP formatadas em ambos os RPC estilos e Document podem ser usadas para comunicar com um serviço Web XML numa forma de Chamada de Procedimento Remoto (RPC); no entanto, o Document estilo também pode ser facilmente usado para comunicar de forma pouco acoplada. Por isso, recomenda-se o Document estilo de serviços Web XML. Para mais detalhes, consulte o Customizing SOAP Messages tópico.

Para mais detalhes, consulte Personalização da Formatação de Mensagens SOAP.

Este atributo pode ser aplicado a um método de serviço Web XML no servidor e a uma classe proxy no cliente. Os métodos de serviço Web XML que têm a OneWay propriedade definida para true não têm acesso ao seu HttpContext. Assim, aceder a qualquer uma das propriedades da WebService classe retorna null.

Construtores

Name Description
SoapRpcMethodAttribute()

Inicializa uma nova instância da SoapRpcMethodAttribute classe, definindo todas as propriedades para os seus valores padrão.

SoapRpcMethodAttribute(String)

Inicializa uma nova instância da SoapRpcMethodAttribute classe, definindo a Action propriedade para o valor do action parâmetro.

Propriedades

Name Description
Action

Recebe ou define o SOAPAction campo de cabeçalho HTTP do pedido SOAP.

Binding

Obtém ou define a ligaçã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 espera que o servidor Web termine de processar um método de serviço Web XML.

RequestElementName

Obtém ou define o elemento XML associado ao pedido SOAP para um método de serviço Web XML.

RequestNamespace

Obtém ou define o namespace XML associado ao pedido 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 XML associado à resposta SOAP para um método de serviço Web XML.

TypeId

Quando implementado numa classe derivada, obtém um identificador único para esta Attribute.

(Herdado de Attribute)
Use

Obtém ou define a ligação usada ao invocar o método.

Métodos

Name Description
Equals(Object)

Devolve um valor que indica se esta instância é igual a um objeto especificado.

(Herdado de Attribute)
GetHashCode()

Devolve o código de hash para esta instância.

(Herdado de Attribute)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IsDefaultAttribute()

Quando sobrescrito numa classe derivada, indica se o valor desta instância é o valor padrão para a classe derivada.

(Herdado de Attribute)
Match(Object)

Quando sobrescrito numa classe derivada, devolve um valor que indica se esta instância é igual a um objeto especificado.

(Herdado de Attribute)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Implementações de Interface Explícita

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

Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de despacho.

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

Recupera a informação de tipo de um objeto, que pode ser usada para obter a informação de tipo para uma interface.

(Herdado de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Recupera o número de interfaces de informações de tipo que um objeto fornece (0 ou 1).

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

Proporciona acesso a propriedades e métodos expostos por um objeto.

(Herdado de Attribute)

Aplica-se a

Ver também