Discussion:
wsdl2java error
Dmitry Zinushin
2010-11-15 16:25:13 UTC
Permalink
Hi,



I use CXF 2.3 for implement client for external web-service

wsdl file that ws contains complexType like this (just example for
clarity):



<xs:complexType name="problem">

<xs:sequence>

<xs:element name="value" type="xs:string" nillable="true"
minOccurs="0"/>

</xs:sequence>

</xs:complexType>





When I run wsdl utility for wsdl file with this type I receive error:



wsdl2java.bat -verbose -client -d .\build\src TestService.wsdl

Loading FrontEnd jaxws ...

Loading DataBinding jaxb ...

wsdl2java -verbose -client -d .\build\src TestService.wsdl

wsdl2java - Apache CXF 2.3.0





WSDLToJava Error: java.lang.reflect.UndeclaredThrowableException



org.apache.cxf.tools.common.ToolException:
java.lang.reflect.UndeclaredThrowableException

at
org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.
java:279)

at
org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:103)

at org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:113)

at org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:86)

at org.apache.cxf.tools.wsdlto.WSDLToJava.main(WSDLToJava.java:184)

Caused by: java.lang.reflect.UndeclaredThrowableException

at $Proxy39.required(Unknown Source)

at
com.sun.tools.xjc.generator.bean.field.AbstractField.annotateReference(Abstr
actField.java:187)

at
com.sun.tools.xjc.generator.bean.field.AbstractField.annotate(AbstractField.
java:156)

at
com.sun.tools.xjc.generator.bean.field.AbstractFieldWithVar.createField(Abst
ractFieldWithVar.java:75)

at
com.sun.tools.xjc.generator.bean.field.SingleField.<init>(SingleField.java:8
9)

at
com.sun.tools.xjc.generator.bean.field.SingleField.<init>(SingleField.java:7
6)

at sun.reflect.GeneratedConstructorAccessor12.newInstance(Unknown
Source)

at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstruc
torAccessorImpl.java:27)

at java.lang.reflect.Constructor.newInstance(Constructor.java:513)

at
com.sun.tools.xjc.generator.bean.field.GenericFieldRenderer.generate(Generic
FieldRenderer.java:64)

at
com.sun.tools.xjc.generator.bean.field.DefaultFieldRenderer.generate(Default
FieldRenderer.java:79)

at
com.sun.tools.xjc.generator.bean.BeanGenerator.generateFieldDecl(BeanGenerat
or.java:759)

at
com.sun.tools.xjc.generator.bean.BeanGenerator.generateClassBody(BeanGenerat
or.java:540)

at
com.sun.tools.xjc.generator.bean.BeanGenerator.<init>(BeanGenerator.java:243
)

at
com.sun.tools.xjc.generator.bean.BeanGenerator.generate(BeanGenerator.java:1
61)

at com.sun.tools.xjc.model.Model.generateCode(Model.java:286)

at
com.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.bind(SchemaCompilerImpl.ja
va:252)

at
com.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.bind(SchemaCompilerImpl.ja
va:85)

at
org.apache.cxf.tools.wsdlto.databinding.jaxb.JAXBDataBinding.initialize(JAXB
DataBinding.java:381)

at
org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.generateTypes(WSDLToJavaCont
ainer.java:573)

at
org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.processWsdl(WSDLToJavaContai
ner.java:228)

at
org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.
java:128)

at
org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.
java:271)

... 4 more

Caused by: java.lang.NoSuchMethodException:
javax.xml.bind.annotation.XmlElementRef.required()

at java.lang.Class.getDeclaredMethod(Class.java:1937)

at
com.sun.codemodel.TypedAnnotationWriter.invoke(TypedAnnotationWriter.java:10
8)

... 27 more



Can anybody help me?

Why utility stops with exception? What I am doing wrong. =)





Regards,

Dmitry
Daniel Kulp
2010-11-15 16:48:08 UTC
Permalink
You need to endorse the jaxb-api jar file to pick up the changes to the
XmlElement class. I'll get that added to the shell scripts.

