Hi
We have it the other way around, a webservice running as a session bean end-point and a .NET as the client. On the other side of the .NET is a questionaire on the internet. Answers are sent to our legacy system.
We descided to have XML as the structure for all parameters passed (not simple types) to and from the webservice due to the fact that very many method did have variable number of parameters depending on ie. number of alternativ answers in a question etc.
We use JAXB to translate to and from JAVA/XML, we have made a schema (.xsd) where every method and return value is its own element.
We use this schema both on the .NET and java side to generate classes.
Every method knows to what class the XML-string should be casted.
We are still in early testing so I can't say anything about performance - we dimension it to work with 500 concurrent users that is aprox around 100 answers /sek. A complet roundtrip with invokation, XML translation to java ,accessing a record in the database and translating back to XML and returning takes aprox 0.3 sec on our desktop development PC's.
Jan