mx.rpc.httpOperation HTTPMultiService が特に使用する Operation です。mx.rpc.http:AbstractOperation HTTPMultiService が特に使用する Operation です。Operation は、通常、サーバー側の単一の操作に対応するサービスの個別の操作です。Operation は、サービスに対して同じ名前の関数を呼び出すか、サービスのプロパティとして Operation にアクセスして send(param1, param2) メソッドを呼び出すことによって、呼び出すことができます。HTTP サービスは sendBody メソッドもサポートします。これによって、ユーザーは HTTP 応答の本文を直接に指定できます。send(param1, param2) メソッドを使用する場合、本文を形成するには、通常、操作の argumentNames プロパティを送信済みパラメーターと組み合わせます。argumentNames[i] をキーとして使用し、対応するパラメーターを値として使用するオブジェクトが作成されます。

HTTP 操作引数を HTTP 本文に設定する方法は、使用する serializationFilter で決まります。

Operation 新しい Operation を作成します。servicemx.rpc.http:HTTPMultiServicenullサービスを定義する HTTPMultiService オブジェクトです。 namenullサービスの名前です。 新しい Operation を作成します。 send http 操作を実行します。Asynchronous Completion Token パターンを使用する AsyncToken 呼び出しです。 result イベントおよび fault イベント(token プロパティ)で、同じオブジェクトを使用できます。 mx.rpc:AsyncTokenargsメソッドの呼び出しの一部として渡される省略可能なパラメーターです。パラメーターが渡されていない場合、パラメーターオブジェクトがパラメーターのソースとして使用されます。 http 操作を実行します。渡されたパラメーターはすべて、操作呼び出しの一部として渡されます。パラメーターが渡されていない場合、クラスのパラメータープロパティがパラメーターのソースとして使用されます。一般に、HTTP 操作には、位置パラメーターではなく名前付きパラメーターを使用します。これらのパラメーターに名前を付けるために、プロパティ名の配列に argumentNames プロパティを設定することもできます。 concurrency 同一のサービス操作に対する複数の呼び出しの処理方法を示す値です。 同一のサービス操作に対する複数の呼び出しの処理方法を示す値です。デフォルト値は multiple です。 使用できる値は次のとおりです。
  • multiple:既存の要求はキャンセルされません。返されるデータは開発者が責任を持って、イベントストリームを慎重に管理することで整合性を確保する必要があります。 これがデフォルト値です。
  • single:処理では一度に 1 つの要求のみが認められ、複数の要求を送信すると処理が失敗します。
  • last:要求を送信すると、既存の要求がすべてキャンセルされます。
contentType サービス要求のコンテンツタイプです。 サービス要求のコンテンツタイプです。 デフォルトは application/x-www-form-urlencoded で、名前と値のペアを持つ通常の HTTP POST のような要求を送信します。application/xml は要求を XML として送信します。 makeObjectsBindable この値が true の場合、返された匿名オブジェクトは強制的にバインド可能オブジェクトにされます。 この値が true の場合、返された匿名オブジェクトは強制的にバインド可能オブジェクトにされます。 method 要求を送信するための HTTP メソッドです。 要求を送信するための HTTP メソッドです。 有効な値は GETPOSTHEADOPTIONSPUTTRACE および DELETE です。 小文字は大文字に変換されます。 デフォルト値は GET です。 resultFormat HTTP 呼び出しから返された結果を非直列化する方法を示す値です。 HTTP 呼び出しから返された結果を非直列化する方法を示す値です。 この値は次の項目に基づいて決定します。
  • XML または名前と値のペアのどちらが返されるのか。
  • 結果にアクセスする方法。結果にはオブジェクト、テキストまたは XML としてアクセスできます。

デフォルト値は object です。 使用できる値は次のとおりです。

  • object:返される値は XML であり、ActionScript オブジェクトのツリーとして解析されます。 これはデフォルトの設定です。
  • array:返される値は XML で、ActionScript オブジェクトのツリーとして解析されますが、トップレベルのオブジェクトが配列でない場合、新しい配列が作成されて結果が最初のアイテムとして設定されます。 makeObjectsBindable が true の場合、配列は ArrayCollection 内にラップされます。
  • xml:返される値は XML です。これは ActionScript XMLnode オブジェクト内のリテラル XML として返されます。
  • flashvars:返される値は、アンパサンドで区切られた名前と値のペアを含むテキストで、ActionScript オブジェクトに解析されます。
  • text:返される値はテキストで、未処理のまま保持されます。
  • e4x:返される値は XML で、ActionScript XML オブジェクト内のリテラル XML として返されます。XML(E4X)式用の ECMAScript を使ってアクセスできます。
rootURL 操作の相対 URL を指定する場合、HTTP サービス操作の URL を計算するために rootURL を使用します。 操作の相対 URL を指定する場合、HTTP サービス操作の URL を計算するために rootURL を使用します。rootURL のディレクトリ名が操作用の相対 URL の先頭に追加されます。baseURL を設定する方が便利なのが普通です。baseURL がディレクトリ名を直接指定するのに対し、rootURL はディレクトリ名が先頭に追加されたファイル名を指定するからです。rootURL も baseURL も明示的に設定されない場合は、.swf ファイルのディレクトリ名が相対パスの先頭に追加されます。 showBusyCursor true の場合、サービスの実行中にビジーカーソルが表示されます。 true の場合、サービスの実行中にビジーカーソルが表示されます。 デフォルト値は false です。 useProxy Flex のプロキシサービスを利用するかどうかを指定します。 Flex のプロキシサービスを利用するかどうかを指定します。 デフォルト値は false です。true を指定しない場合(Flex サーバーを介して要求をプロキシしない場合)は、プレーヤーがターゲット URL に確実に到達できるようにする必要があります。 また、useProxy プロパティが false に設定されている場合、services-config.xml ファイルで定義された宛先を使用することはできません。
HTTPService ActionScript で HTTPService オブジェクトを表すには、HTTPService クラスを使用します。mx.rpc:AbstractInvoker ActionScript で HTTPService オブジェクトを表すには、HTTPService クラスを使用します。HTTPService オブジェクトの send() メソッドを呼び出すと、指定した URL に対して HTTP 要求が実行され、HTTP 応答が返されます。 指定する URL にパラメーターを渡すこともできます。 サーバーベースのプロキシサービスを経由しない場合は、HTTP GET メソッドまたは POST メソッドだけを使用できます。 useProxy プロパティを true に設定し、サーバーベースのプロキシサービスを使用する場合は、HTTP の HEAD、OPTIONS、TRACE および DELETE メソッドも使用できます。

