SOAP passes XML types. A Web service does not expect its clients to send objects -- it expects the clients to send XML structures. It makes no difference at all whether the application at one end converts those XML types to primitives or to objects. Java and .NET interoperate by communicating using a language and object independent protocol: XML.
And -- by the way -- .NET does not convert simple types into objects. For example, .NET has an interoperability issues because it converts a nillable xsd:int (which does support nulls) into a .NET primitive int (which doesn't support nulls). The only thing that Axis needs to concern itself with is the way it maps XML types to Java types. As long as it does it correctly, it should support smooth interoperability (assuming that the SOAP server at the other end performs its type mapping correctly). As I've said before, the secret to interoperability is to compose the XML interface using simple types, structures of simple types, and arrays of structures or simples types. Don't attempt to expose Java collections. Convert those collections to arrays. The same advice holds true for .NET. In particular, don't expose the .NET Dataset type through a WSDL interface. Anne -----Original Message----- From: Joel Carklin [mailto:[EMAIL PROTECTED] Sent: Thursday, June 24, 2004 4:22 AM To: [EMAIL PROTECTED] Subject: wsdl2java 1.1 vs 1.2beta Hi, It seems that wsdl2java in axis_1.1 and axis_1.2beta generate different java classes when using the same wsdl. Specifically, the new version does not create separate classes for simple XMLSchema types. The reason I moved to axis 1.2beta, was because axis 1.1 was trying to deserialize a boolean to an object, and 1.2 apparently provides better mappings to java primitives and built in Axis simple types (eg. Javal.lang.string, java.lang.boolean, org.apache.axis.PositiveInteger etc.). (Apparently, the class generating tool Castor also behaves like Axis wsdl2java 1.2beta.) So my question is this. If .NET is creating specific objects (representing the simple schema types etc) and the methods on the webservice expect these objects as parameters, but axis 1.2 is not generating these classes then how are we supposed to talk to each other? What am I missing here? Thanks Joel
