SoapRpcMethodAttribute.Action プロパティ
アセンブリ: System.Web.Services (system.web.services.dll 内)

Dim instance As SoapRpcMethodAttribute Dim value As String value = instance.Action instance.Action = value
SOAP 要求の SOAPAction HTTP ヘッダー フィールド。既定値は http://tempuri.org/MethodName です。MethodName は XML Web サービス メソッドの名前です。

通常、Action プロパティは、SOAP 要求の意図を示す URI です。ただし、SOAP 仕様では、URI の書式や、URI が既存のドキュメントを参照するかどうかについての制限は規定されていません。Action プロパティの存在と内容は、ファイアウォールなどの Web サーバーによって、HTTP 上の SOAP 要求メッセージを適切にフィルタ処理するために使用できます。
既定で .NET Framework Version 1.1 は、XML Web サービス用に生成された WSDL ドキュメント内のサポートされている SOAP バインディングごとに、Action プロパティを soap:operation 要素の soapAction 属性に発行します。サポートされる SOAP バインディングは SOAP 1.1 です。
SOAP 仕様の詳細については、W3C Web サイト (http://www.w3.org/TR/SOAP) を参照してください。

Action プロパティを http://www.contoso.com/Sample に設定するコード例を次に示します。
<%@ 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 ' Deterime 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
<%@ 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; // Deterime 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; }

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- SoapRpcMethodAttribute.Action プロパティのページへのリンク