メモ:ソフトウェアの制約により、HTTPService で GET 要求を使用した場合、ユーザーフレンドリーなエラーメッセージは生成されません。

mx.rpc.http.mxml.HTTPServiceinvoke チャネルがメッセージの送信を試みる前にエラーがスローされない限り、HTTPService 呼び出しが実行されると、invoke イベントが開始されます。mx.rpc.events.InvokeEvent.INVOKEmx.rpc.events.InvokeEvent チャネルがメッセージの送信を試みる前にエラーがスローされない限り、HTTPService 呼び出しが実行されると、invoke イベントが開始されます。 fault HTTPService 呼び出しが失敗したときに送出されます。mx.rpc.events.FaultEvent.FAULTmx.rpc.events.FaultEvent HTTPService 呼び出しが失敗したときに送出されます。 result HTTPService 呼び出しが正常に結果を返したときに送出されます。mx.rpc.events.ResultEvent.RESULTmx.rpc.events.ResultEvent HTTPService 呼び出しが正常に結果を返したときに送出されます。 HTTPService 新しい HTTPService を作成します。rootURLnull相対 URL を計算するときに、HTTPService が使用する必要のある URL です。 destinationnullservice-config.xml ファイル内の HTTPService 宛先名です。 新しい HTTPService を作成します。サービスで相対 URL による送信を行う場合、完全な URL を決定するための基礎となる rootURL を指定できます。例えば、Application.application.url と指定します。 cancel 最後のサービス呼び出しまたは指定された ID を持つ呼び出しをキャンセルします。キャンセルされた呼び出しに関連付けられた AsyncToken、または呼び出しがキャンセルされなかった場合は null です。 mx.rpc:AsyncTokenidnullキャンセルする呼び出しの messageId です。オプションです。省略した場合、最後のサービス呼び出しがキャンセルされます。 最後のサービス呼び出しまたは指定された ID を持つ呼び出しをキャンセルします。ネットワーク処理が続行する場合でも、result イベントや fault イベントは送出されません。 clearResult インボーカの result プロパティを null に設定します。fireBindingEventtrue結果にバインドされているあらゆるものを更新するには、true に設定します。それ以外の場合は、false に設定します。 デフォルト値は true です。 インボーカの result プロパティを null に設定します。 これは呼び出しの結果が、既に使用されていない大きなオブジェクトであった場合に便利です。 disconnect サービスのネットワーク接続を切断します。 サービスのネットワーク接続を切断します。 このメソッドは、未処理のネットワーク操作が完了するまで待つことはしません。 logout ユーザーを宛先からログアウトします。 ユーザーを宛先からログアウトします。宛先からのログアウトは、サーバー設定で指定されているものと同じチャネルを使用して接続されているあらゆるものに適用されます。 例えば、my-rtmp チャネル上で接続しており、RPC コンポーネントのいずれかを使用してログアウトすると、my-rtmp 上で接続していたあらゆるユーザーがログアウトされます。

メモ:このメソッドではなく mx.messaging.ChannelSet.logout() メソッドを使用することをお勧めします。

