How to shutdown an application remote object in lcds

I've got an application configured remote object that manages a couple of threads inside lcds.  When I go to shutdown lcds I get this
SEVERE: The web application [/wrcastle] appears to have started a thread named [Thread-5] but has failed to stop it. This is very likely to create a memory leak.
the tasks aren't shutting down and I've got catches for handling the thread.interrupt() should proprogate down.
How do I cleanly shutdown my tasks?
TIA
chuckles

Look at registering your own BootstrapService (See docs here).  You can do anything you want in such a service (not just register runtime destinations) and the stop() method will get called when the MessageBroker servlet stop() method is called.  You could then kill your threads here.
You could just ignore the messages from tomcat.  If you are shutting down the VM, there will be no memory leak.
Tom

Similar Messages

  • How to keep an application level object running with SunIDM?

    We are working on intergrate a gmail project with SunIDM. We need an application level object running with SunIDM so it will maintain a token generated from Gmail side. In anther servlet project, I had this object saved in the attribute of the ServletContext, then other session level servlet could share this attribute anytime. Is there a way to store attribute in Servlet Context and have it shared by different user session in SunIDM? I have been reading documents and searched this forum, haven't find any topics related how to maintain an application level object live. Hopefully that I can get some hint here.
    Thank you so much.

    Paul, Thank you so much for the further explaination. I don't think it will work since the token generated from gmail will expire every 24 hours.
    We are using the gdata library published from by gmail people, and I create a new UserService object and have it run in the application level. The UserService object will generate a token and renew it every 24 hours behind the scene. Here is how I implement it in my Servlet project:
    //to have a UserService object running at the application level:
    public class GmailUserService extends HttpServlet {
    public void init(ServletConfig config) throws ServletException{
    super.init();
    userService = new UserService(myApplication);
    config.getServletContext().setAttribute("gmailUserService", userService);
    //to access this UserService object from other servlet in each user session:
    UserService userService = (UserService)servletContext.getAttribute("gmailUserService");
    Gmail will trigger an error if we create a new UserService object for each user. They recommend to have all the user to share one UserService object. I am looking for similar approach in SunIDM.
    Thank you again, Paul, for trying to help.

  • How to put bsp application mime object path in WAD 7.0?

    hi all.
    I'm already know 'bwmimerep:///sap/bw/mime/Customer' will be changed to /sap/bw/customer/  mime repository path when it's published in WAD7.0.
    but is there any way get mime path custom BSP Application?
    for example If I made test.jpg in 'ZBW' bsp application
    I should use full url   'http://domain:8000/sap/bc/bsp/sap/zbw/test.jpg'  instead of relative url '/sap/bc/bsp/sap/zbw/test.jpg' if I include url in WAD7.0
    is there any idea put relative url in WAD 7.0 certianly I don't want include full url because develop and product server domain is different.
    thanks.

    it looks like bwmimerep:/// prefix is the only one available which points to SAP->BW under mime repository.
    the standard help states (http://help.sap.com/saphelp_ppm400/helpdata/en/44/5001d197c01193e10000000a155369/frameset.htm) to use custom images in WAD
    "You can store your MIME objects anywhere in the MIME Repository under SAP->BW"
    May be we need a mechanism to create bcmimerep, publicmimerep, etc.
    Regards
    Raja

  • BI Application Callable Object

    Hi,
       I am new to Guided Procedures.
       I tried to use BI Application Callable Object under Services Type and i created a BI System in Portal to use in the callable object.when i use it in the callable object it is showing error cannot connect to system .
    Can you help me how to create a system in Portal and help me with a scenario how to use BI Application Callable Object.
    Regards,
    Bala Baskaran.S

    Hi KC,
    When you start your process from GP Runtime, does the actual action/callable object open in a new window?
    Have a look at this SAP Note:
    [Error when executing a GP task - Page builder|https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/oss_notes/sdn_oss_bc_gp/~form/handler%7b5f4150503d3030323030363832353030303030303031393732265f4556454e543d444953504c4159265f4e4e554d3d393831353137%7d]
    Although the error message you are getting is different, but if your callable object opens in a new window, then the problem (in most probability) is the same as mentioned in the SAP Note.
    Also, try testing the Web Dynpro callable object in standalone mode. For more information on this, see:
    [Testing Callable Objects|http://help.sap.com/saphelp_nw04s/helpdata/en/4c/588041a17e060de10000000a1550b0/frameset.htm]
    Bye
    Ankur

  • [Forum FAQ] How to deploy applications remotely

    In some situations, we may need some ways to install applications remotely, here we summarize four general ways to deploy applications.
    1. Using PowerShell to install
    We can use the Win32_Product class to install Windows Installer packages, remotely or locally, so in this way, we can use powerShell command to invoke this function. For example, to install the NewPackage.msi package located in the network
    share \\AppServ\remote on the remote computer PC01, type the following command at the Windows PowerShell prompt:
    (Get-WMIObject -ComputerName PC01 -List | Where-Object -FilterScript {$_.Name -eq "Win32_Product"}).Install(\\AppSrv\remote\NewPackage.msi)
    In same method, we can use the following command to deploy .exe application:
    (Get-WMIObject -ComputerName PC01 -List | Where-Object -FilterScript {$_.Name -eq "Win32_Process"}).Create(\\AppSrv\remote\NewPackage.exe)
    Note: The applications should use Windows Installer technology.
    2. PsExec tool: one of sysinternals utilities
    PsExec's most powerful uses include launching interactive command-prompts on remote systems and remote-enabling tools like IpConfig that otherwise do not have the ability to show information about remote systems. So, we can use this feature to install our
    applications, in fact this is similar with PowerShell methods, the only difference is that PsExec is a comprehensive tool. Similarly, we can use the following command to achieve our goal:
    psexec \\PC01  cmd /c  "\\AppSrv\remote\NewPackage.msi" /quiet /norestart
    Note: we can also use PsExec tool to install Microsoft Update file (.msu)
    psexec \\PC01  -s -h -d wusa.exe  "\\AppSrv\remote\NewPackage.msu" /quiet /norestart
    3. Group Policy Software Installation
    In domain environment, this method is very useful to deploy our software. It only supports MSI package for deployment.
    We can choose assign a program to user or computer. If you assign the program to a user, it is installed when the user logs on to the computer. When the user first runs the program, the installation is completed. If you assign the program to a computer,
    it is installed when the computer starts, and it is available to all users who log on to the computer. When a user first runs the program, the installation is completed.
    You can get the installation information of group policy software installation in event viewer, including success or failure.
    4. System Center Configuration Manger
    The Microsoft System Center Configuration Manager software distribution feature provides a set of tools and resources that help you create and manage packages and advertisements used to distribute software to client resources within your enterprise. This
    is a comprehensive suit for deployment.
    How to Deploy Applications in Configuration Manager
    http://technet.microsoft.com/en-us/library/gg682082.aspx
    Summary:
    There are a lot of methods for software deployment, here just introduce some generic ways.
    Here is another important point of software deployment: Some applications do not use windows installer technology. 
    Applications that do not use Windows Installer technology may have application-specific methods for automated deployment. For example, a .exe file may be just a wrapper, it can be anything. To determine whether there is a method for deployment automation,
    check the documentation for the application or consult the application vendor's support system. In some cases, even if the application vendor did not specifically design the application for installation automation, the installer software manufacturer may have
    some techniques for automation.
    Please click to vote if the post helps you. This can be beneficial to other community members reading the thread.

    In some situations, we may need some ways to install applications remotely, here we summarize four general ways to deploy applications.
    1. Using PowerShell to install
    We can use the Win32_Product class to install Windows Installer packages, remotely or locally, so in this way, we can use powerShell command to invoke this function. For example, to install the NewPackage.msi package located in the network
    share \\AppServ\remote on the remote computer PC01, type the following command at the Windows PowerShell prompt:
    (Get-WMIObject -ComputerName PC01 -List | Where-Object -FilterScript {$_.Name -eq "Win32_Product"}).Install(\\AppSrv\remote\NewPackage.msi)
    In same method, we can use the following command to deploy .exe application:
    (Get-WMIObject -ComputerName PC01 -List | Where-Object -FilterScript {$_.Name -eq "Win32_Process"}).Create(\\AppSrv\remote\NewPackage.exe)
    Note: The applications should use Windows Installer technology.
    2. PsExec tool: one of sysinternals utilities
    PsExec's most powerful uses include launching interactive command-prompts on remote systems and remote-enabling tools like IpConfig that otherwise do not have the ability to show information about remote systems. So, we can use this feature to install our
    applications, in fact this is similar with PowerShell methods, the only difference is that PsExec is a comprehensive tool. Similarly, we can use the following command to achieve our goal:
    psexec \\PC01  cmd /c  "\\AppSrv\remote\NewPackage.msi" /quiet /norestart
    Note: we can also use PsExec tool to install Microsoft Update file (.msu)
    psexec \\PC01  -s -h -d wusa.exe  "\\AppSrv\remote\NewPackage.msu" /quiet /norestart
    3. Group Policy Software Installation
    In domain environment, this method is very useful to deploy our software. It only supports MSI package for deployment.
    We can choose assign a program to user or computer. If you assign the program to a user, it is installed when the user logs on to the computer. When the user first runs the program, the installation is completed. If you assign the program to a computer,
    it is installed when the computer starts, and it is available to all users who log on to the computer. When a user first runs the program, the installation is completed.
    You can get the installation information of group policy software installation in event viewer, including success or failure.
    4. System Center Configuration Manger
    The Microsoft System Center Configuration Manager software distribution feature provides a set of tools and resources that help you create and manage packages and advertisements used to distribute software to client resources within your enterprise. This
    is a comprehensive suit for deployment.
    How to Deploy Applications in Configuration Manager
    http://technet.microsoft.com/en-us/library/gg682082.aspx
    Summary:
    There are a lot of methods for software deployment, here just introduce some generic ways.
    Here is another important point of software deployment: Some applications do not use windows installer technology. 
    Applications that do not use Windows Installer technology may have application-specific methods for automated deployment. For example, a .exe file may be just a wrapper, it can be anything. To determine whether there is a method for deployment automation,
    check the documentation for the application or consult the application vendor's support system. In some cases, even if the application vendor did not specifically design the application for installation automation, the installer software manufacturer may have
    some techniques for automation.
    Please click to vote if the post helps you. This can be beneficial to other community members reading the thread.

  • How to know that remote object connection with server has not disconnected?

    Hi,
    In my application want to check weather connnection with
    remote object has disconnected or not. I have not found any
    property with remoteobject to verify this. Weather it is possible
    with remote object or if not then how it could be done with
    channel. I have checked connected property of channel but i could
    not find out how it works.
    Is there any solution for this, if any one know please
    reply...
    Thanks..

    Did you ever get resolved. I am having the sames issues
    Regards,
    Wally
    http://www.level10solutions.com

  • How does the remote object connect to the correct host

    i have had a small doubt on how the remote reference manages to find the correct host to call the subsequent methods after a sucessful lookup.
    given a rebind or bind to the registry, the registry only stores the alias and the remote reference, now imagine a client calling a lookup on the registry would only get the remote reference, and not in which machine the remote object is found.
    what i wanted to know is how does the client or atleast the remote reference returned by the registry correctly connects to the machine where the remote object is located. i dont think its stored in the stub bcos the stub is a complie time stuff.
    i would be pleased to have a comprehensive answer for this.

    The membership in the group communication framework is always accurate and upto date.Up to date to the moment when you check. Not up to date to the moment when you make the RMI call.
    i could basically chk if this ip is available in the membership list.Complete waste of time. It doesn't matter what you check ahead of time, you are still trying to predict the future.
    And you still have to deal with ConnectException etc from the actual remote method call. And the way you will deal with that in your situation is exactly the same as what you were going to do if your ahead-of-time check failed.
    So just catch the exception(s) and deal with the problem there.

  • How to recognize if application is installed using "Install Application on Remote Desktop" option on Windows Server 2008 R2

    How to recognize if application is installed using "Install application on remote desktop..." option in Control Panel in Windows Server 2008 R2?
    Basically, as administrator, I can't say if the user installed application using "Install application on remote desktop..." in Control Panel or he just installed it by clicking the .msi executable. I can't find anything that makes any difference.
    I could not find anything in the registry. I am quite confused.
    Thanks,
    Aleksandar9

    Hi,
    Thank you for your posting in Windows Server Forum.
    Please make sure that you are using category view of control panel-programs to check the application. And in addition to “install application on Remote Desktop server” user can also use command line also.
    change user /install
    change user /execute
    change user /query
    “The first time you run the application, it searches the home directory for its .ini files. If the .ini files are not found in the home directory, but are found in the system directory, Terminal Services copies the .ini files to the home directory, ensuring
    that each user has a unique copy of the application .ini files. Each user should have a unique copy of the .ini files for an application. This prevents instances where different users might have incompatible application configurations.” (Quoted formthis
    article).
    Hope it helps!
    Thanks,
    Dharmesh

  • HOW TO PASS NON REMOTE OBJECT PARAMETER

    good day,
    hi im new to java and rmi, and i need help pls, my question is how can i pass a non-remote object/local object as a parameter to a remote method. can u pls give a code for the:
    1. client that will invoke the remote method and pass the object in remote objects method.
    2. object that will be passed to the server/remote object( a serilizable object of course).
    3. the remote object and the method that will receive the object parameter.
    thank you very much for your kindness,
    p.s.
    you can email me to [email protected]
    batusai,

    When you create the object locally, and pass it to the server, at that point it exists on both systems/in both jvms.
    Why don't you write your own example, and try it. If you get in trouble, post the code, and we will help you.

  • How to call a function/event after a Remote Object's data is loaded?

    I'm making a call to a remote object that is loading a good
    amount of data. I've set up a "please wait" label that is supposed
    to display while the data is being loaded and then clear the label
    when the data finishes loading.
    At the moment I've got it set up like so...
    label = 'Loading data, please wait..."
    remoteObj.read.send();
    label = ''
    The problem with this is that the 'please wait' label doesn't
    even display because the actual call to the remote object I'm
    making finishes so quickly even though the data load does not. So
    what I need is possibly an IF statement to check if the data has
    finished loading. If it hasn't finished loading, the label stays in
    the "please wait" status, or if the data does finish loading, then
    the label clears out.
    What would be ideal is...
    remoteObj.read.send(); // gets the data
    if(data is loaded){
    label = '';
    }else{
    label = 'Please wait'
    I just don't know how to form the statement for the data
    loading in the IF statement.

    You are seeing the difference between data loading and UI
    rendereing.
    Reasonable amounts of data load very fast, expecially with
    RemoteObject. Bur rendering the UI is almost always the bottleneck,
    event with AS3 FP8+, which is about 30 percent faster than AS2!
    I have not found a perfect solution for this myself, but i
    think you will want to look into the component data events, to find
    one that fires after the component is actually rendered.
    Tracy

  • How to access the remote Objects Without Db_links?

    Hi ,
    I want to know how to access the remote objects without db_link.That is i want to access a object in some other server which has different database.

    SanjayBala, just so you know that it is possible to create a database link in Oracle to non-Oracle databases in some circumstances. Look up Generic Connectivity aslo know as Heterogenous Services. With 11g Oracle has basically renamed the feature and replaced it with somethinkg named ike DG4ODBC.
    I have not spent time studying the details for DB4ODBC but with HS Oracle provided the interface and you had to obtain the necessary ODBC driver on your own. I had Oracle on AIX reading and writing to SQL Server on Windows but the developers chose to write a java program and connect to both via it. On Windows and Linux platforms the necessary ODBC drivers might be available without the requirement to go out and purchase one.
    The Oracle Open Gateway product is an advanced version of the above features with drivers for specific non-Oracle databases included like DB2 or Informix.
    HTH -- Mark D Powell --

  • Creating remote objects and passing the retrieved data to modules

    I found at this Adobe tutorial a nice "RemoteService" class that  creates a RemoteObject and contains the functions for handling the  result and fault events. If I wanted to use this approach, how could I  pass the data from the result handler to interfaces that modules from  the main application could use?
    I could put the RemoteService/RemoteObject in the modules, but (in my  opinion- and I could be wrong) the best design seems to be using the  remote calls in the main app and passing the data along to the modules.
    Ultimately, I would like to know what the "best practices" are for creating remote objects and passing the retrieved data to modules
    Thanks!

    public void mouseClicked(MouseEvent e) {
      X x = new X(e.getX(), e.getY());
    }I don't see the difficulty.

  • When  submit remote object call getting error Client.Error.DeliveryInDoubt

    Hello,
    We are having very weird error DeliveryInDoubt from blazeds.
    [ERROR] failed to call the remote service !!![FaultEvent fault=[RPC Fault faultString="Channel disconnected" faultCode="Client.Error.DeliveryInDoubt" faultDetail="Channel disconnected before an acknowledgement was received"] messageId="98F7B030-0FE0-0B88-300C-EC422D055E21" type="fault" bubbles=false cancelable=true eventPhase=2
    Error does not happen every time, but rather from time to time but happens on all client machines.
    Environment:
    blazeds v3.
    Flex application with Remote Object.
    Browser IE7.
    Object that passed to blazeds is complex and might have 100 items.But number of items does not seem affect error occurences.
    Short description for the object passed to blazeds remote object call for processing:
    Remote Object call takes an argument ArrayCollection of SyncRequest objects (_requestSyncList)
                    var syncRequest:SyncRequest = new SyncRequest();
                    var syncObject:Object = new Object();
                    syncObject[requestBuilder.direction] = requestBuilder.jobMap;
                    syncRequest.syncJobs = syncObject;
                    _requestSyncList.addItem(syncRequest);          
    requestBuilder.jobMap is an object that have different artifacts.
    jobMap[obj.artifact] = myColl;
    myColl is ArrayCollection of artifact of SyncJob
    Here is the definition of SyncJob
       public class SyncJob
            public var jobName:String;
            [ArrayElementType("com.farmers.docprocessing.remotesync.vo.JobParameter")]
            public var jobParams:ArrayCollection;
    Not sure what causing that issue and how to debug it. 
    Please advice.
    Thank you

    Not without you psoting some code.
    Possible problem: Difference between object type being returned, vs the type of the reference (i.e., the method that returns an object should have a return type of the interface name).

  • Sample Example on Remote Object

    Hi All,
    I am doing a sample program in Flex using Remote Object, when
    i enter Data in TextInput and click getData(button) in the TextArea
    conrol the the Data in TextInput should be displayed along with
    that some updation, these updations are declared
    in the Java. when i click on the Button(getData) it will
    update the Data using the RemoteObject. Here is my Application..
    Also described the desired path in RemoteConfig.xml
    Text.mxml
    <?xml version="1.0"?>
    <mx:Application xmlns:mx="
    http://www.adobe.com/2006/mxml">
    <mx:RemoteObject id="srv" destination="testsession"
    fault="faultHandler(event)" >
    <mx:method name="getMessage" result="display(event)"
    ></mx:method>
    </mx:RemoteObject>
    <mx:Script>
    <![CDATA[
    import flash.net.navigateToURL;
    import mx.rpc.events.ResultEvent;
    import mx.controls.Alert;
    import mx.rpc.events.ResultEvent;
    import mx.rpc.events.FaultEvent;
    public function getMessage():void {
    Alert.show("alertin echo"+ input.text);
    srv.echoMessage(input.text);
    public function display(event:ResultEvent):void {
    Alert.show("In display Response");
    output.text = event.result();
    private function faultHandler(event:FaultEvent):void
    Alert.show("Server Message: Error"+event.message);
    } ]]>
    </mx:Script>
    <mx:Panel title="Sample" width="320">
    <mx:Form width="500">
    <mx:FormItem label="Input Message"> <mx:TextInput
    id="input"/> </mx:FormItem>
    <mx:FormItem> <mx:Button label="Get Message"
    click="getMessage()"/> </mx:FormItem>
    <mx:FormItem label="Output Message">
    <mx:TextArea id="output" show="getMessage()"/>
    </mx:FormItem>
    </mx:Form>
    </mx:Panel>
    </mx:Application>
    Here is My Java Application
    EchoService.java:
    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    public class EchoService
    public String echo( String inputMessage ) throws Exception
    StringBuffer result = new StringBuffer();
    result.append("EchoService received ");
    result.append(inputMessage);
    result.append(" at ");
    result.append(dateFormat.format(new Date()));
    return result.toString();
    private DateFormat dateFormat = new
    SimpleDateFormat("HH:mm:ss");
    when i run these am getting an Error at ServerMessage as:
    ERROR:
    Server Message: Error(mx.messaging.messages::ErrorMessage)#0
    body = (Object)#1
    clientId = (null)
    correlationId = "F3C89B4B-8166-32AA-7C80-5F0CE42EFB40"
    destination = ""
    extendedData = (null)
    faultCode = "Client.Error.MessageSend"
    faultDetail = "Channel.Connect.Failed error
    NetConnection.Call.Failed: HTTP: Status 500: url: '
    http://localhost:8600/messagebroker/amf'"
    faultString = "Send failed"
    headers = (Object)#2
    messageId = "443DBB42-8B18-84D8-151F-5F0CED757E35"
    rootCause = (Object)#3
    code = "NetConnection.Call.Failed"
    description = "HTTP: Status 500"
    details = "
    http://localhost:8600/messagebroker/amf"
    level = "error"
    timestamp = 0
    timeToLive = 0
    can anyone help me how to achieve this.
    Thanks,
    Raa
    Text
    ERROR

    James,
    Go through the blogs and articles in this thread.
    Re: Integrating SSO with Yahoo
    Hope this helps.
    Cheers,
    Sandeep Tudumu

  • Passing an Array Remote Object

    Hi,
    I am a newbie and I've been able to call Java methods when
    they return a simple String. However, I am unable to get a
    collection of Java objects. I get the following error message :
    Type Coercion failed: cannot convert
    mx.rpc.remoting.mxml::Operation@31717b1 to Array.
    I have a datagrid in my application that has to be populated
    by calling a method of a remote object.
    The remote object (Java class looks like this).
    public class PlayerService {
    public PlayerService() {
    public Player[] getPlayersAsArray() {
    Player[] players = new Player[3];
    Player rahul = new Player("Rahul",,"Dravid");
    Player sachin = new Player("Sachin","Tendulkar");
    Player saurav = new Player("Saurav","Ganguly");
    players[0] = rahul;
    players[1] = sachin;
    players[2] = saurav;
    return players;
    I've configured the destination in my service-config.xml as
    <destination id="PlayerService">
    <properties>
    <source>rpc.playerinfo.PlayerService</source>
    <scope>application</scope>
    </properties>
    </destination>
    My mxml application code is given below :
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="
    http://www.adobe.com/2006/mxml"
    layout="absolute">
    <mx:Script>
    <![CDATA[
    import mx.controls.Alert;
    import mx.collections.ArrayCollection;
    import rpc.playerinfo.Player;
    import mx.utils.ArrayUtil;
    [Bindable]
    public var players:ArrayCollection;
    public var myPlayer:Player;
    ]]>
    </mx:Script>
    <mx:RemoteObject
    id="playMe"
    destination="PlayerService"
    showBusyCursor="true">
    <mx:method name="getPlayersAsArray">
    <mx:arguments>
    </mx:arguments>
    </mx:method>
    </mx:RemoteObject>
    <mx:ArrayCollection id="playerList"
    source="{playMe.getPlayersAsArray}"/>
    <mx:DataGrid dataProvider="playerList" width="100%">
    <mx:columns>
    <mx:DataGridColumn dataField="FirstName"
    headerText="FirstName"/>
    <mx:DataGridColumn dataField="LastName"
    headerText="LastName"/>
    </mx:columns>
    </mx:DataGrid>
    </mx:Application>
    One question I have is, how does Flex know that what's
    returned is an array of Player objects. I did define the Player in
    an Action script file.
    package rpc.playerinfo
    [RemoteClass(alias="rpc.playerinfo.Player")]
    [Bindable]
    public class Player
    public var firstName:String;
    public var lastName:String;
    public function Player() {}
    but it appears that I have never actually used it in the mxml
    file.
    Thank you very much.

    Thanks guys.
    JS, I got what you are saying. Now I don't have any error
    messages, but the data grid is blank.
    This is the mxml code. (I added your input)
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="
    http://www.adobe.com/2006/mxml">
    <mx:Script>
    <![CDATA[
    import mx.controls.Alert;
    import mx.collections.ArrayCollection;
    import rpc.playerinfo.Player;
    import mx.utils.ArrayUtil;
    [Bindable]
    public var players:ArrayCollection;
    public function handlePlayersResult(event: ArrayCollection)
    //then set the event result which is being sent into this
    function to the playerList
    players = event;
    ]]>
    </mx:Script>
    <mx:RemoteObject id="playMe" destination="PlayerService"
    showBusyCursor="true">
    <mx:method name="getPlayersAsArray"
    result="handlePlayersResult(event.result as ArrayCollection)"/>
    </mx:RemoteObject>
    <mx:DataGrid dataProvider="{players}" width="100%"
    creationComplete="playMe.getPlayersAsArray()">
    <mx:columns>
    <mx:DataGridColumn dataField="firstName"
    headerText="FirstName"/>
    <mx:DataGridColumn dataField="lastName"
    headerText="LastName"/>
    </mx:columns>
    </mx:DataGrid>
    </mx:Application>
    What is it missing ?
    Thank you so much.

Maybe you are looking for