As answered by Ernest Friedman-Hill at link texthttp://www.coderanch.com/t/508960/java/java/pass-reference:
The root of problem was the fact that RMI doesn't support pass by reference , so making the message class serializable and creating the remote instance of ServerServices in that serializable class can make this application work
OR
creating the remote instance of Message class in client class and publishing that from RMI registry can also work.
In this code the local references were used instead of remote, so it was getting the 0 elements in the list from Serverservices class.
thanks again to: Ernest Friedman-Hill.