Package | jp.co.fujitsu.reffi.client.flex.model.rpc |
Class | public class HTTPServiceCore |
Inheritance | HTTPServiceCore ![]() ![]() ![]() |
[概 要]
HTTPServiceによるサーバアクセスを行う機能モデルクラスです.[詳 細]
アクセス先URL指定、アクセスメソッド指定(デフォルト:POST)、 返却フォーマット指定(デフォルト:object)、URLパラメータ指定を行い、 HTTPリクエスト送信、レスポンス受信を行います。[備 考]
Property | Defined By | ||
---|---|---|---|
![]() | asyncToken : Object
[概 要]
非同期通信トークンです. | RPCCore | |
![]() | cache : Dictionary [static]
[概 要]
static通信オブジェクトキャッシュプロパティです. | RPCCore | |
![]() | cacheMode : Boolean
[概 要]
通信先が同じであれば各種通信オブジェクトをキャッシュします. | RPCCore | |
contentType : String
[概 要]
コンテンツタイプです. | HTTPServiceCore | ||
![]() | controller : BaseController
[概 要]
このモデルを起動したコントローラインスタンスです. | BaseModel | |
![]() | executeIndex : int
[概 要]
実行インデックス設定. | BaseModel | |
httpMethod : String
[概 要]
HTTPアクセスメソッドです. | HTTPServiceCore | ||
![]() | parameterMapping : ParameterMapping
[概 要]
MVC各レイヤを伝播するパラメータオブジェクトです. | BaseModel | |
request : Object
[概 要]
リクエスト本文です. | HTTPServiceCore | ||
resultFormat : String
[概 要]
受信データフォーマットです. | HTTPServiceCore | ||
![]() | service : IEventDispatcher
[概 要]
継承先で定義される、各種通信オブジェクトのI/Fです. | RPCCore | |
![]() | skip : Boolean
[概 要]
このモデルを実行するか、コントローラが判断する為のフラグです. | BaseModel | |
![]() | successCount : int
[概 要]
モデルインスタンス生存中に、何回モデル処理が成功したかを保持します. | BaseModel | |
url : String
[概 要]
アクセスを行う対象URLです. | HTTPServiceCore | ||
urlParameter : Object
[概 要]
リクエストする際のURLパラメータです. | HTTPServiceCore | ||
xmlDecode : Function
[概 要]
XMLデコーダです. | HTTPServiceCore | ||
xmlEncode : Function
[概 要]
XMLエンコーダです. | HTTPServiceCore |
Method | Defined By | ||
---|---|---|---|
addUrlParameter(key:String, value:Object):Object
[概 要]
URLパラメータにパラメータを追加します. | HTTPServiceCore | ||
![]() | dispatchModelFailure(event:ModelProcessEvent):void
[概 要]
モデル処理失敗イベントを発行するメソッドです. | BaseModel | |
![]() | dispatchModelFinished(event:ModelProcessEvent):void
[概 要]
モデル処理完了イベントを発行するメソッドです. | BaseModel | |
![]() | dispatchModelSuccess(event:ModelProcessEvent):void
[概 要]
モデル処理成功イベントを発行するメソッドです. | BaseModel | |
![]() | incrementSuccessCount():int
[概 要]
ModelProcessEvent.SUCCESS発行回数を1増加させます. | BaseModel | |
![]() | removeAllCache():void [static]
[概 要]
通信オブジェクトキャッシュを全て削除します. | RPCCore | |
![]() | removeCache(cacheId:String):void [static]
[概 要]
通信オブジェクトキャッシュを削除します. | RPCCore | |
![]() | run():void
[概 要]
コントローラにコールされるモデルの主幹メソッドです. | BaseModel |
Method | Defined By | ||
---|---|---|---|
cacheId():String [override]
[概 要]
キャッシュモード実行時、通信オブジェクトを識別する為のIDを返却します. | HTTPServiceCore | ||
createConcreteService():IEventDispatcher [override]
[概 要]
具象通信オブジェクトを作成します. | HTTPServiceCore | ||
![]() | faultHandler(event:FaultEvent):void
[概 要]
受信失敗ハンドラです. | RPCCore | |
![]() | finallyProc():void
[概 要]
run()が終了したタイミングでテンプレートコールされるメソッドです. | BaseModel | |
finishConnect():void [override]
[概 要]
通信成功、失敗に関わらずコールされます. | HTTPServiceCore | ||
![]() | mainProc():void [override]
[概 要]
メイン処理メソッドです. | RPCCore | |
![]() | onFailure(event:FaultEvent, parameterMapping:ParameterMapping):void
[概 要]
受信失敗処理用オーバーライドメソッドです. | RPCCore | |
![]() | onFinish(parameterMapping:ParameterMapping):void
[概 要]
通信終了処理実装メソッドです. | RPCCore | |
![]() | onSuccess(event:ResultEvent, parameterMapping:ParameterMapping):void
[概 要]
受信成功処理用オーバーライドメソッドです. | RPCCore | |
![]() | postProc():void
[概 要]
後処理テンプレートメソッドです. | BaseModel | |
![]() | preProc():Boolean
[概 要]
前処理テンプレートメソッドです. | BaseModel | |
![]() | resultHandler(event:ResultEvent):void
[概 要]
受信成功ハンドラです. | RPCCore | |
send(dispatcher:IEventDispatcher):Object [override]
[概 要]
HTTPリクエストを送信します. | HTTPServiceCore | ||
![]() | trap(e:Error):Error [override]
[概 要]
非同期通信開始前のエラーをハンドリングします. | RPCCore |
contentType | property |
contentType:String
[概 要]
コンテンツタイプです.[詳 細]
HTTP通信時のコンテンツタイプを指定します。[備 考]
public function get contentType():String
public function set contentType(value:String):void
httpMethod | property |
httpMethod:String
[概 要]
HTTPアクセスメソッドです.[詳 細]
POST、GETを文字列指定します。[備 考]
The default value is "POST"
.
public function get httpMethod():String
public function set httpMethod(value:String):void
request | property |
request:Object
[概 要]
リクエスト本文です.[詳 細]
null以外が指定された場合、リクエスト本文として送信されます。[備 考]
public function get request():Object
public function set request(value:Object):void
resultFormat | property |
resultFormat:String
[概 要]
受信データフォーマットです.[詳 細]
「object」「e4x」「xml」が指定可能です。[備 考]
The default value is object
.
public function get resultFormat():String
public function set resultFormat(value:String):void
See also
url | property |
url:String
[概 要]
アクセスを行う対象URLです.[詳 細]
同コンテキストルートにアクセスする場合、ドメイン指定は不要です。[備 考]
public function get url():String
public function set url(value:String):void
urlParameter | property |
urlParameter:Object
[概 要]
リクエストする際のURLパラメータです.[詳 細]
このプロパティに設定されたキー=値のセットが送信時のURLパラメータとして適用されます。[備 考]
public function get urlParameter():Object
public function set urlParameter(value:Object):void
xmlDecode | property |
xmlDecode:Function
[概 要]
XMLデコーダです.[詳 細]
resultFormat がオブジェクトで、xmlDecode プロパティが設定されている場合、 HTTPService が返す XML を使用してオブジェクトを作成します。 xmlDecodeにnullが設定されている場合は、デフォルトの XMLDecoder を使用してこの処理が実行されます。[備 考]
public function get xmlDecode():Function
public function set xmlDecode(value:Function):void
xmlEncode | property |
xmlEncode:Function
[概 要]
XMLエンコーダです.[詳 細]
コンテンツタイプが application/xml で、渡された要求オブジェクトが Object の場合、 このxmlEncodeを使用してオブジェクトに変換しようとします。 xmlEncode プロパティがnullの場合、デフォルトの XMLEncoder を使用して、 オブジェクトグラフを flash.xml.XMLNode オブジェクトに変換します。[備 考]
public function get xmlEncode():Function
public function set xmlEncode(value:Function):void
addUrlParameter | () | method |
public function addUrlParameter(key:String, value:Object):Object
[概 要]
URLパラメータにパラメータを追加します.[詳 細]
引数key = 引数valueの形式でurlParameterプロパティに新規パラメータを追加します。[備 考]
valueが配列の場合は引数key=引数value[0]&引数key=引数value[1]の状態で パラメータが生成されます。Parameters
key:String — URLパラメータキー
| |
value:Object — URLパラメータ値
|
Object |
cacheId | () | method |
override protected function cacheId():String
[概 要]
キャッシュモード実行時、通信オブジェクトを識別する為のIDを返却します.[詳 細]
urlプロパティを返却します。 cacheIdはcacheModeプロパティがtrueの場合のみ使用されます。[備 考]
ReturnsString — 通信オブジェクトを識別する為のキャッシュID
|
createConcreteService | () | method |
override protected final function createConcreteService():IEventDispatcher
[概 要]
具象通信オブジェクトを作成します.[詳 細]
HTTPServiceオブジェクトを生成して返却します。[備 考]
ReturnsIEventDispatcher — HTTPServiceオブジェクト
|
finishConnect | () | method |
override protected final function finishConnect():void
[概 要]
通信成功、失敗に関わらずコールされます.[詳 細]
処理は有りません。[備 考]
通信終了処理実装はonFinishをオーバーライドしてください。send | () | method |
override protected function send(dispatcher:IEventDispatcher):Object
[概 要]
HTTPリクエストを送信します.[詳 細]
urlプロパティ値に対して、httpMethodプロパティ値で、urlParameterプロパティ値を 引数にしてリクエストを送信します。 受信した値にアクセスする為の型としてresultFormatプロパティ値が適用されます。[備 考]
Parameters
dispatcher:IEventDispatcher |
Object — AsyncToken
|
<?xml version="1.0" encoding="UTF-8"?> <employees> <employee> <name>yamada taro</name> <age>32</age> </employee> <employee> <name>suzuki ichiro</name> <age>35</age> </employee> </employees>
package demo.client.form.action { import flash.events.Event; import jp.co.fujitsu.reffi.client.flex.action.BaseAction; import jp.co.fujitsu.reffi.client.flex.controller.ParameterMapping; import jp.co.fujitsu.reffi.client.flex.model.BaseModel; import jp.co.fujitsu.reffi.client.flex.model.events.ModelProcessEvent; import jp.co.fujitsu.reffi.client.flex.model.rpc.HTTPServiceCore; import jp.co.fujitsu.reffi.client.flex.model.rpc.RPCCore; import mx.rpc.events.ResultEvent; public class SendAction extends BaseAction { // ①HTTP通信の為の機能モデルを登録します override protected function reserveModels(models:Array):void { models.push(Class(HTTPServiceCore)); } // ②コントローラによってインスタンス化された機能モデルの設定を行います(サーバロジックは任意) override public function nextModel(index:int, prev:ModelProcessEvent, next:BaseModel):Boolean { switch(index) { case 0: HTTPServiceCore(next).url ="webController"; HTTPServiceCore(next).addUrlParameter("model.fqcn", "demo.rpc.model.DummyRestResponseModel"); HTTPServiceCore(next).addUrlParameter("forward.page", "DummyRestResponse.xml"); HTTPServiceCore(next).resultFormat = RPCCore.E4X; break; } return true; } // ③受信結果を取得します override public function successForward(index:int, model:BaseModel, resultEvent:Event):void { trace(ResultEvent(resultEvent).result.employee[0].name); } } }
yamada taro
Copyright (c) 2008-2009 FUJITSU Japan All rights reserved.