SoapDocumentMethodAttribute Clase

Definición

Al aplicar SoapDocumentMethodAttribute a un método se especifica que los mensajes SOAP hacia y desde el método utilizan el formato Document.

public ref class SoapDocumentMethodAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Method)]
public sealed class SoapDocumentMethodAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Method, Inherited=true)]
public sealed class SoapDocumentMethodAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Method)>]
type SoapDocumentMethodAttribute = class
    inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.Method, Inherited=true)>]
type SoapDocumentMethodAttribute = class
    inherit Attribute
Public NotInheritable Class SoapDocumentMethodAttribute
Inherits Attribute
Herencia
SoapDocumentMethodAttribute
Atributos

Ejemplos

En el ejemplo de código siguiente se establece el estilo Document de mensaje en para el método de GetUserName servicio web XML. Además, el elemento XML con el Body elemento para la solicitud SOAP y la respuesta SOAP se establecen GetUserNameRequest en y 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

Comentarios

El lenguaje de descripción de servicios web (WSDL) define dos estilos para cómo un método de servicio web XML, al que llama a una operación, se puede dar formato en un mensaje SOAP: RPC y Document. Document hace referencia al formato del método de servicio web XML según un esquema XSD. El Document estilo hace referencia a dar formato al Body elemento como una serie de una o varias partes de mensaje después del Body elemento . Exactamente cómo determinan las propiedades y ParameterStyle las Use partes del mensaje individuales. La Use propiedad determina si los parámetros tienen formato Encoded o Literal. ParameterStyle determina si los parámetros se encapsulan dentro de una sola parte de mensaje que sigue al Body elemento o si cada parámetro es una parte de mensaje individual.

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 a un método de la clase proxy en el cliente.

Constructores

SoapDocumentMethodAttribute()

Inicializa una nueva instancia de la clase SoapDocumentMethodAttribute.

SoapDocumentMethodAttribute(String)

Inicializa una nueva instancia de la clase SoapDocumentMethodAttribute, estableciendo la propiedad Action en el valor del parámetro action.

Propiedades

Action

Obtiene o establece el campo de encabezado HTTP SOAPAction de la solicitud SOAP.

Binding

Obtiene o establece el enlace para el que un método de servicios Web XML está implementando 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.

ParameterStyle

Obtiene o establece si los parámetros se encapsulan en un único elemento XML debajo del elemento Body en la parte XML de un mensaje SOAP.

RequestElementName

Obtiene o establece el elemento XML asociado a la solicitud SOAP de un método de servicios Web XML, definido en una descripción de servicio como operación.

RequestNamespace

Obtiene o establece el espacio de nombres 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 formato de los parámetros de un método de servicios Web XML en la parte XML de un mensaje SOAP.

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)

Se aplica a

Consulte también