HttpSimpleClientProtocol クラス
アセンブリ: System.Web.Services (system.web.services.dll 内)

<ComVisibleAttribute(True)> _ Public MustInherit Class HttpSimpleClientProtocol Inherits HttpWebClientProtocol
[ComVisibleAttribute(true)] public ref class HttpSimpleClientProtocol abstract : public HttpWebClientProtocol

このクラスは、HTTP 経由で XML Web サービスとの通信を行う大部分の実装が、エンコーダを使用してパラメータと戻り値を共通の MIME 形式にエンコードすることを指定します。これらのエンコーダは、MimeFormatter クラスから派生します。既定では、HttpSimpleClientProtocol から派生したプロキシ クラスは、application/x-www-form-urlencoded MIME タイプおよび書式なし XML の応答を私用して、パラメータをエンコードします。カスタムの MIME フォーマッタは、HttpMethodAttribute 属性を使用して指定できますが、これをサービスの説明やプロキシの生成に統合するためのサポートは行われません。
Notes to Inheritors: このクラスをオーバーライドすると、特定のタイプの XML Web サービスに固有のメソッドを、派生クラスに導入できます。これらのメソッドは、単にパラメータをキャプチャし、サイトと通信する作業を実行する基本クラスを呼び出します。導入されたメソッドが非同期の場合は、BeginInvoke メソッドおよび EndInvoke メソッドを呼び出します。導入されたメソッドが同期の場合は、Invoke メソッドを呼び出します。通常、オーバーライドされたコンストラクタは、Url プロパティに XML Web サービス メソッドの URI を設定します。
Web サービス記述言語ツール (Wsdl.exe) は、特定のサービスの説明に対して HttpSimpleClientProtocol の派生クラスを生成します。

