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 閱讀(226) 評論(0)  編輯  收藏 所屬分類: Flex
          主站蜘蛛池模板: 汉寿县| 文水县| 资阳市| 威信县| 会昌县| 离岛区| 辽阳市| 金华市| 剑河县| 定襄县| 庄河市| 东乡族自治县| 广昌县| 华池县| 东丰县| 抚松县| 宜兰市| 宁化县| 玉林市| 平南县| 清丰县| 微山县| 枞阳县| 青州市| 定西市| 怀化市| 锡林浩特市| 黑山县| 巴中市| 武清区| 确山县| 新乐市| 抚顺市| 龙川县| 沽源县| 博罗县| 邻水| 瑞丽市| 泰来县| 铜山县| 合肥市|