mx.messaging.ChannelSet.logout()
send HTTPService 要求を実行します。Asynchronous Completion Token を表すオブジェクトです。 result イベントまたは fault イベントの token プロパティで使用可能なオブジェクトと同じです。 mx.rpc:AsyncTokenparametersnullサービス要求のコンテンツタイプに応じて、名前と値のペアまたは XML オブジェクトを含むオブジェクトです。 HTTPService 要求を実行します。 パラメーターはオプションですが、指定する場合は contentType に応じて、名前と値のペアの入ったオブジェクトまたは XML オブジェクトにする必要があります。 setCredentials サービスがアクセスする宛先の証明書を設定します。username宛先のユーザー名です。 password宛先のパスワードです。 charsetnull資格情報をエンコードする際に使用する文字セットエンコーディングです。デフォルトは null で、旧式文字セットの ISO-Latin-1 を示します。 サポートされているその他の文字セットは "UTF-8" のみです。 サービスがアクセスする宛先の証明書を設定します。 証明書は、同じ ChannelSet 上で接続されているすべてのサービスに適用されます。リモート宛先に対してプロキシを使用するサービスは、代わりに setRemoteCredentials() メソッドを呼び出す必要があります。 setRemoteCredentials ユーザーが HTTP URL にアクセスするときに、ユーザーを認証するためのユーザー名とパスワードです。remoteUsernameリモートエンドポイントに渡すユーザー名です。 remotePasswordリモートエンドポイントに渡すパスワードです。 charsetnullリモート資格情報をエンコードする際に使用する文字セットエンコーディングです。デフォルトは null で、旧式文字セットの ISO-Latin-1 を示します。 サポートされているその他の文字セットは "UTF-8" のみです。 ユーザーが HTTP URL にアクセスするときに、ユーザーを認証するためのユーザー名とパスワードです。 これらは、HTTP 認証ヘッダーの一部としてプロキシからエンドポイントに渡されます。 useProxy プロパティが false に設定されている場合、このプロパティは無視されます。 CONTENT_TYPE_FORM HTTP サービスによって送信中のデータが、application/x-www-form-urlencoded としてエンコードされることを示します。application/x-www-form-urlencoded HTTP サービスによって送信中のデータが、application/x-www-form-urlencoded としてエンコードされることを示します。 CONTENT_TYPE_XML HTTP サービスによって送信中のデータが、application/xml としてエンコードされることを示します。application/xml HTTP サービスによって送信中のデータが、application/xml としてエンコードされることを示します。 DEFAULT_DESTINATION_HTTPS HTTPService オブジェクトが DefaultHTTPS 宛先を使用することを示します。DefaultHTTPS HTTPService オブジェクトが DefaultHTTPS 宛先を使用することを示します。 DEFAULT_DESTINATION_HTTP HTTPService オブジェクトが DefaultHTTP 宛先を使用することを示します。DefaultHTTP HTTPService オブジェクトが DefaultHTTP 宛先を使用することを示します。 ERROR_DECODING XML 形式の結果を XML インスタンスに解析できなかったか、オブジェクトにデコードできなかったことを示します。Client.CouldNotDecode XML 形式の結果を XML インスタンスに解析できなかったか、オブジェクトにデコードできなかったことを示します。 ERROR_ENCODING 入力パラメーターを XML としてエンコードできなかったことを示します。Client.CouldNotEncode 入力パラメーターを XML としてエンコードできなかったことを示します。 ERROR_URL_REQUIRED useProxy プロパティが false に設定されたが、URL が提供されなかったことを示します。Client.URLRequired useProxy プロパティが false に設定されたが、URL が提供されなかったことを示します。 RESULT_FORMAT_ARRAY 結果フォーマット "array" は "object" と同様です。ただし、この結果フォーマットで返される値は常に配列で、結果フォーマット "object" から返された結果が配列になっていない場合に、そのアイテムが最初のアイテムとして新しい配列に追加されるようにします。array 結果フォーマット "array" は "object" と同様です。ただし、この結果フォーマットで返される値は常に配列で、結果フォーマット "object" から返された結果が配列になっていない場合に、そのアイテムが最初のアイテムとして新しい配列に追加されるようにします。 RESULT_FORMAT_E4X 結果フォーマットが "e4x" の場合、返される値は XML インスタンスです。このインスタンスには、XML(E4X)式用の ECMAScript を使用してアクセスできます。e4x 結果フォーマットが "e4x" の場合、返される値は XML インスタンスです。このインスタンスには、XML(E4X)式用の ECMAScript を使用してアクセスできます。 RESULT_FORMAT_FLASHVARS 結果フォーマットが "flashvars" の場合、返される値はアンパサンドで区切られた名前と値のペアを含むテキストで、ActionScript オブジェクトに解析されます。flashvars 結果フォーマットが "flashvars" の場合、返される値はアンパサンドで区切られた名前と値のペアを含むテキストで、ActionScript オブジェクトに解析されます。 RESULT_FORMAT_OBJECT 結果フォーマットが "object" の場合、返される値は XML で、ただし ActionScript オブジェクトのツリーとして解析されます。object 結果フォーマットが "object" の場合、返される値は XML で、ただし ActionScript オブジェクトのツリーとして解析されます。 これはデフォルトの設定です。 RESULT_FORMAT_TEXT 結果フォーマットが "text" の場合、HTTPService 結果テキストは未処理のストリングとなります。text 結果フォーマットが "text" の場合、HTTPService 結果テキストは未処理のストリングとなります。 RESULT_FORMAT_XML 結果フォーマットが "xml" の場合、結果は、親 flash.xml.XMLDocument の最初の子を指定する flash.xml.XMLNode インスタンスとして返されます。xml 結果フォーマットが "xml" の場合、結果は、親 flash.xml.XMLDocument の最初の子を指定する flash.xml.XMLNode インスタンスとして返されます。 channelSet サービスが使用する ChannelSet へのアクセスを提供します。mx.messaging:ChannelSet サービスが使用する ChannelSet へのアクセスを提供します。 ChannelSet は手動で作成して割り当てることができます。また、このサービスの destination に対して設定済みのチャネルを使って、動的に作成することもできます。 concurrency 同一サービスに対する複数の呼び出しの処理方法を示す値です。 同一サービスに対する複数の呼び出しの処理方法を示す値です。 デフォルト値は multiple です。 使用できる値は次のとおりです。
  • multiple:既存の要求はキャンセルされません。返されるデータは開発者が責任を持って、イベントストリームを慎重に管理することで整合性を確保する必要があります。 これがデフォルト値です。
  • single:処理では一度に 1 つの要求のみが認められ、複数の要求を送信すると処理が失敗します。
  • last:要求を送信すると、既存の要求がすべてキャンセルされます。
contentType サービス要求のコンテンツタイプです。 サービス要求のコンテンツタイプです。 デフォルトは application/x-www-form-urlencoded で、名前と値のペアを持つ通常の HTTP POST のような要求を送信します。application/xml は要求を XML として送信します。 destination services-config.xml ファイル内の HTTPService 宛先名です。 services-config.xml ファイル内の HTTPService 宛先名です。 指定されていない場合、Flex は DefaultHTTP 宛先を使用します。 url プロパティを使用しているが、要求を HTTPS 経由でプロキシに到達させる場合は、DefaultHTTPS を指定します。 headers サードパーティーのエンドポイントに送信されるカスタム HTTP ヘッダーです。 サードパーティーのエンドポイントに送信されるカスタム HTTP ヘッダーです。複数のヘッダーを同じ名前で送信する必要がある場合は、値を配列として指定します。 lastResult 最後の呼び出しの結果です。 最後の呼び出しの結果です。 makeObjectsBindable この値が true の場合、返された匿名オブジェクトは強制的にバインド可能オブジェクトにされます。 この値が true の場合、返された匿名オブジェクトは強制的にバインド可能オブジェクトにされます。 method 要求を送信するための HTTP メソッドです。 要求を送信するための HTTP メソッドです。 有効な値は GETPOSTHEADOPTIONSPUTTRACE および DELETE です。 小文字は大文字に変換されます。 デフォルト値は GET です。 requestTimeout 送信メッセージの要求タイムアウト時間(秒単位)に対するアクセスを提供します。 送信メッセージの要求タイムアウト時間(秒単位)に対するアクセスを提供します。 ゼロ以下の値を設定すると、要求はタイムアウトになりません。 request URL に渡すパラメーターとして使用される、名前と値のペアのオブジェクトです。 URL に渡すパラメーターとして使用される、名前と値のペアのオブジェクトです。 contentType プロパティが application/xml に設定されている場合は、XML ドキュメントにする必要があります。 resultFormat HTTP 呼び出しから返された結果を非直列化する方法を示す値です。 HTTP 呼び出しから返された結果を非直列化する方法を示す値です。 この値は次の項目に基づいて決定します。
  • XML または名前と値のペアのどちらが返されるのか。
  • 結果にアクセスする方法。結果にはオブジェクト、テキストまたは XML としてアクセスできます。

