Freeman, I misread the backtrace. Sorry.
On Wed, Apr 18, 2012 at 1:03 AM, Freeman Fang <[email protected]> wrote: > Hi, > > This is a known issue. > Since CXF 2.3 by default wsdl2java will generate jaxws 2.2 spec code which > need use jaxb 2.2, > java.xml.bind.annotation.XmlElementRef.required() is from jaxb2.2 api, > however java6 build-in jaxws 2.1 api which cause such error. > > You have several options to resolve it > > 1. endorsed jaxws2.2 and jaxb2.2 api in your jdk, take a look at [1] to get > more details > 2. as you're using cxf 2.3.9, you can use a new flag for wsdl2java tool > introuducd from cxf 2.3.3 > wsdl2java -frontend jaxws21 > to generate code which is jaxws2.1 api compatible. > 3. use jdk5 instead > > I personally prefer option 1, If you use wsdl2java script shipped with kit > or maven cxf codegen plugin, it's already setup for you. > > [1]http://cxf.apache.org/docs/23-migration-guide.html > > Freeman > > > On 2012-4-17, at 下午8:41, harihara.muvvala wrote: > >> /*Hi, >> >> We have gone through multiple posts in forum. These posts are referring to >> different versions. We are using cxf 2.3.2 and jaxb 2.2.1. >> >> We are creating java files from wsdl. Result required binding as XML has >> recurrence nodes. >> Here is binding info:*/ >> >> ------------------------------------- >> - <jaxb:bindings xmlns:xsd="http://www.w3.org/2001/XMLSchema" >> xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" version="2.1"> >> - <jaxb:bindings schemaLocation="Result.xsd"> >> - <jaxb:bindings >> >> node="/xsd:schema/xsd:complexType[@name='interactionDrugType']/xsd:sequence/xsd:element[@name='Allergy']/xsd:complexType/xsd:choice/xsd:element[@name='SubstanceClass']/xsd:complexType/xsd:sequence/xsd:element[@name='CrossSensitive']/xsd:complexType/xsd:sequence/xsd:element[@name='SubstanceClass']/xsd:complexType"> >> <jaxb:class name="SubstanceClassAllergy" /> >> </jaxb:bindings> >> - <jaxb:bindings >> >> node="/xsd:schema/xsd:complexType[@name='interactionDrugType']/xsd:sequence/xsd:element[@name='Allergy']/xsd:complexType/xsd:choice/xsd:element[@name='Molecule']/xsd:complexType/xsd:choice/xsd:element[@name='SubstanceClass']/xsd:complexType/xsd:sequence/xsd:element[@name='CrossSensitive']/xsd:complexType/xsd:sequence/xsd:element[@name='SubstanceClass']/xsd:complexType"> >> <jaxb:class name="SubstanceClassAllergyMolecule" /> >> </jaxb:bindings> >> - <jaxb:bindings >> >> node="/xsd:schema/xsd:complexType[@name='interactionDrugType']/xsd:sequence/xsd:element[@name='Allergy']/xsd:complexType/xsd:choice/xsd:element[@name='Molecule']/xsd:complexType/xsd:choice/xsd:element[@name='SubstanceClass']/xsd:complexType/xsd:sequence/xsd:element[@name='CrossSensitive']/xsd:complexType/xsd:sequence/xsd:element[@name='SubstanceClass']/xsd:complexType/xsd:choice/xsd:element[@name='Molecule']/xsd:complexType"> >> <jaxb:class name="SubstanceClassAllergyMoleculeSubMolecule" /> >> </jaxb:bindings> >> </jaxb:bindings> >> </jaxb:bindings> >> ------------------------------------------------ >> >> /* >> we are getting following errors: If we remove recurring elements, we are >> able to generate.*/ >> >> -------------------------------------------------------------------- >> [java] WSDLToJava Error: java.lang.reflect.UndeclaredThrowableException >> [java] >> [java] org.apache.cxf.tools.common.ToolException: >> java.lang.reflect.UndeclaredThrowableException >> [java] at >> >> org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:288) >> [java] at >> >> org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:103) >> [java] at >> org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:113) >> [java] at >> org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:86) >> [java] at >> org.apache.cxf.tools.wsdlto.WSDLToJava.main(WSDLToJava.java:184) >> [java] Caused by: java.lang.reflect.UndeclaredThrowableException >> [java] at $Proxy46.required(Unknown Source) >> [java] at >> >> com.sun.tools.xjc.generator.bean.field.AbstractField.annotateReference(AbstractField.java:197) >> [java] at >> >> com.sun.tools.xjc.generator.bean.field.AbstractField.annotate(AbstractField.java:156) >> [java] at >> >> com.sun.tools.xjc.generator.bean.field.AbstractListField.generate(AbstractListField.java:124) >> [java] at >> >> com.sun.tools.xjc.generator.bean.field.UntypedListField.<init>(UntypedListField.java:107) >> [java] at >> >> com.sun.tools.xjc.generator.bean.field.UntypedListFieldRenderer.generate(UntypedListFieldRenderer.java:72) >> [java] at >> >> com.sun.tools.xjc.generator.bean.field.DefaultFieldRenderer.generate(DefaultFieldRenderer.java:79) >> [java] at >> >> com.sun.tools.xjc.generator.bean.BeanGenerator.generateFieldDecl(BeanGenerator.java:759) >> [java] at >> >> com.sun.tools.xjc.generator.bean.BeanGenerator.generateClassBody(BeanGenerator.java:540) >> [java] at >> >> com.sun.tools.xjc.generator.bean.BeanGenerator.<init>(BeanGenerator.java:243) >> [java] at >> >> com.sun.tools.xjc.generator.bean.BeanGenerator.generate(BeanGenerator.java:161) >> [java] at >> com.sun.tools.xjc.model.Model.generateCode(Model.java:286) >> [java] at >> >> com.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.bind(SchemaCompilerImpl.java:252) >> [java] at >> >> com.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.bind(SchemaCompilerImpl.java:85) >> [java] at >> >> org.apache.cxf.tools.wsdlto.databinding.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:392) >> [java] at >> >> org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.generateTypes(WSDLToJavaContainer.java:582) >> [java] at >> >> org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.processWsdl(WSDLToJavaContainer.java:237) >> [java] at >> >> org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:137) >> [java] at >> >> org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:280) >> [java] ... 4 more >> [java] Caused by: java.lang.NoSuchMethodException: >> javax.xml.bind.annotation.XmlElementRef.required() >> [java] at java.lang.Class.getDeclaredMethod(Class.java:1937) >> [java] at >> >> com.sun.codemodel.TypedAnnotationWriter.invoke(TypedAnnotationWriter.java:108) >> [java] ... 23 more >> >> ----------------------------------------------------------------------------------------- >> >> /*Here is wsdlToJava args:*/ >> >> >> ------------------------------------------------------------------------------- >> <java classname="org.apache.cxf.tools.wsdlto.WSDLToJava" fork="true"> >> <arg value="-client"/> >> <arg value="-validate" /> >> <arg value="-verbose"/> >> <arg value="-d"/> >> <arg value="@{src.dir}" /> >> <arg value="@{wsdl.dir}/@{wsdl.file}"/> >> >> <classpath> >> <fileset dir="..//lib"> >> <include name="**/*.jar" /> >> </fileset> >> </classpath> >> </java> >> </do> >> </bi:for.java.project> >> >> ------------------------------------------------------------------------------- >> >> / >> *We are using following jar versions in lib folder:*/ >> >> --------------------------------------------------- >> <classpathentry kind="lib" path="lib/cxf-2.3.2.jar"/> >> <classpathentry kind="lib" path="lib/cxf-xjc-boolean-2.3.2.jar"/> >> <classpathentry kind="lib" path="lib/cxf-xjc-bug671-2.3.2.jar"/> >> <classpathentry kind="lib" path="lib/cxf-xjc-dv-2.3.2.jar"/> >> <classpathentry kind="lib" path="lib/cxf-xjc-ts-2.3.2.jar"/> >> <classpathentry kind="lib" path="lib/jaxb-api-2.2.1.jar"/> >> <classpathentry kind="lib" path="lib/jaxb-impl-2.2.1.1.jar"/> >> <classpathentry kind="lib" path="lib/jaxb-xjc-2.2.1.1.jar"/> >> --------------------------------------------------- >> >> / >> *Please help us here. >> >> Thanks >> Hari Hara*/ >> >> -- >> View this message in context: >> http://cxf.547215.n5.nabble.com/wsdl2java-tp5646464p5646464.html >> Sent from the cxf-user mailing list archive at Nabble.com. > > > --------------------------------------------- > Freeman Fang > > FuseSource > Email:[email protected] > Web: fusesource.com > Twitter: freemanfang > Blog: http://freemanfang.blogspot.com > http://blog.sina.com.cn/u/1473905042 > weibo: http://weibo.com/u/1473905042 > > > > > > > > > >
