A very wide range of questions, so here is a general answer
If you have implemented the service in WCF, then mono (.net on Linux) limits its support. For all known issues, see
http://www.mono-project.com/WCF_Development
I have done this before for simple services without much trouble.
If you need to support web services on both Windows and Linux, I can recommend an alternative to WCF
https://github.com/ServiceStack/ServiceStack
Use this to avoid transfer efforts. This way you do not have to rewrite in java and reuse some of you .net code.
source share