メソッド | フレームあり | フレームなし

mx.servicetags
RemoteObject クラス

継承を示す線


RemoteObject クラス
mx.servicetags.Service の拡張

<mx:RemoteObject> タグを使用すると、Java オブジェクトを手動で SOAP ベースの Web サービスとして設定しなくても、オブジェクトのメソッドにアクセスできます。<mx:RemoteObject> タグを使用すると、AMF (Action Message Format) エンコードを使用して Java オブジェクトとデータをやり取りできます。RemoteObject クラスは Service クラスを拡張しますが、header() メソッドおよび setEndpointURI() メソッドは適用されません。

MXML シンタックス

<mx:RemoteObject> タグには、次のプロパティを使用できます。

 <mx:RemoteObject
concurrency="multiple|single|last"
endpoint="No default."
fault="No default."
id="No default."
protocol="http|https"
result="No default."
serviceName="No default."
showBusyCursor="false|true"
source="No default."
type="stateless-class|stateful-class"
/>

これらのプロパティについては、http://livedocs.macromedia.com/flex で入手できる『Flex アプリケーション開発ガイド』の「データサービスの使用」に解説があります。

メモ : HTTP でサービスされている Flex アプリケーションから HTTPS を介してリモートオブジェクトサービスにアクセスするには、protocol プロパティを https に設定する必要があります。

<mx:RemoteObject> タグには、次のプロパティを持つ <mx:method> タグを複数置くことができます。

 <mx:method
concurrency="multiple|single|last"
fault=No default.
name=No default, required
result=No default.
/>

このタグの下には、<mx:arguments> 子タグを 1 つ置くことができ、さらにこのタグの下にも子タグを置くことができます。各子タグは RemoteObject メソッドへのパラメータで、1 番目のタグが 1 番目のパラメータ、2 番目のタグが 2 番目のパラメータというように順次パラメータが決まります。タグの名前は無視されます。

を参照するにはここをクリックしてください

メソッド

mx.servicetags.Service クラスから継承されるメソッド
addHeader   addSimpleHeader   clearHeaders   clearUsernamePassword   setEndpointURI   setUsernamePassword  


RemoteObjectExample.mxml
<?xml version="1.0" encoding="utf-8"?>

<!-- この例をローカルで実行する手順です。
   
1. - 以下の java コードをコピーして、"WEB-INF/classes/example" フォルダ
(Java Objects は Flex Web アプリケーションのクラスパスにあります) の下に "RemoteInfo.java" として保存します。
- RemoteInfo.java ファイルをコンパイルします。

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _Start of RemoteInfo.java_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

/**
* RemoteObject タグの使用方法を示す簡単な Java クラス
 *
 **/

package example;

public class RemoteInfo
{

public String getInfo()
    {
	   String info;
       
	   info  = "Working with remote object services."+ '\n'
+ "- <mx:RemoteObject>タグを使用して、Flex が動作している Java アプリケーションサーバー上にある" + '\n'
+ "  Java オブジェクトのメソッドを呼び出すことができます。" + '\n'
+ '\n'
+ "<mx:RemoteObject> タグでは、Macromedia Flash Remoting で使用されるエンコード方式である AMF を使用します。" + '\n'
+ "AMF 伝達は SOAP 伝達よりも高速で、使用するネットワーク帯域幅も少なくなります。" + '\n'
+ '\n'
+ "- 次のような Java オブジェクトのメソッドを呼び出すことができます。" + '\n'
+ "   Flex Web アプリケーションのクラスパス内にあるオブジェクト " + '\n'
+ "   セッションサーブレット (セッション変数へのアクセスに使用されます)" + '\n'
             + "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ";

return info;

    }
}
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ End of RemoteInfo.java_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

2. flex-config.xml ファイルを編集して、次のように <remote-objects> の名前のないホワイトリストに 
 example フォルダを追加します。
           
<unnamed>
	      <source>example.*</source>
</unnamed>
            
3. RemoteObjectExample.mxml コードを Flex サーバーにコピーした後に例を実行します。
   
-->

<!-- RemoteObject の使用方法を示す簡単な例 -->
<mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml" backgroundColor="#FFFFFF">

<mx:RemoteObject id="remoteTagInfo" source="example.RemoteInfo">
<mx:method name="getInfo" result="resultHandler(event.result)"/>
</mx:RemoteObject>

<mx:Script>
<![CDATA[
var infoStr:String;
		 function getdata()
		 {
		   remoteTagInfo.getInfo();
		 }
		 
		 function resultHandler(result)
		 {
		    infoStr= result;
		}
       ]]>
</mx:Script>

<mx:Panel title="Remote Object Panel" width="60%" height="45%">

<mx:Button label="Get Data" click="getdata();"/>
<mx:TextArea text="{infoStr}" width="100%" height="100%"/>

</mx:Panel>

</mx:Application>