Compartilhar via


SoapDocumentMethodAttribute Classe

Definição

Aplicar o SoapDocumentMethodAttribute a um método especifica que as mensagens SOAP para e do método usam a formatação Document.

public ref class SoapDocumentMethodAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Method)]
public sealed class SoapDocumentMethodAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Method)>]
type SoapDocumentMethodAttribute = class
    inherit Attribute
Public NotInheritable Class SoapDocumentMethodAttribute
Inherits Attribute
Herança
SoapDocumentMethodAttribute
Atributos

Exemplos

O exemplo de código a seguir define o estilo Document da mensagem como para o método de GetUserName serviço Web XML. Além disso, o elemento XML com o Body elemento para a solicitação SOAP e a resposta SOAP são definidos como GetUserNameRequest e GetUserNameResponse, respectivamente.

<%@ WebService Language="C#" class="MyUser" %>
 using System;
 using System.Web.Services;
 using System.Web.Services.Protocols;
 
 public class MyUser : WebService {
 
       [ SoapDocumentMethod(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 the domain name out of 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    
    
    <SoapDocumentMethod(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 the domain name out of 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

WSDL (Linguagem de Descrição de Serviços Web) define dois estilos de como um método de serviço Web XML, que ele chama de operação, pode ser formatado em uma mensagem SOAP: RPC e Document. Document refere-se à formatação do método de serviço Web XML de acordo com um esquema XSD. O Document estilo refere-se à formatação do Body elemento como uma série de uma ou mais partes de mensagem seguindo o Body elemento . Exatamente como as partes de mensagem individuais são determinadas pelas Use propriedades e ParameterStyle . A Use propriedade determina se os parâmetros são formatados Encoded ou Literal. O ParameterStyle determina se os parâmetros são encapsulados em uma única parte de mensagem seguindo o Body elemento ou se cada parâmetro é uma parte de mensagem individual.

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 um método da classe proxy no cliente.

Construtores

SoapDocumentMethodAttribute()

Inicializa uma nova instância da classe SoapDocumentMethodAttribute.

SoapDocumentMethodAttribute(String)

Inicializa uma nova instância da classe SoapDocumentMethodAttribute, configurando a propriedade Action como o valor do parâmetro action.

Propriedades

Action

Obtém ou define o campo de cabeçalho HTTP SOAPAction da solicitação SOAP.

Binding

Obtém ou define o nome da associação para a qual um método de serviço Web XML está implementando 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.

ParameterStyle

Obtém ou define se os parâmetros são encapsulados em um único elemento XML abaixo do elemento Body na parte XML de uma mensagem SOAP.

RequestElementName

Obtém ou define o elemento XML associado à solicitação SOAP para um método de serviço Web XML, que é definido em uma descrição de serviço como uma operação.

RequestNamespace

Obtém ou define o namespace associado com a solicitação SOAP de 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 formatação de parâmetro de um método de serviço Web XML na parte XML de uma mensagem SOAP.

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)

Aplica-se a

Confira também