Dino Chiesa wrote:

Ok, hold on. Here's the issue. Suppose you have a schema, with no elementFormDefault
specified. The schema is embedded or imported into a WSDL, and you run
it all through .NET's wsdl.exe utility. .NET follows the W3C XML Schema
specification, which says "if there's no elementFormDefault, then assume
elementFormDefault='unqualified'." The client-side proxy that .NET
generates uses "unqualified" for its elements. So that behavior is
compliant with the spec.


That's the part I don't understand based on what I've seen of this thread, Dino. The Axis output was following the default unqualified elements style (that's why it was adding the xmlns="" to each element, to turn off the default namespace which would otherwise apply), which was being rejected by the .NET client. If the .NET client was generated from the faulty WSDL output by Axis (where it adds elementFormDefault="qualified" in the schema, even though it's configured to use no namespace on the embedded elements) that would explain things.

As far as the best way of setting up your schema in the first place, in general I prefer elementFormDefault="qualified" since this gives a cleaner structure.

- Dennis

Reply via email to