Can we please have a JIRA? extra props if it comes with a unit test,
but at least enough Java to provoke the problem.

On Mon, Dec 22, 2008 at 6:41 AM, ejoch <[email protected]> wrote:
>
> 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.
>
>

Reply via email to