I too have the same situation, any solution yet?
This code seems to be ok. Please check again that you provide the right package and class name in RemoteClass metadata in flex value objects. Also make sure that MainDTO.java has public getter setter for itemList. Also make sure that this field is properly populated on server side.
Its not necessary that you should get the array collection from the Java side, you can type cast the data from the Server as array collection once the event from the remote object gets you the data which is as per the service in the services.config.xml in your Blaze DS ( I guess this is proper).
Please debug the app from both the server side and the client side to check what is being returned from Java though you have mapped correct class in your Flex file.
If you still see the issue then please post the client code so that we will be able to look into it.