The simplest thing to do is to flip JAXB into it's "simple" mode. Create a binding file of: <jaxws:bindings wsdlLocation="http://ts2.nbs-us.com/TestWS/Service.asmx?WSDL" xmlns:jaxws="http://java.sun.com/xml/ns/jaxws" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" jaxb:extensionBindingPrefixes="xjc" xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc">
<jaxws:bindings node="wsdl:definitions/wsdl:types/xsd:schema"> <jaxb:globalBindings jaxb:version="2.0"> <xjc:simple /> </jaxb:globalBindings> </jaxws:bindings> </jaxws:bindings> and pass that into wsdl2java. That should allow it to generate the code that should work for you. Dan On Tuesday, November 22, 2011 4:55:47 PM David Brown wrote: > Hello Daniel, thanks for the speedy reply. The WSDL is public so it is > quite easy with only a handfull of operations exposed: > > http://ts2.nbs-us.com/TestWS/Service.asmx?WSDL > > I can make everything work except the method: > > getTableData > > by commenting out the offending extra attribute: 'any'. > > I tried using this XSD as follows but the wsdl2java and the wsimport > just claims the result will be an empty node: /xs:schema. > > ******************************************************************** > <?xml version="1.0" encoding="UTF-8" standalone="yes"?> > <jaxb:bindings version="2.0" > xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" > xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc" > xmlns:xs="http://www.w3.org/2001/XMLSchema" > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> > <jaxb:bindings schemaLocation="bindings.xsd" node="/xs:schema"> > <jaxb:schemaBindings> > <jaxb:package name="com.sexingtechnologies.TestWS"/> > </jaxb:schemaBindings> > > <jaxb:bindings node=".//xs:attribute[@name='any']"> > <jaxb:property name="anyAttribute" /> > </jaxb:bindings> > </jaxb:bindings> > </jaxb:bindings> > ********************************************************************* > > Please advise, David. > > On Tue, 2011-11-22 at 16:54 -0500, Daniel Kulp wrote: > > The jaxb binding file is really the only way, but they can be very > > tricky to get right. Can you post a sample project with a stripped > > down wsdl or something? > > > > Dan > > > > On Tuesday, November 22, 2011 11:07:59 AM David Brown wrote: > > > Hello cxfers, I have the dubious task of consuming a .NET 2.0 > > > generated > > > WSDL using our internally developed SOAP client. The .NET WS is > > > public > > > and we have no control over the generation of the WSDL. > > > > > > Therefore, we must have a solution in the binding or the WSDL > > > itself. > > > > > > I am currently running the wsdl2java against the WSDL as a file > > > protocol instead of HTTP. > > > > > > The invoking commandline follows: > > > > > > ~/dev/apache-cxf-2.5.0/bin/wsdl2java -autoNameResolution -compile > > > -client -d . -p com.sexingtechnologies.TestWS -frontend jaxws21 > > > TestWS/TestWS.wsdl > > > > > > The error condition returned is as follows: > > > > > > WSDLToJava Error: Thrown by JAXB: > > > Thrown by JAXB: > > > Property "Any" is already defined. Use <jaxb:property> to resolve > > > this > > > conflict. > > > > > > ****************************************************************** > > > > > > I have tried all of the jaxb binding and xsd tricks I could find on > > > Google to change the element attribute name (any) to something other > > > but this to date has not worked. > > > > > > ****************************************************************** > > > > > > Using the service-repository.com SOAP client: > > > > > > http://www.service-repository.com/client/start > > > > > > the target WSDL functions perfectly. > > > > > > So, there must be some on-the-fly trick way of making errant WSDLs > > > behave. > > > > > > Any suggestions rants or raves welcomed. > > > > > > Please advise, David. -- Daniel Kulp dk...@apache.org - http://dankulp.com/blog Talend Community Coder - http://coders.talend.com