Dan
Post by Dmitry Zinushin
Hi,
I use CXF 2.3 for implement client for external web-service
wsdl file that ws contains complexType like this (just example for
<xs:complexType name="problem">
<xs:sequence>
<xs:element name="value" type="xs:string" nillable="true"
minOccurs="0"/>
</xs:sequence>
</xs:complexType>
wsdl2java.bat -verbose -client -d .\build\src TestService.wsdl
Loading FrontEnd jaxws ...
Loading DataBinding jaxb ...
wsdl2java -verbose -client -d .\build\src TestService.wsdl
wsdl2java - Apache CXF 2.3.0
WSDLToJava Error: java.lang.reflect.UndeclaredThrowableException
java.lang.reflect.UndeclaredThrowableException
at
org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer
. java:279)
at
org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:103
)
at org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:113)
at org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:86)
at org.apache.cxf.tools.wsdlto.WSDLToJava.main(WSDLToJava.java:184)
Caused by: java.lang.reflect.UndeclaredThrowableException
at $Proxy39.required(Unknown Source)
at
com.sun.tools.xjc.generator.bean.field.AbstractField.annotateReference(Abst
r actField.java:187)
at
com.sun.tools.xjc.generator.bean.field.AbstractField.annotate(AbstractField
. java:156)
at
com.sun.tools.xjc.generator.bean.field.AbstractFieldWithVar.createField(Abs
t ractFieldWithVar.java:75)
at
8 9)
at
7 6)
at sun.reflect.GeneratedConstructorAccessor12.newInstance(Unknown
Source)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstru
c torAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at
com.sun.tools.xjc.generator.bean.field.GenericFieldRenderer.generate(Generi
c FieldRenderer.java:64)
at
com.sun.tools.xjc.generator.bean.field.DefaultFieldRenderer.generate(Defaul
t FieldRenderer.java:79)
at
com.sun.tools.xjc.generator.bean.BeanGenerator.generateFieldDecl(BeanGenera
t or.java:759)
at
com.sun.tools.xjc.generator.bean.BeanGenerator.generateClassBody(BeanGenera
t or.java:540)
at
com.sun.tools.xjc.generator.bean.BeanGenerator.<init>(BeanGenerator.java:24
3 )
at
1 61)
at com.sun.tools.xjc.model.Model.generateCode(Model.java:286)
at
com.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.bind(SchemaCompilerImpl.j
a va:252)
at
com.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.bind(SchemaCompilerImpl.j
a va:85)
at
org.apache.cxf.tools.wsdlto.databinding.jaxb.JAXBDataBinding.initialize(JAX
B DataBinding.java:381)
at
org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.generateTypes(WSDLToJavaCon
t ainer.java:573)
at
org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.processWsdl(WSDLToJavaConta
i ner.java:228)
at
org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer
. java:128)
at
org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer
. java:271)
... 4 more
javax.xml.bind.annotation.XmlElementRef.required()
at java.lang.Class.getDeclaredMethod(Class.java:1937)
at
com.sun.codemodel.TypedAnnotationWriter.invoke(TypedAnnotationWriter.java:1
0 8)
... 27 more
Can anybody help me?
Why utility stops with exception? What I am doing wrong. =)
Regards,
Dmitry
--
Daniel Kulp
dkulp-1oDqGaOF3Lkdnm+***@public.gmane.org
http://dankulp.com/blog
Dmitry Zinushin
2010-11-16 13:36:20 UTC
Permalink
Thank you very much Daniel!
--
View this message in context: http://cxf.547215.n5.nabble.com/wsdl2java-error-tp3265966p3267308.html
Sent from the cxf-user mailing list archive at Nabble.com.
Glen Mazza
2010-11-16 14:55:37 UTC
Permalink
It *could* be there's something syntactically wrong with the WSDL and that
CXF isn't doing a good job of reporting on the particular error found; you
may wish to run Metro's wsimport on your WSDL[1] and see if it either
accepts it or is at least more informative about the particular problem (if
any) with your WSDL.

Either way, if you could submit a JIRA report with the most minimal WSDL
that reproduces the problem CXF can either fix the problem or (if the
problem was with the WSDL) can provide a informative error message instead
of a stack trace.

Glen

[1] http://www.jroller.com/gmazza/entry/soap_client_tutorial
Post by Dmitry Zinushin
Hi,
I use CXF 2.3 for implement client for external web-service
wsdl file that ws contains complexType like this (just example for
<xs:complexType name="problem">
<xs:sequence>
<xs:element name="value" type="xs:string" nillable="true"
minOccurs="0"/>
</xs:sequence>
</xs:complexType>
wsdl2java.bat -verbose -client -d .\build\src TestService.wsdl
Loading FrontEnd jaxws ...
Loading DataBinding jaxb ...
wsdl2java -verbose -client -d .\build\src TestService.wsdl
wsdl2java - Apache CXF 2.3.0
WSDLToJava Error: java.lang.reflect.UndeclaredThrowableException
java.lang.reflect.UndeclaredThrowableException
--
View this message in context: http://cxf.547215.n5.nabble.com/wsdl2java-error-tp3265966p3267440.html
Sent from the cxf-user mailing list archive at Nabble.com.
Loading...