You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by "harihara.muvvala" <ha...@gmail.com> on 2012/04/17 14:41:08 UTC

wsdl2java -

/*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.

Re: wsdl2java -

Posted by "harihara.muvvala" <ha...@gmail.com>.
Thanks Benson for quick reply. Currently we are using XmlSchema-1.4.7.jar.
Could you please suggest which version we need to use.

--
View this message in context: http://cxf.547215.n5.nabble.com/wsdl2java-not-able-genereate-java-files-tp5646464p5646529.html
Sent from the cxf-user mailing list archive at Nabble.com.

Re: wsdl2java -

Posted by Benson Margulies <bi...@gmail.com>.
You've somehow managed to get the wrong version of XmlSchema into your
class path.

On Tue, Apr 17, 2012 at 8:41 AM, harihara.muvvala
<ha...@gmail.com> 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.

Re: wsdl2java -

Posted by Benson Margulies <bi...@gmail.com>.
Freeman,  I misread the backtrace. Sorry.

On Wed, Apr 18, 2012 at 1:03 AM, Freeman Fang <fr...@gmail.com> 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:ffang@fusesource.com
> Web: fusesource.com
> Twitter: freemanfang
> Blog: http://freemanfang.blogspot.com
> http://blog.sina.com.cn/u/1473905042
> weibo: http://weibo.com/u/1473905042
>
>
>
>
>
>
>
>
>
>

Re: wsdl2java -

Posted by Freeman Fang <fr...@gmail.com>.
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:ffang@fusesource.com
Web: fusesource.com
Twitter: freemanfang
Blog: http://freemanfang.blogspot.com
http://blog.sina.com.cn/u/1473905042
weibo: http://weibo.com/u/1473905042