Packageorg.seasar.flex2.rpc.remoting
Classpublic dynamic class S2Flex2Service
InheritanceS2Flex2Service Inheritance mx.rpc.AbstractService
Implementsmx.core.IMXMLObject
SubclassesRemoteService

S2Flex2Serviceは、S2Flex2のgatewayに接続する為のコンポーネントクラスです。
S2Container(Seasar2)に登録されたコンポーネントにアクセスして、メソッド実行を可能にします。

Gatewayの指定

このサービスの接続先であるGatewayを指定する方法は、3パターンあります。

gatewayUrlプロパティで指定する方法

接続先の指定としてgatewayURLプロパティに指定する方法があります。
<s2:S2Flex2Service gatewayUrl="http://127.0.0.1:8080/flex/gateway" ... この方法を使うと明示的に接続先を指定することができますが、接続先が変更になると、再度コンパイルする必要があります。

configType="url"で指定する方法

接続先の設定としてデフォルト設定になっているのは、このurlで指定する方法です。 systemManager.loaderInfo.urlの値を使って処理します。 例) http://127.0.0.1/test/test.swfだった場合は、 http://127.0.0.1/test/gatewayとしてます。 同じ階層のgatewayというURLをGatewayURLに指定します。

Flex Builder 2 などでデバッグしているときは、flashvarsでdefaultGatewayを指定することで  接続することができるようになります。

<param name="FlashVars" value="defaultGateway=http://127.0.0.1/flex2/gateway" />

configType="flashvars"で指定する方法

configType="flashvars"を指定したときには、htmlファイルの中でflashvarsにdefaultGatewayを指定します。 サービス単位で接続先を変更するときには、destination名でgatewayUrlを指定します。 以下は、addServiceの接続先を指定する例です。addSevrice意外のサービスは、defaultGatewayに接続する事になります。

<param name="FlashVars" value="addService="http://127.0.0.1/flexservice/gateway"&"defaultGateway=http://127.0.0.1/flex2/gateway" />

MXML Syntaxexpanded Hide MXML Syntax

<s2:S2Service>タグは、スーパークラスの属性に加えて以下の属性を持ちます。

    <s2:S2Flex2Service
    Properties
    gatewayUrl="null"
    showBusyCursor="true|false"
    id="No default"
    fault="No default"
    result="No default"
    destination="No default"
    configType="flashvars|xml|url"
    />
    

Example
S2Flex2Serviceの使用例は以下の通りです。
  addService=  new S2Flex2Service("addService");
  addService.initialized(this,"addService");
 
  addService.destination="addService";
  addService.addEventListener(ResultEvent.RESULT,onGetData);
  addService.addEventListener(FaultEvent.FAULT,onFault);
  addService.addEventListener(IOErrorEvent.IO_ERROR,failreProcess);
  addService.addEventListener(IOErrorEvent.NETWORK_ERROR,failureProcess);
 addService.addEventListener(NetStatusEvent.NET_STATUS,failureProcess);
 addService.addEventListener(SecurityErrorEvent.SECURITY_ERROR,failureProcess);
 addService.addEventListener(FaultEvent.FAULT, failurProcess);
 addService.setCredentials("user_id","password"); //Authenication
  addService.getAddDtoData();       //service invoke
    



Public Properties
 PropertyDefined by
  concurrency : String
このプロパティについては、実装には反映されていません。(TBD)
将来のリリースで改善される可能性はあります。
S2Flex2Service
  concurrency : String
S2Flex2Service
  configType : String
S2Flex2Service
  gatewayUrl : String
サーバ接続する際のURLです。 AMFのGatewayを指定します。
S2Flex2Service
  gatewayUrl : String
S2Flex2Service
  id : String
mxml内部ドキュメント内部で管理されるこの S2Flex2Sericeインスタンスを特定するID です。
S2Flex2Service
  id : String
S2Flex2Service
  showBusyCursor : Boolean
サーバロジックを呼び出している間、カーソルをBusyCursorにするかどうかを決定します。 デフォルトはtrueです。
S2Flex2Service
  showBusyCursor : Boolean
S2Flex2Service
Protected Properties
 PropertyDefined by
  _con : NetConnection
サーバ接続の際に利用されるNetConnectionのインスタンスです。
S2Flex2Service
Public Methods
 MethodDefined by
  
S2Flex2Service(destination:String = null)
コンストラクタ.

destinationをセットしたうえでResponderの配列を初期化します。

S2Flex2Service
  
initialized(document:Object, id:String):void
mxmlファイル内でS2Flex2Serviceをタグとして設定したときにMXMLコンパイラ(mxmlc)によって自動的に呼び出されます。
このクラスを ActionScript で作成し、検証で機能させるには、このメソッドを呼び出して、MXML ドキュメントと S2Flex2Service の id を渡す必要があります。 正しく指定しないと、Gatewayの指定が正しく行われない可能性があります。
S2Flex2Service
  
onFault(operation:String, result:*):void
呼び出したリモートサービスが何らかのエラーを返してきたときに呼ばれます
S2Flex2Service
  
onResult(operation:String, result:*):void
呼び出したリモートサービスが正常に終了したときに呼ばれます
S2Flex2Service
  
setCredentials(username:String, password:String):void
認証が必要なサービスを呼び出す際に必要な認証情報をセットします。
S2Flex2Service
  
setRemoteCredentials(remoteUsername:String, remotePassword:String):void
認証が必要な外部サービスを呼び出す際に必要な認証情報をセットします。 (TBD.)
このメソッドは呼び出しても、S2Flex2 1.0.xでは認識しません。
S2Flex2Service
Protected Methods
 MethodDefined by
  
