Hi,
I have developed a small interop test application that uses XML Schema (defining complex types) and a WSDL file to define a web service. The web service is implemented in Java using Apache SOAP 2.0 and a custom serialiser (using Castor XML). The web service client is implemented in C# using Microsoft .Net Beta 2 and the WSDL.EXE tool (to generate the soap client proxy and schema type classes). The encoding specified in the WSDL is document literal.
Using this combination I have successfull invoked my method from the C# client and successfully exchanged my complex data described in my XML Schema types. So what's the problem? Well, I am wondering, despite the fact that everything is working fine. I have a feeling I may be doing something wrong!
My first concern, is that my Java method signature is RPC style (e.g. Invoice PurchaseProduct(Product product) ) as apposed to the message style signature I think I should be using? My second concern is that in order to get my custom serialiser invoked. I specify that I am expecting SOAP encoding for each of the <isd:map> entires in my deployment descriptor? Where as infact the .Net C# client doesn't send any 'encodingStyle' attribute at all! Despite this obvious mismatch why is my serialiser still being invoked?
Apologies for such a long post, if anyone can confirm my concerns and/or offer an thoughts on alternative approaches, I would very much appreciate it.
Thanks,
Andy Fawcett.