| Package | jp.co.fujitsu.reffi.client.flex.model.rpc |
| Class | public class HTTPServiceCore |
| Inheritance | HTTPServiceCore RPCCore BaseModel flash.events.EventDispatcher |
[概 要]
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):voidSee 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.