WCF also requires the datacontracts to be serializable. Can you be more specific on which types are not serializable in your object structure.
For me the WCF is clear favorite for your purpose. The main advantage of the usage WCF in your case I see the ability to return any data of any ContentType. Moreover WCF supports streaming of returned data which could also be very helpful if the size of file which you want to return from the service is large.
I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.