Hi everyone! I appreciate your responses. That makes sense- I will raise a JIRA and attach the WSDL. I'll let you know the ticket number when it is done.
Many thanks, Thomas -----Original Message----- From: Daniel Kulp [mailto:[email protected]] Sent: 15 October 2010 15:04 To: [email protected] Cc: Thomas McKiernan Subject: Re: .net ArrayOfXXX interop issue As Benson mentioned, we'd probably need the full WSDL. > <xs:element minOccurs="0" name="PredefinedAdminContacts" nillable="true" > type="tns:ArrayOfContactDTO"/> ..... > <xs:element name="ArrayOfContactDTO" nillable="true" > type="tns:ArrayOfContactDTO"/> There are two elements pointing at the same type. That should DEFINITELY not be a problem and is completely correct, but I'm wondering if, somehow, either JAXB or CXF is grabbing the wrong element. A reproducible example would be great. (just need the client side, don't really need a server as I'd just want to debug how the client is generaing the message) Dan On Friday 15 October 2010 6:24:46 am Thomas McKiernan wrote: > Hi all, > > > > I have a .NET interop issue with cxf 3.0 (also seen on 2.2.3). > > I have looked for previous messages or JIRAs on this issue - I've seen > one or two similar topics but nothing that matches exactly. > > > > I have a Java CXF client interacting with a .NET service. > > The .net service wsdl defines an element called > "PredefinedAdminContacts" that is of type ArrayOfContactDTO > > > > <xs:element minOccurs="0" name="PredefinedAdminContacts" nillable="true" > type="tns:ArrayOfContactDTO"/> > > > > The array type is later defined: > > > > <xs:complexType name="ArrayOfContactDTO"> > > <xs:sequence> > > <xs:element minOccurs="0" > maxOccurs="unbounded" name="ContactDTO" nillable="true" > type="tns:ContactDTO"/> > > </xs:sequence> > > </xs:complexType> > > <xs:element name="ArrayOfContactDTO" nillable="true" > type="tns:ArrayOfContactDTO"/> > > > > > > Note ArrayOfXXX is not a recommended WSI 1.1 name, but it is still > legal. (fyi: this WSDL is pre-written and I would struggle to get it > altered). > > > > CXF WSDLToJava works fine with this wsdl and seems to generate classes > with the correct field name i.e. PrefeinedAdminContacts > > > > However, the SOAP msg created has the type name instead of the actual > name. > > E.g. > > <ns2:ArrayOfContactDTO> > > > > where I would expect > > > > <ns2:PredefinedAdminContacts> > > > > > > So the SOAP produced is wrong. I am assuming this is a CXF issue and not > JAXB or any other API. > > > > Can anyone help with this issue? Very much appreciated! > > > > Thomas McKiernan -- Daniel Kulp [email protected] http://dankulp.com/blog
