HttpSimpleClientProtocol.Invoke メソッド
アセンブリ: System.Web.Services (system.web.services.dll 内)

Protected Function Invoke ( _ methodName As String, _ requestUrl As String, _ parameters As Object() _ ) As Object
Dim methodName As String Dim requestUrl As String Dim parameters As Object() Dim returnValue As Object returnValue = Me.Invoke(methodName, requestUrl, parameters)
protected function Invoke ( methodName : String, requestUrl : String, parameters : Object[] ) : Object
- requestUrl
クライアントが要求している XML Web サービス メソッドの URL。
- parameters
リモート XML Web サービスに渡すパラメータを格納しているオブジェクトの配列。配列内の値の順序は、呼び出し元の派生クラス メソッドに渡されたパラメータの順序に対応しています。
派生クラス メソッドの戻り値と、参照渡しパラメータまたは out パラメータを格納しているオブジェクトの配列。


methodName パラメータは、Invoke メソッドを呼び出しているメソッドのパラメータおよび戻り値の種類を検索するために使用します。メソッドに追加されたカスタム属性を見つけるためにも使用できます。HttpMethodAttribute および XmlElementAttribute は SOAP プロトコルに必要な派生メソッドに関する追加情報を提供します。

XML Web サービス (Math) を呼び出す ASP.NET Web フォームのコード例を次に示します。この Web フォームは、関数 EnterBtn_Click の中で、Add XML Web サービス メソッドを同期的に呼び出します。
<%@ Page Language="VB" %> <html> <script language="VB" runat="server"> Sub EnterBtn_Click(Src As Object, E As EventArgs) Dim math As New Math() ' Call to Add XML Web service method. Dim result As Integer = math.Add(Convert.ToInt32(Num1.Text),Convert.ToInt32(Num2.Text)) Total.Text = "Total: " & result.ToString() End Sub 'EnterBtn_Click </script> <body> <form action="MathClient.aspx" runat=server> Enter the two numbers you want to add and then press the Total button. <p> Number 1: <asp:textbox id="Num1" runat=server/> + Number 2: <asp:textbox id="Num2" runat=server/> = <asp:button text="Total" Onclick="EnterBtn_Click" runat=server/> <p> <asp:label id="Total" runat=server/> </form> </body> </html>
<%@ Page Language="C#" %> <html> <script language="C#" runat="server"> void EnterBtn_Click(Object Src, EventArgs E) { Math math = new Math(); // Call to Add XML Web service method Asynchronously and then wait for it to complete. int total = math.Add(Convert.ToInt32(Num1.Text),Convert.ToInt32(Num2.Text)); Total.Text = "Total: " + total.ToString(); } </script> <body> <form action="MathClient.aspx" runat=server> Enter the two numbers you want to add and then press the Total button. <p> Number 1: <asp:textbox id="Num1" runat=server/> + Number 2: <asp:textbox id="Num2" runat=server/> = <asp:button text="Total" Onclick="EnterBtn_Click" runat=server/> <p> <asp:label id="Total" runat=server/> </form> </body> </html>
Web サービス記述言語ツール (Wsdl.exe) によって、下の Math XML Web サービス用に生成されるプロキシ クラスのコード例を次に示します。Invoke メソッドは、プロキシ クラスの Add メソッドの中で、Add Web サービス メソッドを同期的に呼び出します。
Namespace MyMath <System.Web.Services.WebServiceBindingAttribute(Name:="MathSoap", [Namespace]:="http://tempuri.org/")> _ Public Class Math Inherits System.Web.Services.Protocols.SoapHttpClientProtocol <System.Diagnostics.DebuggerStepThroughAttribute()> _ Public Sub New() MyBase.New Me.Url = "http://www.contoso.com/math.asmx" End Sub <System.Diagnostics.DebuggerStepThroughAttribute(), _ System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/Add", Use:=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle:=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)> _ Public Function Add(ByVal num1 As Integer, ByVal num2 As Integer) As Integer Dim results() As Object = Me.Invoke("Add", New Object() {num1, num2}) Return CType(results(0),Integer) End Function <System.Diagnostics.DebuggerStepThroughAttribute()> _ Public Function BeginAdd(ByVal num1 As Integer, ByVal num2 As Integer, ByVal callback As System.AsyncCallback, ByVal asyncState As Object) As System.IAsyncResult Return Me.BeginInvoke("Add", New Object() {num1, num2}, callback, asyncState) End Function <System.Diagnostics.DebuggerStepThroughAttribute()> _ Public Function EndAdd(ByVal asyncResult As System.IAsyncResult) As Integer Dim results() As Object = Me.EndInvoke(asyncResult) Return CType(results(0),Integer) End Function End Class End Namespace
namespace MyMath { using System.Diagnostics; using System.Xml.Serialization; using System; using System.Web.Services.Protocols; using System.Web.Services; [System.Web.Services.WebServiceBindingAttribute(Name="MathSoap", Namespace="http://tempuri.org/")] public class Math : System.Web.Services.Protocols.SoapHttpClientProtocol { [System.Diagnostics.DebuggerStepThroughAttribute()] public Math() { this.Url = "http://www.contoso.com/math.asmx"; } [System.Diagnostics.DebuggerStepThroughAttribute()] [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/Add", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] public int Add(int num1, int num2) { object[] results = this.Invoke("Add", new object[] {num1, num2}); return ((int)(results[0])); } [System.Diagnostics.DebuggerStepThroughAttribute()] public System.IAsyncResult BeginAdd(int num1, int num2, System.AsyncCallback callback, object asyncState) { return this.BeginInvoke("Add", new object[] {num1, num2}, callback, asyncState); } [System.Diagnostics.DebuggerStepThroughAttribute()] public int EndAdd(System.IAsyncResult asyncResult) { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } } }
#using <System.Web.Services.dll> #using <System.Xml.dll> #using <System.dll> using namespace System::Diagnostics; using namespace System::Xml::Serialization; using namespace System; using namespace System::Web::Services::Protocols; using namespace System::Web::Services; namespace MyMath { [System::Web::Services::WebServiceBindingAttribute(Name="MathSoap",Namespace="http://tempuri.org/")] public ref class Math: public System::Web::Services::Protocols::SoapHttpClientProtocol { public: [System::Diagnostics::DebuggerStepThroughAttribute] Math() { this->Url = "http://www.contoso.com/math.asmx"; } [System::Diagnostics::DebuggerStepThroughAttribute] [System::Web::Services::Protocols::SoapDocumentMethodAttribute("http://tempuri.org/Add" , Use=System::Web::Services::Description::SoapBindingUse::Literal, ParameterStyle=System::Web::Services::Protocols::SoapParameterStyle::Wrapped)] int Add( int num1, int num2 ) { array<Object^>^temp0 = {num1,num2}; array<Object^>^results = this->Invoke( "Add", temp0 ); return *dynamic_cast<int^>(results[ 0 ]); } [System::Diagnostics::DebuggerStepThroughAttribute] System::IAsyncResult^ BeginAdd( int num1, int num2, System::AsyncCallback^ callback, Object^ asyncState ) { array<Object^>^temp1 = {num1,num2}; return this->BeginInvoke( "Add", temp1, callback, asyncState ); } [System::Diagnostics::DebuggerStepThroughAttribute] int EndAdd( System::IAsyncResult^ asyncResult ) { array<Object^>^results = this->EndInvoke( asyncResult ); return *dynamic_cast<int^>(results[ 0 ]); } }; }

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


Weblioに収録されているすべての辞書からHttpSimpleClientProtocol.Invoke メソッドを検索する場合は、下記のリンクをクリックしてください。

- HttpSimpleClientProtocol.Invoke メソッドのページへのリンク