The NoteBook of EricKong

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            611 Posts :: 1 Stories :: 190 Comments :: 0 Trackbacks

          Configure an existing J2EE web application to support BlazeDS by performing the following steps:
          1 Add the BlazeDS JAR files and dependent JAR files to the WEB-INF/lib directory.
          2 Edit the BlazeDS configuration files in the WEB-INF/flex directory.
          3 Define MessageBrokerServlet and a session listener in WEB-INF/web.xml.

          RPC service example
          The Remoting Service is one of the RPC services included with BlazeDS. The Remoting Service lets clients access methods of Plain Old Java Objects (POJOs) on the server.In this example, you deploy a Java class, EchoService.java, on the server that echoes back a String passed to it from the client. The following code shows the definition of EchoService.java:

          1 package remoting;
          2 public class EchoService
          3 {
          4     public String echo(String text) {
          5         return "Server says: I received '" + text + "' from you";
          6     }
          7 }
          8 


          The echo() method takes a String argument and returns it with additional text. After compiling EchoService.java,place EchoService.class in the WEB-INF/classes/remoting directory. Notice that the Java class does not have to import or reference any BlazeDS resources.
          Define a destination, and reference one or more channels that transport the data. Configure EchoService.class as a remoting destination by editing the WEB-INF/flex/remoting-config.xml file and adding the following code:

          <destination id="echoServiceDestination" channels="my-amf">
           
          <properties>
            
          <source>remoting.EchoService</source>
           
          </properties>
          </destination>

          The source element references the Java class, and the channels attribute references a channel called my-amf.Define the my-amf channel in WEB-INF/flex/services-config.xml, as the following example shows:

          <channel-definition id="my-amf" class="mx.messaging.channels.AMFChannel">
              
          <endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/amf" class="flex.messaging.endpoints.AMFEndpoint"/>
              
          <properties>
                  
          <polling-enabled>false</polling-enabled>
              
          </properties>
          </channel-definition>

          The channel definition specifies that the Flex client uses a non-polling AMFChannel to communicate with the AMFEndpoint on the server.
          Note: If you deploy this application on the samples web application installed with BlazeDS, services-config.xml already contains a definition for the my-amf channel.The Flex client application uses the RemoteObject component to access EchoService. The RemoteObject component uses the destination property to specify the destination. The user clicks the Button control to invoke the remote
          echo() method:

          <?xml version="1.0"?>
          <!-- intro\intro_remoting.mxml -->
          <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%">
          <mx:Script>
          <![CDATA[
           import mx.rpc.events.FaultEvent;
           import mx.rpc.events.ResultEvent;
           // Send the message in response to a Button click.
           private function echo():void {
              var text:String = ti.text;
              remoteObject.echo(text);
           }
           // Handle the recevied message.
           private function resultHandler(event:ResultEvent):void {
               ta.text += "Server responded: "+ event.result + "\n";
           }
           // Handle a message fault.
           private function faultHandler(event:FaultEvent):void {
               ta.text += "Received fault: " + event.fault + "\n";
           }
           
          ]]>
          </mx:Script>
          <mx:RemoteObject id="remoteObject" destination="echoServiceDestination" result="resultHandler(event);" fault="faultHandler(event);"/>
          <mx:Label text="Enter a text for the server to echo"/>
          <mx:TextInput id="ti" text="Hello World!"/>
          <mx:Button label="Send" click="echo();"/>
          <mx:TextArea id="ta" width="100%" height="100%"/>
          </mx:Application>

          Compile the client application into a SWF file by using Flex Builder or the mxmlc compiler, and then deploy it to
          your web application.
           

          posted on 2011-06-29 11:09 Eric_jiang 閱讀(232) 評論(0)  編輯  收藏 所屬分類: Flex
          主站蜘蛛池模板: 福泉市| 新竹市| 十堰市| 鹤庆县| 台江县| 耒阳市| 南岸区| 广宗县| 平安县| 绥中县| 那曲县| 山丹县| 疏勒县| 金湖县| 农安县| 库伦旗| 诸暨市| 林甸县| 齐河县| 荆门市| 湖南省| 蒙阴县| 普洱| 陇川县| 奉新县| 恭城| 富民县| 高密市| 华阴市| 盘锦市| 东乡| 齐齐哈尔市| 侯马市| 巴楚县| 阿城市| 普宁市| 丹寨县| 达孜县| 隆子县| 江华| 建昌县|