Hi Daniel, Wow! that worked! I have not run the SOAP client yet but the Java stubs generated no problemo! Regards, David.
On Wed, 2011-11-23 at 16:18 -0500, Daniel Kulp wrote: > > 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