This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
As I think you know, there are a number of choices available. Depending on your requirements, you might exchange XML or other content via HTTP ("web services", "SOAP"), or use a true distributed object system like CORBA, or some kind of messaging middleware. Which you choose would depend on what expertise you (or your team-mates) have, and whether the C# and Java components are really peers, or instead one has to pull or broadcast information while the other serves or receives it.