SoapRpcMethodAttribute.Action Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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.