Wsdl.exe によって、下の Math XML Web サービス用に生成されるプロキシ クラスのコード例を次に示します。プロキシ クラスは、HttpGetClientProtocol から派生します。このクラスは、HttpSimpleClientProtocol 抽象クラスから派生します。
Option Strict On Option Explicit On Imports System Imports System.Diagnostics Imports System.Web.Services Imports System.Web.Services.Protocols Imports System.Xml.Serialization Public Class MyMath Inherits System.Web.Services.Protocols.HttpGetClientProtocol <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.HttpMethodAttribute(GetType(System.Web.Services.Protocols.XmlReturnReader), GetType(System.Web.Services.Protocols.UrlParameterWriter))> _ Public Function Add(ByVal num1 As String, ByVal num2 As String) As <System.Xml.Serialization.XmlRootAttribute("int", [Namespace]:="http://www.contoso.com/", IsNullable:=false)> Integer Return CType(Me.Invoke("Add", (Me.Url + "/Add"), New Object() {num1, num2}),Integer) End Function <System.Diagnostics.DebuggerStepThroughAttribute()> _ Public Function BeginAdd(ByVal num1 As String, ByVal num2 As String, ByVal callback As System.AsyncCallback, ByVal asyncState As Object) As System.IAsyncResult Return Me.BeginInvoke("Add", (Me.Url + "/Add"), New Object() {num1, num2}, callback, asyncState) End Function <System.Diagnostics.DebuggerStepThroughAttribute()> _ Public Function EndAdd(ByVal asyncResult As System.IAsyncResult) As Integer Return CType(Me.EndInvoke(asyncResult) ,Integer) End Function End Class
using System.Diagnostics; using System.Xml.Serialization; using System; using System.Web.Services.Protocols; using System.Web.Services; public class MyMath : System.Web.Services.Protocols.HttpGetClientProtocol { [System.Diagnostics.DebuggerStepThroughAttribute()] public MyMath() { this.Url = "http://www.contoso.com/math.asmx"; } [System.Diagnostics.DebuggerStepThroughAttribute()] [System.Web.Services.Protocols.HttpMethodAttribute(typeof(System.Web.Services.Protocols.XmlReturnReader), typeof(System.Web.Services.Protocols.UrlParameterWriter))] [return: System.Xml.Serialization.XmlRootAttribute("int", Namespace="http://www.contoso.com/", IsNullable=false)] public int Add(string num1, string num2) { return ((int)(this.Invoke("Add", (this.Url + "/Add"), new object[] {num1, num2}))); } [System.Diagnostics.DebuggerStepThroughAttribute()] public System.IAsyncResult BeginAdd(string num1, string num2, System.AsyncCallback callback, object asyncState) { return this.BeginInvoke("Add", (this.Url + "/Add"), new object[] {num1, num2}, callback, asyncState); } [System.Diagnostics.DebuggerStepThroughAttribute()] public int EndAdd(System.IAsyncResult asyncResult) { return ((int)(this.EndInvoke(asyncResult))); } }
#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; public ref class MyMath: public System::Web::Services::Protocols::HttpGetClientProtocol { public: [System::Diagnostics::DebuggerStepThroughAttribute] MyMath() { this->Url = "http://www.contoso.com/math.asmx"; } [System::Diagnostics::DebuggerStepThroughAttribute] [System::Web::Services::Protocols::HttpMethodAttribute(System::Web::Services::Protocols::XmlReturnReader::typeid , System::Web::Services::Protocols::UrlParameterWriter::typeid)] [returnvalue:System::Xml::Serialization::XmlRootAttribute("snippet1>" ,Namespace="http://www.contoso.com/",IsNullable=false)] int Add( String^ num1, String^ num2 ) { array<Object^>^temp0 = {num1,num2}; return *dynamic_cast<int^>(this->Invoke( "Add", (String::Concat( this->Url, "/Add" )), temp0 )); } [System::Diagnostics::DebuggerStepThroughAttribute] System::IAsyncResult^ BeginAdd( String^ num1, String^ num2, System::AsyncCallback^ callback, Object^ asyncState ) { array<Object^>^temp1 = {num1,num2}; return this->BeginInvoke( "Add", (String::Concat( this->Url, "/Add" )), temp1, callback, asyncState ); } [System::Diagnostics::DebuggerStepThroughAttribute] int EndAdd( System::IAsyncResult^ asyncResult ) { return *dynamic_cast<int^>(this->EndInvoke( asyncResult )); } };
import System.Diagnostics.*; import System.Xml.Serialization.*; import System.*; import System.Web.Services.Protocols.*; import System.Web.Services.*; public class MyMath extends System.Web.Services.Protocols.HttpGetClientProtocol { /** @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.HttpMethodAttribute (System.Web.Services.Protocols.XmlReturnReader.class, System.Web.Services.Protocols.UrlParameterWriter.class) */ public int Add(String num1, String num2) { return Integer.parseInt(System.Convert.ToString( this.Invoke("Add", this.get_Url() + "/Add", new Object[]{num1, num2}))); } //Add /** @attribute System.Diagnostics.DebuggerStepThroughAttribute() */ public System.IAsyncResult BeginAdd(String num1, String num2, System.AsyncCallback callback, Object asyncState) { return this.BeginInvoke("Add", this.get_Url() + "/Add", new Object[]{num1, num2}, callback, asyncState) ; } //BeginAdd /** @attribute System.Diagnostics.DebuggerStepThroughAttribute() */ public int EndAdd(System.IAsyncResult asyncResult) { return Integer.parseInt(System.Convert.ToString( this.EndInvoke(asyncResult))) ; } //EndAdd } //MyMath
前述のプロキシ クラスの作成元の Math XML Web サービスのコード例を次に示します。
Imports System.Web.Services Imports System Public Class Math <WebMethod()> _ Public Function Add(num1 As Integer, num2 As Integer)As Integer Return num1 + num2 End Function End Class
using System.Web.Services; using System; public class Math { [ WebMethod ] public int Add(int num1, int num2) { return num1+num2; } }

System.MarshalByRefObject
System.ComponentModel.Component
System.Web.Services.Protocols.WebClientProtocol
System.Web.Services.Protocols.HttpWebClientProtocol
System.Web.Services.Protocols.HttpSimpleClientProtocol
System.Web.Services.Protocols.HttpGetClientProtocol
System.Web.Services.Protocols.HttpPostClientProtocol


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 クラスを検索する場合は、下記のリンクをクリックしてください。

- HttpSimpleClientProtocol クラスのページへのリンク