SoapRpcMethodAttribute.Action Eigenschap

Definitie

Hiermee haalt u het SOAPAction HTTP-headerveld van de SOAP-aanvraag op of stelt u deze in.

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

Waarde van eigenschap

Het SOAPAction VELD HTTP-header van de SOAP-aanvraag. De standaardwaarde is http://tempuri.org/MethodName waar MethodName de naam is van de XML-webservicemethode.

Voorbeelden

In het volgende codevoorbeeld wordt de Action eigenschap ingesteld op 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

Opmerkingen

Normaal gesproken is de Action eigenschap een URI die de intentie van de SOAP-aanvraag aangeeft. In de SOAP-specificatie worden echter geen beperkingen ingesteld voor de indeling en of de URI verwijst naar een bestaand document. De aanwezigheid en inhoud van de Action eigenschap kunnen worden gebruikt door webservers zoals firewalls om SOAP-aanvraagberichten op de juiste wijze te filteren in HTTP.

Standaard publiceert de .NET Framework-versie 1.1 de eigenschap Action in het kenmerk soapAction van het element soap:operation voor elke ondersteunde SOAP-binding in WSDL-documenten die zijn gegenereerd voor een XML-webservice. De ondersteunde SOAP-binding is SOAP 1.1.

Zie de SOAP-specificatie op de W3C-website voor meer informatie.

Van toepassing op