Partilhar via


SoapRpcMethodAttribute.Action Propriedade

Definição

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

public:
 property System::String ^ Action { System::String ^ get(); void set(System::String ^ value); };
public string Action { get; set; }
member this.Action : string with get, set
Public Property Action As String

Valor da propriedade

String

O campo de cabeçalho HTTP SOAPAction da solicitação SOAP. O padrão é http://tempuri.org/MethodName onde MethodName é o nome do método de serviço Web XML.

Exemplos

O exemplo de código a seguir define a Action propriedade como http://www.contoso.com/Sample.

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

Normalmente, a Action propriedade é um URI que indica a intenção da solicitação SOAP. No entanto, a especificação SOAP não coloca nenhuma restrição no formato e se o URI se refere a um documento existente. A presença e o Action conteúdo da propriedade podem ser usados por servidores Web, como firewalls, para filtrar adequadamente as mensagens de solicitação SOAP em HTTP.

Por padrão, o .NET Framework versão 1.1 publica a Action propriedade no soapAction atributo do soap:operation elemento para cada associação SOAP com suporte em documentos WSDL gerados para um serviço Web XML. A associação SOAP com suporte é SOAP 1.1.

Para obter mais informações, consulte a especificação SOAP no site do W3C.

Aplica-se a