Hello, I've just moved to using CXF 2.1.3 with Tomcat, having previously been using 2.0.4 inside the Mule ESB.
I'm having a problem with the WSDL produced when a method's input parameter is a map - specifically, the namespace for the map's 'string2string' type. Instead of having that type inside the namespace for the service (as happened with 2.0.4, at least with Mule), CXF is putting the type into the namespace for whatever service happens to be first in the spring-configured service list. Method: String runTest(String id, String tempName, Map<String, String> contents) throws TempException; This lives in package: f2services.core.services.temp and is annoted to have namespace http://temp.services.core.f2services (the annotation works correctly, the DefaultNamespace matches) The method and parameter names are defined in an aegis mapping file, which works correctly when the wsdl is rendered. The WSDL is corrected except for, 'string2string': --snip-- <xsd:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://holder.services.core.f2services" xmlns:tns="http://holder.services.core.f2services" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:complexType name="string2stringMap"> --snip-- <xsd:element name="constructContents" type="tns:constructContents" /> <xsd:complexType name="constructContents"> <xsd:sequence> <xsd:element minOccurs="0" name="siteId" type="xsd:string" /> <xsd:element minOccurs="0" name="templateName" type="xsd:string" /> <xsd:element minOccurs="0" name="contentsMap" type="ns0:string2stringMap" /> holder.services.core.f2services is the namespace of the first service in the list of services we load to CXF. I have tested this by changing other services to be first in the list, and every time, this WSDL changes so that 'string2string' type belongs to the namespace of the first service. Everything else in the wsdl is correctly inside the namespace for either the wsdl's service, or the dto/domain objects: only 'string2string' is in the wrong namespace. I have put in the temporary workaround of putting a 'fake' service as first in the list, with a generic namespace that at least stops the wsdl looking broken, but this isn't a long term solution- if I were to introduce another service using maps (or any other type with this issue) any stub-generation would get a conflict on that package. does anyone have any ideas please? -- View this message in context: http://www.nabble.com/CXF-Aegis-binding-problem--string2string-Map-tp21126473p21126473.html Sent from the cxf-user mailing list archive at Nabble.com.
