몰랐는데 AIR에서도 되네요-_-;

우선 http://mudchobo.tomeii.com/tt/211 이거랑
http://mudchobo.tomeii.com/tt/214 이거를 참조하셔서 새로운 blazeds.war를 만들어서 톰캣에 띄워야합니다.

New Project로 만들고, ProjectName을 AirBlazedsTest라고 합시다.
Desktop application을 선택하고 J2EE를 선택하고, 넥스트를 누릅니다 ^^

Server location은 위에 따라했다면 그대로 되어 있을꺼에요^^
Finish를 클릭해줍시다.

AIR에서는 좀 다르게 몇줄을 더 추가해야하는데요.

[code]
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"
   layout="absolute">
 <mx:Script> 
  <![CDATA[
   import mx.messaging.ChannelSet;
   import mx.messaging.channels.AMFChannel;  
   import mx.rpc.events.ResultEvent;  
   import mx.rpc.events.FaultEvent;  
   import mx.rpc.remoting.RemoteObject;  
   import mx.controls.Alert;     
   private var startTime:Number;      
   private function resultHandler(event:ResultEvent):void{       
    dg.dataProvider = event.result;  
   }     
   
   private function faultHandler(event:FaultEvent):void{       
    mx.controls.Alert.show("실패 메세지 : " + event.fault.message);  
   }     
   
   private function retrieve():void  {  
    var amfChannel:AMFChannel = new AMFChannel(
     "my-amf", "http://localhost:8080/blazeds/messagebroker/amf");
    var channelSet:ChannelSet = new ChannelSet();
    channelSet.addChannel(amfChannel);
   
    var srv:mx.rpc.remoting.RemoteObject = new RemoteObject();  
    srv.channelSet = channelSet;
    srv.destination = "member";      
    startTime = new Date().time;  
    srv.getElements();       
    srv.addEventListener("result",resultHandler);  
    srv.addEventListener("fault",faultHandler);  
   }    
   
   private function logResult():void  {  
    if (startTime > 0)   {   
     log.text = "" + (new Date().time - startTime) + " milliseconds"; 
    } 
   }   
  ]]>
 </mx:Script>  
 
 <mx:Panel title="AS를 이용한 RemoteObject예" width="100%" height="100%"> 
  <mx:DataGrid id="dg" width="100%" height="100%"                 
   updateComplete="logResult()"/>  
  <mx:ControlBar>   
   <mx:Button label="데이터 가져오기" click="retrieve()"/>  
   <mx:Label id="log"/>  
  </mx:ControlBar>
 </mx:Panel>
</mx:WindowedApplication>
[/code]

사용자 삽입 이미지


AIR에서도 돼요-_-; 레몬펜그은부분만 추가를 해주시면 돼요 ^^
 
Posted by 머드초보

댓글을 달아 주세요

  1. 2008.01.31 20:34  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

    • BlogIcon 머드초보 2008.02.01 00:24  댓글주소  수정/삭제

      너무 감사합니다 ㅠㅠ
      눈물이 앞을 가려요 ㅠㅠ
      방명록은 상단에 있답니다 ^^
      우선 카페가입했습니다. 너무 감사드려요!
      열심히 하겠습니다!!!

    • 이성민 2008.02.05 00:31  댓글주소  수정/삭제

      모야 내이름은? 나도 이곳을 주시 하고 있다는거 모르나? ㅋㅋㅋ 왜 없어 내이름!!! ㅋㅋ 얼렁 적어넣어라

    • BlogIcon 머드초보 2008.02.05 08:16  댓글주소  수정/삭제

      -_-; 나중에 다른 예제가 있으면 넣어주마-_-;

  2. BlogIcon 옹씨루 2008.02.21 00:43  댓글주소  수정/삭제  댓글쓰기

    유익한 정보 감사합니다~

  3. BlogIcon 고고마 2008.12.01 16:12  댓글주소  수정/삭제  댓글쓰기

    음.. 전 weblogic9.2와 LCDS2.5.1을 써서 동일하게 해봤는데요. remoting-config.xml 부분을 고치게 되면
    weblogic에서는 console에서 디플로이를 시켜서 flex.war를 갖다가 자동으로 사용하는데
    다시 고친다면 flex.war를 다시 이클립스에서 열어서 고치고 export를 시킨 후 다시 디플로이 시켜야 실행이 되려나요.
    실패 메세지 :
    faultCode:Server.Processing faultString:'No destination with id 'member' is registered with any service.' faultDetail:'null'
    위의 메시지가 자꾸 뜨는데.. service등록이 안되었다는 건데 후우.. 하루종일 이러고 있네요 ㅠㅠ

    • 머드초보 2008.12.02 17:45  댓글주소  수정/삭제

      음.....뭔가 null이라는 얘기인 듯 한데요.
      웹로직에서 안해봐서 잘 모르겠네요 ㅠㅠ

  4. BlogIcon 고고마 2008.12.03 10:32  댓글주소  수정/삭제  댓글쓰기

    오 되었어요 ^^; AMF 웹루트 경로를 제가 잘못 썼네요 아우 기분좋네요 ! 엉뚱한 것만 찾고 있었네요

  5. 컴온예 2009.02.15 15:58  댓글주소  수정/삭제  댓글쓰기

    정말 많은 도움이 됐네요!!
    다들 대단한 실력자들이신가봐요.

    지돌스타, 머드초보, 에이레네 등등...
    부럽습니다.

    많은 도움받아가요...

    • 머드초보 2009.02.16 18:11  댓글주소  수정/삭제

      도움이 되셨다니 다행이네요^^
      근데 전 실력자가 아닙니다-_-; 저 실력자분들에 비하면 뭐 아무것도 아닙니다-_-;
      방문해주셔서~ 감사해요 ^^

  6. 2009.08.21 10:03  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

    • 머드초보 2009.08.23 19:27  댓글주소  수정/삭제

      안녕하세요~
      제가 이해를 잘 못했는데요-_-
      우선 데이터를 Flex컴포넌트 tree에 맞게 보여주려고 하시는건가요?
      BlazeDS는 데이터를 연동하는 것입니다.
      remoteobject를 이용해서 tree에 맞는 데이터를 가져오면 잘 될 듯한데요-_-
      죄송해요 이해가 잘 안되네요 ㅠㅠ