Поделиться через


SoapRpcMethodAttribute.Action Свойство

Определение

Возвращает или задает SOAPAction поле заголовка HTTP запроса 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

Значение свойства

SOAPAction Поле заголовка HTTP запроса SOAP. Значение по умолчанию — http://tempuri.org/MethodName имя метода веб-службы XML.

Примеры

Следующий пример кода задает Action для 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

Комментарии

Как правило, Action свойство является универсальным кодом ресурса (URI), указывающим намерение запроса SOAP. Однако спецификация SOAP не ограничивает формат и указывает, относится ли URI к существующему документу. Наличие и содержимое Action свойства можно использовать веб-серверами, такими как брандмауэры, чтобы соответствующим образом фильтровать сообщения запросов SOAP в HTTP.

По умолчанию платформа .NET Framework версии 1.1 публикует Action свойство в soapAction атрибуте элемента для каждой soap:operation поддерживаемой привязки SOAP в документах WSDL, созданных для веб-службы XML. Поддерживаемая привязка SOAP — SOAP 1.1.

Дополнительные сведения см. в спецификации SOAP на веб-сайте W3C.

Применяется к