callProperty(methodName:*, ... args):*
S2Flex2Service
  
NetConnectionにEventListenerの設定を行います。
S2Flex2Service
  
NetConnectionのインスタンスを生成します。
S2Flex2Service
  
getProperty(name:*):*
指定されたnameにあわせたOperationを返します。
S2Flex2Service
  
NetConnectionの初期化を行います。
S2Flex2Service
  
setProperty(name:*, value:*):void
Serviceより呼び出すOperationをセットします。
S2Flex2Service
Events
 EventSummaryDefined by
   The fault event is dispatched when a service call fails and isn't handled by the Operation itself.S2Flex2Service
     IOErrorはNetwork接続時に入出力エラーが発生したときに送出されます。 S2Flex2Service
    S2Flex2Service
   The result event is dispatched when a service call successfully returns and isn't handled by the Operation itself.S2Flex2Service
    S2Flex2Service
Property detail
_conproperty
protected var _con:NetConnection

サーバ接続の際に利用されるNetConnectionのインスタンスです。

concurrencyproperty 
public var concurrency:String

このプロパティについては、実装には反映されていません。(TBD)
将来のリリースで改善される可能性はあります。

concurrencyproperty 
public var concurrency:String
configTypeproperty 
public var configType:String
gatewayUrlproperty 
public var gatewayUrl:String

サーバ接続する際のURLです。 AMFのGatewayを指定します。

gatewayUrlproperty 
public var gatewayUrl:String
idproperty 
public var id:String

mxml内部ドキュメント内部で管理されるこの S2Flex2Sericeインスタンスを特定するID です。

idproperty 
public var id:String
showBusyCursorproperty 
public var showBusyCursor:Boolean

サーバロジックを呼び出している間、カーソルをBusyCursorにするかどうかを決定します。 デフォルトはtrueです。

showBusyCursorproperty 
public var showBusyCursor:Boolean
Constructor detail
S2Flex2Service()constructor
public function S2Flex2Service(destination:String = null)

コンストラクタ.

destinationをセットしたうえでResponderの配列を初期化します。

Parameters
destination:String (default = null) — サービスの宛先.呼び出すコンポーネントの名称を指定します。
Method detail
callProperty()method
flash_proxy override function callProperty(methodName:*, ... args):*Parameters
methodName:*
 
... args

Returns
*
configureListeners()method 
protected function configureListeners():void

NetConnectionにEventListenerの設定を行います。

createConnection()method 
protected function createConnection():void

NetConnectionのインスタンスを生成します。

getProperty()method 
flash_proxy override function getProperty(name:*):*

指定されたnameにあわせたOperationを返します。

Parameters
name:*

Returns
* — RPCOperation
initConnection()method 
protected function initConnection():void

NetConnectionの初期化を行います。

initialized()method 
public function initialized(document:Object, id:String):void

mxmlファイル内でS2Flex2Serviceをタグとして設定したときにMXMLコンパイラ(mxmlc)によって自動的に呼び出されます。
このクラスを ActionScript で作成し、検証で機能させるには、このメソッドを呼び出して、MXML ドキュメントと S2Flex2Service の id を渡す必要があります。 正しく指定しないと、Gatewayの指定が正しく行われない可能性があります。

Parameters
document:Object — このクラスを利用しているmxml documents
 
id:String — S2Flex2Serviceのインスタンス
onFault()method 
public function onFault(operation:String, result:*):void

呼び出したリモートサービスが何らかのエラーを返してきたときに呼ばれます

Parameters
operation:String — 呼び出したサービスのメソッド名
 
result:* — 呼び出したエラー結果
onResult()method 
public function onResult(operation:String, result:*):void

呼び出したリモートサービスが正常に終了したときに呼ばれます

Parameters
operation:String — 呼び出したサービスのメソッド名
 
result:* — 呼び出したサービスの結果
setCredentials()method 
public override function setCredentials(username:String, password:String):void

認証が必要なサービスを呼び出す際に必要な認証情報をセットします。

Parameters
username:String — 認証に利用するユーザID
 
password:String — 認証に利用するパスワード
setProperty()method 
flash_proxy override function setProperty(name:*, value:*):void

Serviceより呼び出すOperationをセットします。

Parameters
name:* — メソッド名
 
value:* — メソッドに対応したRPCOperation
setRemoteCredentials()method 
public override function setRemoteCredentials(remoteUsername:String, remotePassword:String):void

認証が必要な外部サービスを呼び出す際に必要な認証情報をセットします。 (TBD.)
このメソッドは呼び出しても、S2Flex2 1.0.xでは認識しません。

Parameters
remoteUsername:String — 認証に利用するユーザID
 
remotePassword:String — 認証に利用するパスワード
Event detail
faultevent 
Event object type: mx.rpc.events.FaultEvent

The fault event is dispatched when a service call fails and isn't handled by the Operation itself.   
fault イベントは、サービス(サーバロジック)を実行した際に、失敗、または例外が発生したときに送出されます。

ioErrorevent  
Event object type: flash.events.IOErrorEvent

  IOErrorはNetwork接続時に入出力エラーが発生したときに送出されます。

netStatusevent  
Event object type: flash.events.NetStatusEvent

resultevent  
Event object type: mx.rpc.events.ResultEvent

The result event is dispatched when a service call successfully returns and isn't handled by the Operation itself.
result イベントは、サーバロジックを実行し正常に処理されたときに送出されます。

securityErrorevent  
Event object type: flash.events.SecurityErrorEvent