デフォルト値は object です。 使用できる値は次のとおりです。

  • object:返される値は XML であり、ActionScript オブジェクトのツリーとして解析されます。 これはデフォルトの設定です。
  • array:返される値は XML で、ActionScript オブジェクトのツリーとして解析されますが、トップレベルのオブジェクトが配列でない場合、新しい配列が作成されて結果が最初のアイテムとして設定されます。 makeObjectsBindable が true の場合、配列は ArrayCollection 内にラップされます。
  • xml:返される値は XML です。これは ActionScript XMLnode オブジェクト内のリテラル XML として返されます。
  • flashvars:返される値は、アンパサンドで区切られた名前と値のペアを含むテキストで、ActionScript オブジェクトに解析されます。
  • text:返される値はテキストで、未処理のまま保持されます。
  • e4x:返される値は XML で、ActionScript XML オブジェクト内のリテラル XML として返されます。XML(E4X)式用の ECMAScript を使ってアクセスできます。
rootURL 相対 URL を計算するときに、HTTPService オブジェクトが使用する必要のある URL です。 相対 URL を計算するときに、HTTPService オブジェクトが使用する必要のある URL です。 このプロパティは、プロキシを介するときにだけ使用されます。 useProxy プロパティが false に設定されている場合、相対 URL はこのアプリケーションを実行する SWF の場所に基づいて自動的に計算されます。 明示的に設定されていない場合、rootURL は自動的に mx.messaging.config.LoaderConfig.url の URL に設定されます。 serializationFilter アダプターを提供します。このアダプターは、HTTP 応答本文を ActionScript オブジェクトに変換し、パラメーターまたは本文を contentType、URL および HTTP 要求の本文後に調整するプロセスを制御します。mx.rpc.http:SerializationFilter アダプターを提供します。このアダプターは、HTTP 応答本文を ActionScript オブジェクトに変換し、パラメーターまたは本文を contentType、URL および HTTP 要求の本文後に調整するプロセスを制御します。resultFormat を設定することで間接的に設定することもできます。そうするには、静的メソッド SerializationFilter.registerFilterForResultFormat("formatName"、フィルター)を使用してSerializationFilter を登録します。 showBusyCursor true の場合、サービスの実行中にビジーカーソルが表示されます。 true の場合、サービスの実行中にビジーカーソルが表示されます。 デフォルト値は false です。 url サービスの場所を表します。 サービスの場所を表します。 url とデフォルトでない宛先を指定した場合、services-config.xml ファイル内の宛先で、指定された URL が使用可能でなければなりません。 useProxy Flex のプロキシサービスを利用するかどうかを指定します。false Flex のプロキシサービスを利用するかどうかを指定します。 デフォルト値は false です。true を指定しない場合(Flex サーバーを介して要求をプロキシしない場合)は、プレーヤーがターゲット URL に確実に到達できるようにする必要があります。 また、useProxy プロパティが false に設定されている場合、services-config.xml ファイルで定義された宛先を使用することはできません。 xmlDecode サービス結果を XML からデコードする際に使用される ActionScript 関数です。 サービス結果を XML からデコードする際に使用される ActionScript 関数です。 resultFormat がオブジェクトで、xmlDecode プロパティが設定されている場合、Flex は HTTPService が返す XML を使用してオブジェクトを作成します。 それが定義されていない場合は、デフォルトの XMLDecoder を使用してこの処理が実行されます。

xmlDecode プロパティで参照される関数は、flash.xml.XMLNode オブジェクトをパラメーターとして使用してオブジェクトを返す必要があります。 返されるオブジェクトはどのようなタイプでも構いませんが、必ずいずれかのオブジェクトが返される必要があります。 null または undefined が返されると失敗が発生します。

次に、xmlDecode 関数を指定した <mx:HTTPService> タグの例を示します。
   <mx:HTTPService id="hs" xmlDecode="xmlDecoder" url="myURL" resultFormat="object" contentType="application/xml">
        <mx:request><source/>
            <obj>{RequestObject}</obj>
        </mx:request>
   </mx:HTTPService>
次に、xmlDecoder 関数の例を示します。
function xmlDecoder (myXML)
{
 // Simplified decoding logic.
 var myObj = {};
 myObj.name = myXML.firstChild.nodeValue;
 myObj.honorific = myXML.firstChild.attributes.honorific;
 return myObj;
}
xmlEncode サービス要求を XML にエンコードするために使用される ActionScript 関数です。 サービス要求を XML にエンコードするために使用される ActionScript 関数です。 要求の contentTypeapplication/xml で、渡された要求オブジェクトが Object の場合、Flex は xmlEncode プロパティで指定された関数を使用して flash.xml.XMLNode オブジェクトに変換しようとします。xmlEncode プロパティが設定されていない場合、Flex はデフォルトの XMLEncoder を使用して、オブジェクトグラフを flash.xml.XMLNode オブジェクトに変換します。

xmlEncode プロパティは Object を使用して、flash.xml.XMLNode オブジェクトを返す必要があります。 この場合、XMLNode オブジェクトは XMLNode のサブクラスである flash.xml.XML オブジェクトでも、<mx:XML> タグで取得できる flash.xml.XML オブジェクトの最初の子でも構いません。 誤ったタイプのオブジェクトが返されると、処理が失敗します。 次に、xmlEncode 関数を指定した <mx:HTTPService> タグの例を示します。

  <mx:HTTPService id="hs" xmlEncode="xmlEncoder" url="myURL" resultFormat="object" contentType="application/xml">
        <mx:request><source/>
            <obj>{RequestObject}</obj>
        </mx:request>
   </mx:HTTPService>
    
