Package | jp.co.fujitsu.reffi.client.flex.model.rpc |
Class | public class HTTPServiceCore |
Inheritance | HTTPServiceCore ![]() ![]() ![]() |
[概 要]
HTTPServiceによるサーバアクセスを行う機能モデルクラスです.[詳 細]
アクセス先URL指定、アクセスメソッド指定(デフォルト:POST)、 返却フォーマット指定(デフォルト:object)、URLパラメータ指定を行い、 HTTPリクエスト送信、レスポンス受信を行います。[備 考]
Property | Defined By | ||
---|---|---|---|
![]() | controller : BaseController
[概 要]
このモデルを起動したコントローラインスタンスです. | BaseModel | |
![]() | executeIndex : int
[概 要]
実行インデックス設定. | BaseModel | |
httpMethod : String
[概 要]
HTTPアクセスメソッドです. | HTTPServiceCore | ||
![]() | parameterMapping : ParameterMapping
[概 要]
MVC各レイヤを伝播するパラメータオブジェクトです. | BaseModel | |
resultFormat : String
[概 要]
受信データフォーマットです. | HTTPServiceCore | ||
![]() | service : IEventDispatcher
[概 要]
継承先で定義される、各種通信オブジェクトのI/Fです. | RPCCore | |
![]() | skip : Boolean
[概 要]
このモデルを実行するか、コントローラが判断する為のフラグです. | BaseModel | |
![]() | successCount : int
[概 要]
モデルインスタンス生存中に、何回モデル処理が成功したかを保持します. | BaseModel | |
url : String
[概 要]
アクセスを行う対象URLです. | HTTPServiceCore | ||
urlParameter : Object
[概 要]
リクエストする際のURLパラメータです. | HTTPServiceCore |
Method | Defined By | ||
---|---|---|---|
[概 要]
コンストラクタです. | HTTPServiceCore | ||
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 | |
![]() | run():void
[概 要]
コントローラにコールされるモデルの主幹メソッドです. | BaseModel |
Method | Defined By | ||
---|---|---|---|
createConcreteService():IEventDispatcher [override]
[概 要]
具象通信オブジェクトを作成します. | HTTPServiceCore | ||
![]() | faultHandler(event:FaultEvent):void
[概 要]
受信失敗ハンドラです. | RPCCore | |
![]() | finallyProc():void
[概 要]
run()が終了したタイミングでテンプレートコールされるメソッドです. | BaseModel | |
mainProc():void [override]
[概 要]
HTTPリクエストを送信します. | HTTPServiceCore | ||
![]() | onFailure(event:FaultEvent, parameterMapping:ParameterMapping):void
[概 要]
受信失敗処理用オーバーライドメソッドです. | RPCCore | |
![]() | onSuccess(event:ResultEvent, parameterMapping:ParameterMapping):void
[概 要]
受信成功処理用オーバーライドメソッドです. | RPCCore | |
![]() | postProc():void
[概 要]
後処理テンプレートメソッドです. | BaseModel | |
![]() | preProc():Boolean
[概 要]
前処理テンプレートメソッドです. | BaseModel | |
![]() | resultHandler(event:ResultEvent):void
[概 要]
受信成功ハンドラです. | RPCCore | |
![]() | trap(e:Error):Error
[概 要]
run()内で発生した全例外をハンドリングするメソッドです. | BaseModel |
httpMethod | property |
httpMethod:String
[概 要]
HTTPアクセスメソッドです.[詳 細]
POST、GETを文字列指定します。[備 考]
The default value is "POST"
.
public function get httpMethod():String
public function set httpMethod(value:String):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
HTTPServiceCore | () | Constructor |
public function HTTPServiceCore()
[概 要]
コンストラクタです.[詳 細]
以下の初期化を行います。[備 考]
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 |
createConcreteService | () | method |
override protected final function createConcreteService():IEventDispatcher
[概 要]
具象通信オブジェクトを作成します.[詳 細]
HTTPServiceオブジェクトを生成して返却します。[備 考]
ReturnsIEventDispatcher — HTTPServiceオブジェクト
|
mainProc | () | method |
override protected final function mainProc():void
[概 要]
HTTPリクエストを送信します.[詳 細]
urlプロパティ値に対して、httpMethodプロパティ値で、urlParameterプロパティ値を 引数にしてリクエストを送信します。 受信した値にアクセスする為の型としてresultFormatプロパティ値が適用されます。[備 考]
<?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.