SoapHttpClientProtocol クラスとは? わかりやすく解説

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

SoapHttpClientProtocol クラス

SOAP 使用時クライアント プロキシ派生元となるクラス指定します

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

<ComVisibleAttribute(True)> _
Public Class SoapHttpClientProtocol
    Inherits HttpWebClientProtocol
Dim instance As SoapHttpClientProtocol
[ComVisibleAttribute(true)] 
public class SoapHttpClientProtocol : HttpWebClientProtocol
[ComVisibleAttribute(true)] 
public ref class SoapHttpClientProtocol : public
 HttpWebClientProtocol
/** @attribute ComVisibleAttribute(true) */ 
public class SoapHttpClientProtocol extends
 HttpWebClientProtocol
ComVisibleAttribute(true) 
public class SoapHttpClientProtocol extends
 HttpWebClientProtocol
解説解説

XML Web サービス クライアント構築する場合は、WebClientProtocol から間接または直接派生したプロキシ クラスを、その XML Web サービス用に作成する必要がありますXML Web サービス クライアントSOAP使用して呼び出しを行う場合プロキシ クラスは、HttpWebClientProtocol から派生した SoapHttpClientProtocol から派生する必要がありますHttpWebClientProtocol はさらに、WebClientProtocol から派生してます。

XML Web サービス通信するには、呼び出す XML Web サービス用に、WebClientProtocol から間接または直接派生したプロキシ クラス作成しますプロキシ クラス手動作成する代わりにWeb サービス記述言語ツール (Wsdl.exe) を使用して指定されXML Web サービスサービス記述からプロキシ クラス作成しますSOAP プロトコル対応するプロキシ クラス生成されると、XML Web サービス メソッドへの同期呼び出しInvoke メソッド通じて行われますが、非同期呼び出しは BeginInvoke メソッドおよび EndInvoke メソッド通じて行われます

継承時の注意 このクラスオーバーライドすると、特定のタイプXML Web サービス固有のメソッド派生クラス導入できます。これらのメソッドパラメータキャプチャし、XML Web サービス通信する作業実行する基本クラス呼び出します。導入されメソッド非同期場合は、BeginInvoke メソッドおよび EndInvoke メソッド呼び出します。導入されメソッド同期場合は、Invoke メソッド呼び出します。オーバーライドされたコンストラクタは、通常Url プロパティXML Web サービス メソッドURL設定します

使用例使用例

Wsdl.exe によって、Math XML Web サービス用に生成されるプロキシ クラスコード例次に示しますプロキシ クラスは、SoapHttpClientProtocol から派生します。このクラスは、WebClientProtocol 抽象クラスから派生します。

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
<%@ 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 ;
   } 
} 
継承階層継承階層
System.Object
   System.MarshalByRefObject
     System.ComponentModel.Component
       System.Web.Services.Protocols.WebClientProtocol
         System.Web.Services.Protocols.HttpWebClientProtocol
          System.Web.Services.Protocols.SoapHttpClientProtocol
スレッド セーフスレッド セーフ

この型は、マルチスレッド操作に対して安全です。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
SoapHttpClientProtocol メンバ
System.Web.Services.Protocols 名前空間
HttpSimpleClientProtocol クラス



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

辞書ショートカット

すべての辞書の索引

「SoapHttpClientProtocol クラス」の関連用語

SoapHttpClientProtocol クラスのお隣キーワード
検索ランキング

   

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



SoapHttpClientProtocol クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2025 GRAS Group, Inc.RSS