When the namespaces are different from Domain/Business data objects (Decorated with [DataContract] attribute) and Client Side data objects, When you run the client, An object with default/empty values are returned. However, from server side, you get the actual data.
To further illustrate, I have 2 projects with different namespaces.
MyProject.Business.Entities (Marked with [DataContract])
MyProject.Client.Entities (Client side entities to represent business objects)
Q. Why is this happening?
A. 'ContractNamespace' mismatch
Use the AssemblyInfo.cs and add following line to each Business and Client projects.