SoapHttpClientProtocol.BeginInvoke メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > SoapHttpClientProtocol.BeginInvoke メソッドの意味・解説 

SoapHttpClientProtocol.BeginInvoke メソッド

SOAP使用して XML Web サービス メソッド非同期呼び出し開始します

名前空間: System.Web.Services.Protocols
アセンブリ: System.Web.Services (system.web.services.dll 内)
構文構文

Protected Function BeginInvoke ( _
    methodName As String, _
    parameters As Object(), _
    callback As AsyncCallback, _
    asyncState As Object _
) As IAsyncResult
Dim methodName As String
Dim parameters As Object()
Dim callback As AsyncCallback
Dim asyncState As Object
Dim returnValue As IAsyncResult

returnValue = Me.BeginInvoke(methodName, parameters, callback,
 asyncState)
protected IAsyncResult BeginInvoke (
    string methodName,
    Object[] parameters,
    AsyncCallback callback,
    Object asyncState
)
protected:
IAsyncResult^ BeginInvoke (
    String^ methodName, 
    array<Object^>^ parameters, 
    AsyncCallback^ callback, 
    Object^ asyncState
)
protected IAsyncResult BeginInvoke (
    String methodName, 
    Object[] parameters, 
    AsyncCallback callback, 
    Object asyncState
)
protected function BeginInvoke (
    methodName : String, 
    parameters : Object[], 
    callback : AsyncCallback, 
    asyncState : Object
) : IAsyncResult

パラメータ

methodName

BeginInvoke メソッド呼び出している、派生クラス内の XML Web サービス メソッドの名前。

parameters

XML Web サービスに渡すパラメータ格納しているオブジェクト配列配列内の値の順序は、呼び出し元の派生クラス メソッド渡されパラメータ順序対応してます。

callback

非同期呼び出し完了したときに呼び出されるデリゲートcallbacknull 参照 (Visual Basic では Nothing) の場合、このデリゲート呼び出されません。

asyncState

呼び出し元によって提供される補足情報

戻り値
リモート メソッド呼び出しからの戻り値取得するために、EndInvoke メソッド渡される IAsyncResult。

例外例外
解説解説

XML Web サービス用に独自のプロキシ クラス構築した場合除き通常BeginInvoke メソッド直接呼び出すことはありません。

サービス説明から Web サービス記述言語ツール (Wsdl.exe) によって生成されプロキシ クラスは、XML Web サービス メソッド同期的呼び出すプロキシ クラスから派生する名前で XML Web サービス メソッド公開しますXML Web サービス メソッド非同期的に呼び出すには、各 XML Web サービス メソッドプロキシ クラス2 つメソッド追加されます。XML Web サービス メソッドの名前に Begin プリフィックス付けられメソッドEnd プリフィックス付けられメソッド2 つです。

プロキシ クラスは、BeginInvoke メソッド呼び出してXML Web サービス メソッドへの非同期呼び出し開始します。たとえば、XML Web サービスAdd という名前の XML Web サービス メソッド公開する場合プロキシ クラスには、その XML Web サービス メソッドへの呼び出し開始するための BeginAdd という名前のメソッド含まれます。BeginAddコードの中で、BeginInvoke メソッド呼び出されその結果Add対す有効な戻り値の型に格納されます。

methodName は、メソッド追加され可能性がある SoapDocumentMethodAttribute などのカスタム属性検索するために使用しますSoapDocumentMethodAttribute は、SOAP プロトコル必要な派生メソッドに関する追加情報示します

asyncStatecallback渡されBeginInvoke メソッドから返される IAsyncResult中に含まれています。asyncState パラメータ使用して結果処理する callback パラメータ指定された、デリゲートへの非同期呼び出しコンテキストに関する情報を渡すことができます

使用例使用例

Web サービス記述言語ツール (Wsdl.exe) によって、Math XML Web サービス用に生成されるプロキシ クラスコード例次に示しますプロキシ クラスBeginAdd メソッドの中で、BeginInvoke メソッドは、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^>^temp1 = {num1,num2};
         array<Object^>^results = this->Invoke( "Add",
 temp1 );
         return  *dynamic_cast<int^>(results[
 0 ]);
      }


      [System::Diagnostics::DebuggerStepThroughAttribute]
      System::IAsyncResult^ BeginAdd( int num1, int
 num2, System::AsyncCallback^ callback, Object^ asyncState )
      {
         array<Object^>^temp2 = {num1,num2};
         return this->BeginInvoke( "Add",
 temp2, 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
<%@ WebService Language="C#" Class="MyMath"%>
 using System.Web.Services;
 using System;
 
 [WebService(Namespace="http://www.contoso.com/")] 
 public class MyMath {
      [ WebMethod ]
      public int Add(int num1,
 int num2) {
          return num1+num2;
          }
 }
<%@ WebService Language="VJ#" Class="MyMath"%>
import System.Web.Services .* ;
import System .* ;


/** @attribute WebService(Namespace = "http://www.contoso.com/")
* */
public class MyMath
{
   /** @attribute WebMethod()
   * */
   public int Add(int num1,
 int num2) 
   {
      return num1 + num2 ;
   } 
} 
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
SoapHttpClientProtocol クラス
SoapHttpClientProtocol メンバ
System.Web.Services.Protocols 名前空間
IAsyncResult
AsyncCallback
EndInvoke
SoapDocumentMethodAttribute クラス
WebClientProtocol


このページでは「.NET Framework クラス ライブラリ リファレンス」からSoapHttpClientProtocol.BeginInvoke メソッドを検索した結果を表示しています。
Weblioに収録されているすべての辞書からSoapHttpClientProtocol.BeginInvoke メソッドを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からSoapHttpClientProtocol.BeginInvoke メソッド を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

SoapHttpClientProtocol.BeginInvoke メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



SoapHttpClientProtocol.BeginInvoke メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS