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

Dim asyncResult As IAsyncResult Dim returnValue As Object() returnValue = Me.EndInvoke(asyncResult)
戻り値
派生クラス メソッドの戻り値と、参照渡しパラメータまたは out パラメータを格納しているオブジェクトの配列。


XML Web サービス用に独自のプロキシ クラスを構築した場合を除き、通常、EndInvoke メソッドを直接呼び出すことはありません。
XML Web サービス用に Web サービス記述言語ツール (Wsdl.exe) によって生成されたプロキシ クラスは、XML Web サービス メソッドを同期的に呼び出すプロキシ クラスの名前で XML Web サービス メソッドを公開します。XML Web サービス メソッドを非同期的に呼び出すには、各 XML Web サービス メソッドのプロキシ クラスに 2 つのメソッドが追加されます。XML Web サービス メソッドの名前に Begin プリフィックスが付けられたメソッドと End プリフィックスが付けられたメソッドの 2 つです。
プロキシ クラスは EndInvoke メソッドを呼び出して、XML Web サービス メソッドへの非同期呼び出しを完了します。たとえば、XML Web サービスが Add という名前の XML Web サービス メソッドを公開する場合、プロキシ クラスには、その XML Web サービス メソッドの非同期呼び出しを完了するための EndAdd という名前のメソッドが含まれます。EndAdd のコードの中で、EndInvoke メソッドが呼び出され、その結果は Add に対する有効な戻り値の型に格納されます。

Wsdl.exe によって、Math XML Web サービス用に生成されるプロキシ クラスのコード例を次に示します。プロキシ クラスの EndAdd メソッドの中で、EndInvoke メソッドは Add XML Web サービス メソッドの非同期呼び出しを完了しています。
Option Strict On Option Explicit On Imports System Imports System.Diagnostics Imports System.Web.Services Imports System.Web.Services.Protocols Imports System.Xml.Serialization Namespace MyMath <System.Web.Services.WebServiceBindingAttribute(Name:="MyMathSoap", [Namespace]:="http://www.contoso.com/")> _ Public Class MyMath 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://www.contoso.com/Add", RequestNamespace:="http://www.contoso.com/", ResponseNamespace:="http://www.contoso.com/", 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="MyMathSoap", Namespace="http://www.contoso.com/")] public class MyMath : System.Web.Services.Protocols.SoapHttpClientProtocol { [System.Diagnostics.DebuggerStepThroughAttribute()] public MyMath() { this.Url = "http://www.contoso.com/math.asmx"; } [System.Diagnostics.DebuggerStepThroughAttribute()] [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://www.contoso.com/Add", RequestNamespace="http://www.contoso.com/", ResponseNamespace="http://www.contoso.com/", 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="MyMathSoap" ,Namespace="http://www.contoso.com/")] public ref class MyMath: public System::Web::Services::Protocols::SoapHttpClientProtocol { public: [System::Diagnostics::DebuggerStepThroughAttribute] MyMath() { this->Url = "http://www.contoso.com/math.asmx"; } [System::Diagnostics::DebuggerStepThroughAttribute] [System::Web::Services::Protocols::SoapDocumentMethodAttribute("http://www.contoso.com/Add" ,RequestNamespace="http://www.contoso.com/",ResponseNamespace="http://www.contoso.com/" ,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 ]); } }; }
package MyMath; import System.Diagnostics.*; import System.Xml.Serialization.*; import System.*; import System.Web.Services.Protocols.*; import System.Web.Services.*; /** @attribute System.Web.Services.WebServiceBindingAttribute( Name = "MyMathSoap", Namespace = "http://www.contoso.com/") */ public class MyMath extends System.Web.Services.Protocols.SoapHttpClientProtocol { /** @attribute System.Diagnostics.DebuggerStepThroughAttribute() */ public MyMath() { this.set_Url("http://www.contoso.com/math.asmx"); } //MyMath /** @attribute System.Diagnostics.DebuggerStepThroughAttribute() */ /** @attribute System.Web.Services.Protocols.SoapDocumentMethodAttribute( "http://www.contoso.com/Add", RequestNamespace = "http://www.contoso.com/", ResponseNamespace = "http://www.contoso.com/", 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[] { (Int32)num1, (Int32)num2 }); return (int)((Int32)results.get_Item(0)); } //Add /** @attribute System.Diagnostics.DebuggerStepThroughAttribute() */ public System.IAsyncResult BeginAdd(int num1, int num2, System.AsyncCallback callback, Object asyncState) { return this.BeginInvoke("Add", new Object[] { (Int32)num1, (Int32)num2 }, callback, asyncState); } //BeginAdd /** @attribute System.Diagnostics.DebuggerStepThroughAttribute() */ public int EndAdd(System.IAsyncResult asyncResult) { Object results[] = this.EndInvoke(asyncResult); return (int)((Int32)results.get_Item(0)); } //EndAdd } //MyMath
前述のプロキシ クラスの作成元の Math XML Web サービスのコード例を次に示します。
<%@ WebService Language="VB" Class="MyMath"%> Imports System.Web.Services Imports System <WebService(Namespace:="http://www.contoso.com/")> _ Public Class MyMath <WebMethod()> _ Public Function Add(num1 As Integer, num2 As Integer) As Integer Return num1 + num2 End Function 'Add End Class 'Math

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


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

- SoapHttpClientProtocol.EndInvoke メソッドのページへのリンク