SoapRpcMethodAttribute.Action Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
SOAP isteğinin SOAPAction
HTTP üst bilgi alanını alır veya ayarlar.
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
Özellik Değeri
SOAPAction
SOAP isteğinin HTTP üst bilgi alanı. Varsayılan değer, http://tempuri.org/MethodName
MethodName'in XML Web hizmeti yönteminin adı olduğu yerdir.
Örnekler
Aşağıdaki kod örneği özelliğini olarak http://www.contoso.com/Sample
ayarlarAction.
<%@ 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
Açıklamalar
Genellikle, Action özelliği SOAP isteğinin amacını belirten bir URI'dir. Ancak, SOAP belirtimi biçime ve URI'nin var olan bir belgeye başvurup başvurmayacağına ilişkin bir kısıtlama uygulamaz. Özelliğin Action varlığı ve içeriği, HTTP'de SOAP istek iletilerini uygun şekilde filtrelemek için güvenlik duvarları gibi Web sunucuları tarafından kullanılabilir.
Varsayılan olarak, .NET Framework sürüm 1.1, bir XML Web hizmeti için oluşturulan WSDL belgelerinde desteklenen her SOAP bağlaması için öğesinin soap:operation
özniteliğinde özelliğini soapAction
yayımlarAction. Desteklenen SOAP bağlaması SOAP 1.1'dir.
Daha fazla bilgi için W3C web sitesindeki SOAP belirtimine bakın.