次に、xmlEncoder 関数の例を示します。
function xmlEncoder (myObj)
{
  return new XML("MyObj.test
  MyObj.anotherTest");
}
AbstractOperation HTTPService または HTTPMultiService によって特に使用される Operation です。mx.rpc:AbstractOperation HTTPService または HTTPMultiService によって特に使用される Operation です。Operation は、通常、サーバー側の単一の操作に対応するサービスの個別の操作です。Operation は、サービスに対して同じ名前の関数を呼び出すか、サービスのプロパティとして Operation にアクセスして send(param1, param2) メソッドを呼び出すことによって、呼び出すことができます。HTTP サービスは sendBody メソッドもサポートします。これによって、ユーザーは HTTP 応答の本文を直接に指定できます。send(param1, param2) メソッドを使用する場合、本文を形成するには、通常、操作の argumentNames プロパティを送信済みパラメーターと組み合わせます。argumentNames[i] をキーとして使用し、対応するパラメーターを値として使用するオブジェクトが作成されます。

HTTP 操作引数を HTTP 本文に設定する方法は、使用する serializationFilter で決まります。

AbstractOperation 新しい Operation を作成します。servicemx.rpc:AbstractServicenullサービスのタイプ(HTTPMultiService、WebService、RemoteObject など)を定義するオブジェクトです。 namenullサービスの名前です。 新しい Operation を作成します。 getHeaders HTTP リクエストヘッダーを返します。HTTP リクエストヘッダーです。 HTTP リクエストヘッダーを返します。サブクラスでこのメソッドをオーバーライドして、HTTP リクエストヘッダーの取得を制御できます。 getSerializationFilter 直列化フィルターを返します。直列化フィルターです。 mx.rpc.http:SerializationFilter 直列化フィルターを返します。サブクラスでこのメソッドをオーバーライドして、HTTP リクエストヘッダーの取得を制御できます。 sendBodymx.rpc:AsyncTokenparametersargumentNames メソッドの呼び出しに渡されるパラメーターの名前が順に列挙されたリストです。 メソッドの呼び出しに渡されるパラメーターの名前が順に列挙されたリストです。 arguments オブジェクトは順序が保証されていないハッシュマップであるため、この配列はすべてのものを正しく配置するのに役立ちます。 これは、Operation がタグ形式で使用される場合に、必要に応じて MXML コンパイラーで自動的に設定されます。 headers サードパーティーのエンドポイントに送信されるカスタム HTTP ヘッダーです。unknown サードパーティーのエンドポイントに送信されるカスタム HTTP ヘッダーです。複数のヘッダーを同じ名前で送信する必要がある場合は、値を配列として指定します。 request URL に渡すパラメーターとして使用される、名前と値のペアのオブジェクトです。unknown URL に渡すパラメーターとして使用される、名前と値のペアのオブジェクトです。 contentType プロパティが application/xml に設定されている場合は、XML ドキュメントにする必要があります。 serializationFilter SerializationFilter は、HTTP 要求のコンテンツを作成するために、引数が形式化される方法を制御できます。mx.rpc.http:SerializationFilter SerializationFilter は、HTTP 要求のコンテンツを作成するために、引数が形式化される方法を制御できます。また、結果が ActionScript オブジェクトに変換される方法も制御します。このプロパティを使用して明示的に設定することもできますし、resultFormat プロパティを使用して間接的に設定することもできます。 xmlDecode サービス結果を XML からデコードする際に使用される ActionScript 関数です。 サービス結果を XML からデコードする際に使用される ActionScript 関数です。 resultFormat がオブジェクトで、xmlDecode プロパティが設定されている場合、Flex は HTTPService が返す XML を使用してオブジェクトを作成します。 それが定義されていない場合は、デフォルトの XMLDecoder を使用してこの処理が実行されます。

xmlDecode プロパティで参照される関数は、flash.xml.XMLNode オブジェクトをパラメーターとして使用してオブジェクトを返す必要があります。 返されるオブジェクトはどのようなタイプでも構いませんが、必ずいずれかのオブジェクトが返される必要があります。 null または undefined が返されると失敗が発生します。

次に、xmlDecode 関数を指定した <mx:HTTPService> タグの例を示します。
   <mx:HTTPService id="hs" xmlDecode="xmlDecoder" url="myURL" resultFormat="object" contentType="application/xml">
        <mx:request><source/>
            <obj>{RequestObject}</obj>
        </mx:request>
   </mx:HTTPService>
次に、xmlDecoder 関数の例を示します。
function xmlDecoder (myXML)
{
 // Simplified decoding logic.
 var myObj = {};
 myObj.name = myXML.firstChild.nodeValue;
 myObj.honorific = myXML.firstChild.attributes.honorific;
 return myObj;
}
xmlEncode サービス要求を XML にエンコードするために使用される ActionScript 関数です。 サービス要求を XML にエンコードするために使用される ActionScript 関数です。 要求の contentTypeapplication/xml で、渡された要求オブジェクトが Object の場合、Flex は xmlEncode プロパティで指定された関数を使用して flash.xml.XMLNode オブジェクトに変換しようとします。xmlEncode プロパティが設定されていない場合、Flex はデフォルトの XMLEncoder を使用して、オブジェクトグラフを flash.xml.XMLNode オブジェクトに変換します。

xmlEncode プロパティは Object を使用して、flash.xml.XMLNode オブジェクトを返す必要があります。 この場合、XMLNode オブジェクトは XMLNode のサブクラスである flash.xml.XML オブジェクトでも、<mx:XML> タグで取得できる flash.xml.XML オブジェクトの最初の子でも構いません。 誤ったタイプのオブジェクトが返されると、処理が失敗します。 次に、xmlEncode 関数を指定した <mx:HTTPService> タグの例を示します。

  <mx:HTTPService id="hs" xmlEncode="xmlEncoder" url="myURL" resultFormat="object" contentType="application/xml">
        <mx:request><source/>
            <obj>{RequestObject}</obj>
        </mx:request>
   </mx:HTTPService>
    
次に、xmlEncoder 関数の例を示します。
function xmlEncoder (myObj)
{
  return new XML("MyObj.test
  MyObj.anotherTest");
}
concurrency 同一サービスに対する複数の呼び出しの処理方法を示す値です。 同一サービスに対する複数の呼び出しの処理方法を示す値です。 デフォルト値は multiple です。 使用できる値は次のとおりです。
  • multiple:既存の要求はキャンセルされません。返されるデータは開発者が責任を持って、イベントストリームを慎重に管理することで整合性を確保する必要があります。 これがデフォルト値です。
  • single:処理では一度に 1 つの要求のみが認められ、複数の要求を送信すると処理が失敗します。
  • last:要求を送信すると、既存の要求がすべてキャンセルされます。
contentType サービス要求のコンテンツタイプです。 サービス要求のコンテンツタイプです。 デフォルトは application/x-www-form-urlencoded で、名前と値のペアを持つ通常の HTTP POST のような要求を送信します。application/xml は要求を XML として送信します。 method 要求を送信するための HTTP メソッドです。 要求を送信するための HTTP メソッドです。 有効な値は GETPOSTHEADOPTIONSPUTTRACE および DELETE です。 小文字は大文字に変換されます。 デフォルト値は GET です。 requestTimeout 送信メッセージの要求タイムアウト時間(秒単位)に対するアクセスを提供します。 送信メッセージの要求タイムアウト時間(秒単位)に対するアクセスを提供します。 タイムアウトに達する前にリモート宛先から応答または失敗を受信しなかった場合、メッセージはクライアント側で失敗となります。ゼロ以下の値を設定すると、要求はタイムアウトになりません。 resultFormat HTTP 呼び出しから返された結果を非直列化する方法を示す値です。 HTTP 呼び出しから返された結果を非直列化する方法を示す値です。 この値は次の項目に基づいて決定します。
  • XML または名前と値のペアのどちらが返されるのか。
  • 結果にアクセスする方法。結果にはオブジェクト、テキストまたは XML としてアクセスできます。

デフォルト値は object です。 使用できる値は次のとおりです。

  • object:返される値は XML であり、ActionScript オブジェクトのツリーとして解析されます。 これはデフォルトの設定です。
  • array:返される値は XML で、ActionScript オブジェクトのツリーとして解析されますが、トップレベルのオブジェクトが配列でない場合、新しい配列が作成されて結果が最初のアイテムとして設定されます。 makeObjectsBindable が true の場合、配列は ArrayCollection 内にラップされます。
  • xml:返される値は XML です。これは ActionScript XMLnode オブジェクト内のリテラル XML として返されます。
  • flashvars:返される値は、アンパサンドで区切られた名前と値のペアを含むテキストで、ActionScript オブジェクトに解析されます。
  • text:返される値はテキストで、未処理のまま保持されます。
  • e4x:返される値は XML で、ActionScript XML オブジェクト内のリテラル XML として返されます。XML(E4X)式用の ECMAScript を使ってアクセスできます。
rootURL 相対 URL を計算するときに、HTTPService オブジェクトが使用する必要のある URL です。 相対 URL を計算するときに、HTTPService オブジェクトが使用する必要のある URL です。 このプロパティは、プロキシを介するときにだけ使用されます。 useProxy プロパティが false に設定されている場合、相対 URL はこのアプリケーションを実行する SWF の場所に基づいて自動的に計算されます。 明示的に設定されていない場合、rootURL は自動的に mx.messaging.config.LoaderConfig.url の URL に設定されます。 showBusyCursor true の場合、サービスの実行中にビジーカーソルが表示されます。 true の場合、サービスの実行中にビジーカーソルが表示されます。 デフォルト値は false です。 url サービスの場所を表します。 サービスの場所を表します。 url とデフォルトでない宛先を指定した場合、services-config.xml ファイル内の宛先で、指定された URL が使用可能でなければなりません。 useProxy Flex のプロキシサービスを利用するかどうかを指定します。false Flex のプロキシサービスを利用するかどうかを指定します。 デフォルト値は false です。true を指定しない場合(Flex サーバーを介して要求をプロキシしない場合)は、プレーヤーがターゲット URL に確実に到達できるようにする必要があります。 また、useProxy プロパティが false に設定されている場合、services-config.xml ファイルで定義された宛先を使用することはできません。
HTTPMultiService &lt;mx:HTTPMultiService&gt; タグを使用して、http 操作のコレクションを表します。mx.rpc:AbstractService <mx:HTTPMultiService> タグを使用して、http 操作のコレクションを表します。各々に URL、メソッド、パラメーターおよび戻り型があります。

HTTPMultiService タグで URL や method などの属性を設定すると、個々の操作タグで設定される値のデフォルトとして使用できます。HTTPMultiService の URL は http 操作タグで設定される相対 URL の基本 URL(つまり、プレフィックス)として使用されます。各 http 操作には send() メソッドがあり、このメソッドが指定の URL への HTTP 要求を作成し、HTTP 応答が返されます。

HTTP 要求にデータを設定するのに使用する指定の URL にパラメーターを渡せます。contentType プロパティでは通信データの形式(HTTP フォームエンコーディングや XML など)を判別するために使用される MIME タイプを指定します。

直列化フィルターを使用して JSON のようなカスタム resultFormat を実装することもできます。サーバーベースのプロキシサービスを経由しない場合は、HTTP GET メソッドまたは POST メソッドだけを使用できます。 useProxy プロパティを true に設定し、サーバーベースのプロキシサービスを使用する場合は、HTTP の HEAD、OPTIONS、TRACE および DELETE メソッドも使用できます。

メモ:HTTPService クラスとは異なり、HTTPMultiService クラスでは request プロパティは定義されていません。

メモ:HTTPService と同じく、ソフトウェアの制約により、HTTPMultiService でプロキシを使用せずに GET を使用した場合、ユーザーフレンドリーなエラーメッセージは生成されません。

mx.rpc.http.HTTPServiceinvoke チャンネルがメッセージの送信を試みる前にエラーがスローされない限り、HTTPMultiService 呼び出しが実行されると、invoke イベントが開始されます。mx.rpc.events.InvokeEvent.INVOKEmx.rpc.events.InvokeEvent チャンネルがメッセージの送信を試みる前にエラーがスローされない限り、HTTPMultiService 呼び出しが実行されると、invoke イベントが開始されます。 fault HTTPMultiService 呼び出しが失敗したときに送出されます。mx.rpc.events.FaultEvent.FAULTmx.rpc.events.FaultEvent HTTPMultiService 呼び出しが失敗したときに送出されます。 result HTTPMultiService 呼び出しが正常に結果を返したときに送出されます。mx.rpc.events.ResultEvent.RESULTmx.rpc.events.ResultEvent HTTPMultiService 呼び出しが正常に結果を返したときに送出されます。 HTTPMultiService 新しい HTTPService を作成します。baseURLnull相対 URL を計算するときに、HTTPService が使用する必要のある URL です。 destinationnull 新しい HTTPService を作成します。サービスで相対 URL による送信を行う場合は、完全な URL を決定するための基礎となる baseURL を指定できます。例えば、Application.application.url と指定します。 baseURL 相対 URL を計算するときに、HTTPService オブジェクトが使用する必要のある URL です。 相対 URL を計算するときに、HTTPService オブジェクトが使用する必要のある URL です。 これには、設定時に URL の先頭に追加されるプレフィックスが含まれます。デフォルトは null です。この場合、SWF の URL は相対 URL を計算するのに使用されます。 contentType サービス要求のコンテンツタイプです。application/x-www-form-urlencoded サービス要求のコンテンツタイプです。 デフォルトは application/x-www-form-urlencoded で、名前と値のペアを持つ通常の HTTP POST のような要求を送信します。application/xml は要求を XML として送信します。 headers サードパーティーのエンドポイントに送信されるカスタム HTTP ヘッダーです。unknown サードパーティーのエンドポイントに送信されるカスタム HTTP ヘッダーです。複数のヘッダーを同じ名前で送信する必要がある場合は、値を配列として指定します。これらのヘッダーはすべての操作に送信されます。操作レベルでヘッダーを設定することもできます。 makeObjectsBindable true の場合、返されたオブジェクトでは UI コントロールへのデータバインディングがサポートされます。true true の場合、返されたオブジェクトでは UI コントロールへのデータバインディングがサポートされます。つまり、PropertyChangeEvents は、プロパティ値が変更されるときに送信されます。これは makeObjectsBindable プロパティが明示的に設定されていない操作のデフォルト値です。 method 操作についてメソッドが明示的に設定されていない場合に、要求を送信するための HTTP メソッドです。GET 操作についてメソッドが明示的に設定されていない場合に、要求を送信するための HTTP メソッドです。有効な値は GETPOSTHEADOPTIONSPUTTRACE および DELETE です。 小文字は大文字に変換されます。 デフォルト値は GET です。 serializationFilter 明示的に設定しないすべての操作で使用されるデフォルトの serializationFilter mx.rpc.http:SerializationFilter 明示的に設定しないすべての操作で使用されるデフォルトの serializationFilter concurrency サービス内の同一操作に対する複数の呼び出しの処理方法を示す値です。 サービス内の同一操作に対する複数の呼び出しの処理方法を示す値です。ここで設定した concurrency 設定は、concurrecny を指定しない操作に対して使用されます。concurrency 設定が直接設定されている個々の操作では、ここで設定された値は無視されます。デフォルト値は multiple です。 使用できる値は次のとおりです。
  • multiple:既存の要求はキャンセルされません。返されるデータは開発者が責任を持って、イベントストリームを慎重に管理することで整合性を確保する必要があります。 これがデフォルト値です。
  • single:処理では一度に 1 つの要求のみが認められ、複数の要求を送信すると処理が失敗します。
  • last:要求を送信すると、既存の要求がすべてキャンセルされます。
operationList これはインスタンスのデフォルトプロパティとして役立ちます。操作のセットを MXML の HTTPMultiService タグの直接の子として定義できます。 これはインスタンスのデフォルトプロパティとして役立ちます。操作のセットを MXML の HTTPMultiService タグの直接の子として定義できます。 resultFormat HTTP 呼び出しから返された結果を非直列化する方法を示す値です。 HTTP 呼び出しから返された結果を非直列化する方法を示す値です。 この値は次の項目に基づいて決定します。
  • XML または名前と値のペアのどちらが返されるのか。
  • 結果にアクセスする方法。結果にはオブジェクト、テキストまたは XML としてアクセスできます。

デフォルト値は object です。 使用できる値は次のとおりです。

  • object:返される値は XML であり、ActionScript オブジェクトのツリーとして解析されます。 これはデフォルトの設定です。
  • array:返される値は XML で、ActionScript オブジェクトのツリーとして解析されますが、トップレベルのオブジェクトが配列でない場合、新しい配列が作成されて結果が最初のアイテムとして設定されます。 makeObjectsBindable が true の場合、配列は ArrayCollection 内にラップされます。
  • xml:返される値は XML です。これは ActionScript XMLnode オブジェクト内のリテラル XML として返されます。
  • flashvars:返される値は、アンパサンドで区切られた名前と値のペアを含むテキストで、ActionScript オブジェクトに解析されます。
  • text:返される値はテキストで、未処理のまま保持されます。
  • e4x:返される値は XML で、ActionScript XML オブジェクト内のリテラル XML として返されます。XML(E4X)式用の ECMAScript を使ってアクセスできます。
showBusyCursor true の場合、サービスの実行中にビジーカーソルが表示されます。 true の場合、サービスの実行中にビジーカーソルが表示されます。 デフォルト値は false です。 useProxy Flex のプロキシサービスを利用するかどうかを指定します。false Flex のプロキシサービスを利用するかどうかを指定します。 デフォルト値は false です。true を指定しない場合(Flex サーバーを介して要求をプロキシしない場合)は、プレーヤーがターゲット URL に確実に到達できるようにする必要があります。 また、useProxy プロパティが false に設定されている場合、services-config.xml ファイルで定義された宛先を使用することはできません。
SerializationFilter 新規直列化形式を使用する HTTP サービスを修正またはプラグインしたいフレームワーク開発者にとってこのクラスは便利です。Object 新規直列化形式を使用する HTTP サービスを修正またはプラグインしたいフレームワーク開発者にとってこのクラスは便利です。この場合、ユーザーはサービスオブジェクト上でメソッドを起動し、 XML、JSON などの特定の直列化形式にパラメーターをマップする方法を制御できます。SerializationFilter メカニズムによって、ユーザーは新規 resultFormat を追加することもできます。

このクラスのインスタンスは HTTP 要求、応答のフォーマットおよびパラメーターの変換を管理できます。HTTPService または HTTPMultiService を使用するときは、データを特定の形式で渡すと考えられるサーバーにデータを送信するのが普通です。例えば、HTML フォーム型用にエンコードした URL、XML 値、または JSON のような別の直列化形式です。SerializationFilter によって、ユーザーは、HTTPService と HTTPMultiService が操作パラメーターを HTTP 本文の要求に変換する方法、応答を操作の戻り値に変換する方法をカスタマイズできます。フレームワーク開発者は、SerializationFilter を新規に実装して新規直列化形式をシステムに導入し、これらコンポーネントおよびこれらコンポーネント上に構築された全フレームワークとツールを使用できます。その場合、形式自体の詳細を知る必要はありません。

最初に行うのは、SerializationFilter を拡張し、1 つまたは複数の変換メソッドを上書きすることです。フィルターを使用すると、パラメーターの順序付きリストを要求本文に変換し、要求本文を修正し、要求で使用されるコンテンツタイプを修正し、要求で使用される実際の URL を修正し、応答データをサービスの結果イベントで返される結果オブジェクトに変換できます。

特定の HTTPService または HTTPMultiService 用に SerializationFilter を指定する方法が 2 つあります。サービスの serializationFilter プロパティを設定するか、または新規要求形式用に SerializationFilter を静的に登録するかのどちらかです。resultFormat を指定するだけでこのアプローチを採用する場合は、登録済み SerializationFilter を使用できます。例えば、「json」型用に SerializationFilter を登録し、resultFormat="json" と設定してそのフィルターを使用できます。

HTTPService は要求本文を直接取得するメソッドを提供するのみで、「serializeParameters」メソッドを使用しないことに注意してください。

deserializeResult このメソッドは、HTTP 要求の結果を未加工形式で取得します。変換された結果はサービス用の結果イベントに与えられます。 operationmx.rpc.http:AbstractOperationAbstractOperation が起動中です。 resultサーバーから返された未加工の結果です。 このメソッドは、HTTP 要求の結果を未加工形式で取得します。これは、必要なら、より詳細に記入した ActionScript オブジェクトに変換できます。SerializationFilter をより一般的にするために、ユーザーは備わっている AbstractOperation の resultType プロパティまたは resultElementType プロパティを使用できます。これによって、コードは、受信要求を戻り型として ActionScript に設定された種類に動的にマッピングできます。

また、AbstractOperation には「properties」マップがあり、ユーザーはこれを ActionScript でのサービス呼び出しの一部として使用して追加プロパティを格納し、特定の種類の直列化解除を処理することもできます。

getRequestContentType このメソッドは、呼び出しを行う直前に HTTP サービスが呼び出します。この HTTP に使用するコンテンツタイプです。 operationmx.rpc.http:AbstractOperation起動中の AbstractionOperation です。 obj直列化中の HTTP 要求の本文です。 contentType操作用に設定した contentType このメソッドは、呼び出しを行う直前に HTTP サービスが呼び出します。これのロールはこの要求のために使用される contentType を選択することです。多数の直列化形式について 1 つの固定コンテンツタイプがあるので、ここではそのコンテンツタイプを返すだけです。HTTPService 自体はコンテンツタイプで設定されているので、値はここで受け渡され、デフォルトの実装によって返されます。コンテンツタイプがサーバーに送信中のオブジェクトの種類に左右される場合に備えて、直列化中の要求本文には obj パラメーターもあります。 registerFilterForResultFormat この静的関数は、特定の resultFormat 値について新しい SerializationFilter を登録するのに使用します。mx.rpc.http:SerializationFilterresultFormatカスタム resultFormat の名前は、供給された SerializationFilter と関連付けられます。 filtermx.rpc.http:SerializationFilter登録する SerializationFilter です。 この静的関数は、特定の resultFormat 値について新しい SerializationFilter を登録するのに使用します。スタートアップ時にこのメソッドを 1 回呼び出せば、直列化フィルターを使用する HTTPService または HTTPMultiService の resultFormat プロパティを指定するだけで、開発者が形式を指定しやすくできます。 serializeBody このメソッドは HTTP サービスのすべての呼び出しについて呼び出されます。要求で使用するために変換された可能性のある本文です。 operationmx.rpc.http:AbstractOperation呼び出し中の AbstractOperation objHTTP 要求の初期本文です。これは、serializeParameters の戻り値、sendBody メソッドへのパラメーターまたは HTTPService への送信メソッドのいずれかです。 このメソッドは HTTP サービスのすべての呼び出しについて呼び出されます。これは、与えられたオブジェクトを HTTP の要求本文に直接設定するのに適した形式に変換できます。デフォルトの実装では、変換なしに本体として渡されたオブジェクトを返すのみです。 serializeParameters このメソッドは HTTP サービス呼び出しの「send」メソッドから呼び出され、パラメーターを要求本文に変換します。HTTP 要求で使用する本文 operationmx.rpc.http:AbstractOperationAbstractOperation が起動中です。 paramssend メソッドに渡されるパラメーターのリスト このメソッドは HTTP サービス呼び出しの「send」メソッドから呼び出され、パラメーターを要求本文に変換します。オリジナル送信呼び出しのパラメーターはパラメーター配列に入れられます。このメソッドは、パラメーターのこのセットを、HTTP 要求本文のデータとして使用される単一のオブジェクトに変換します。デフォルトの実装ではオブジェクトが 1 つ作成されます。ここで、キーは Operation の argumentNames 配列内の値であり、値はパラメーターの値です。デフォルトの実装を使用するとき、argumentNames がパラメーター配列と同じ数のエレメントを持つように設定する必要があります。

1 つのオブジェクトのみを取得する sendBody メソッドを使用して HTTP 操作を起動する場合、このメソッドは使用されないことに注意してください。その場合、このステップは省略され、serializeBody メソッドのみが呼び出されます。

serializeURL このメソッドが使用されるのは、要求本文オブジェクトからデータを取得し、それを URL ストリングにエンコードする必要がある場合です。この要求で使用するために修正された可能性のある URL です。 operationmx.rpc.http:AbstractOperation呼び出し中の AbstractOperation objサービスまたは操作に設定される URL url このメソッドが使用されるのは、要求本文オブジェクトからデータを取得し、それを URL ストリングにエンコードする必要がある場合です。操作またはサービスで設定された受信 URL が渡されます。このシステムでは、受信 URL は変換なしに返されるのみです。