SoapDocumentMethodAttribute Classe

Definição

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

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 seguinte define o estilo de mensagem para Document para o GetUserName método de serviço Web XML. Adicionalmente, o elemento XML com o Body elemento para o pedido SOAP e a resposta SOAP são definidos para GetUserNameRequest e GetUserNameResponse, respetivamente.

<%@ 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

Observações

A Linguagem de Descrição de Serviços Web (WSDL) define dois estilos para como um método de serviço Web XML, que chama de operação, pode ser formatado numa mensagem SOAP: RPC e Document. Document refere-se à formatação do método do 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 da mensagem após o Body elemento. A forma como as partes individuais da mensagem é determinada pelas Use propriedades e.ParameterStyle A Use propriedade determina se os parâmetros são formatados Encoded ou Literal. Determina ParameterStyle se os parâmetros estão encapsulados numa única parte de mensagem após o Body elemento ou se cada parâmetro é uma parte individual da mensagem.

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

Este atributo pode ser aplicado tanto a um método de serviço Web XML no servidor como a um método da classe proxy no cliente.

Construtores

Name Description
SoapDocumentMethodAttribute()

Inicializa uma nova instância da SoapDocumentMethodAttribute classe.

SoapDocumentMethodAttribute(String)

Inicializa uma nova instância da SoapDocumentMethodAttribute 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 que um método de serviço Web XML está a implementar uma operação para.

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.

ParameterStyle

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

RequestElementName

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

RequestNamespace

Obtém ou define o namespace 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 formatação de parâmetros para um método de serviço Web XML dentro da parte XML de uma mensagem SOAP.

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