I'm reasonably clear that the first part of the problem with CXF-959 is that NamespaceHelper.getPrefix is ignorant of the targetNamespace attribute of the schema. However, I'm not quite sure what to do about this. Examples I see all over the web leave types in the targetNamespace unqualified, but carefully qualify xsd: types. The WSDL coming out of CXF doesn't qualify xsd types, but doesn't pay attention to the targetNamespace. What's correct?
It is possible that there is a deeper problem being masked here, that would work like this: Step 1: type is in namespace not yet on namespace list. Step 2: getUniquePrefix operates at the schema level, and ignores prefixes at the wsdl level. This is OK, as far as it goes, except that ... Step 3: someone later decides that since the 'ns1' prefix is defined on the wsdl, it should not be emitted on the schema element, even if the URI's are different! I think I'll poke at (3).
