Well, there are three potential workarounds for this:
1) Endorse the JAXB 2.2 API jar. 2) Use Java 5 instead of Java 6 3) Drop the jaxb-impl and jaxb-xjc jars down to 2.1.13 instead of 2.2. I'll have to see if there is an easier way to detect this (other than an UndeclaredThrowableException) and do something a little nicer than that. Dan On Thursday 04 November 2010 10:03:55 am Bayu Anggorojati wrote: > Here is the full stack trace: > > 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 $Proxy42.required(Unknown Source) > at > com.sun.tools.xjc.generator.bean.field.AbstractField.annotateReference(Abst > ractField.java:187) at > com.sun.tools.xjc.generator.bean.field.AbstractField.annotate(AbstractField > .java:156) at > com.sun.tools.xjc.generator.bean.field.AbstractListField.generate(AbstractL > istField.java:124) at > com.sun.tools.xjc.generator.bean.field.UntypedListField.<init>(UntypedListF > ield.java:107) at > com.sun.tools.xjc.generator.bean.field.UntypedListFieldRenderer.generate(Un > typedListFieldRenderer.java:72) at > com.sun.tools.xjc.generator.bean.field.DefaultFieldRenderer.generate(Defaul > tFieldRenderer.java:79) at > com.sun.tools.xjc.generator.bean.BeanGenerator.generateFieldDecl(BeanGenera > tor.java:759) at > com.sun.tools.xjc.generator.bean.BeanGenerator.generateClassBody(BeanGenera > tor.java:540) at > com.sun.tools.xjc.generator.bean.BeanGenerator.<init>(BeanGenerator.java:24 > 3) at > com.sun.tools.xjc.generator.bean.BeanGenerator.generate(BeanGenerator.java: > 161) at com.sun.tools.xjc.model.Model.generateCode(Model.java:286) > at > com.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.bind(SchemaCompilerImpl.j > ava:252) at > com.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.bind(SchemaCompilerImpl.j > ava:85) at > org.apache.cxf.tools.wsdlto.databinding.jaxb.JAXBDataBinding.initialize(JAX > BDataBinding.java:381) at > org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.generateTypes(WSDLToJavaCon > tainer.java:573) at > org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.processWsdl(WSDLToJavaConta > iner.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:1 > 08) ... 23 more > > /bayu > > On 04-11-2010 15:00, Daniel Kulp wrote: > > On Thursday 04 November 2010 8:08:57 am Bayu Anggorojati wrote: > >> Hi Dan, > >> > >> I encountered this error when trying to generate the java code from wsdl > >> using wsdl2java from cfx 2.3.0: > >> > >> WSDLToJava Error: java.lang.reflect.UndeclaredThrowableException > >> > >> I never had this error with 2.2.10 at least. Is it a bug? or is there > >> any thing that I need to take care of in 2.30? > >> > >> Thank you in advance. > > > > Can you run with -verbose to get the full stack trace? > > > > Not sure what would cause that. The stack trace may help. > > > > Dan > > > >> Bayu > >> > >> On 03-11-2010 16:24, Daniel Kulp wrote: > >>> What version of CXF? At one point, there was a bug where interceptors > >>> added to the endpoint directly didn't get added to the chain. Make > >>> sure you are using 2.3.0. > >>> > >>> Also, in your code below, you are not setting any actions on the > >>> Wss4jInInterceptor. Thus, it may be bailing out fast as its not > >>> supposed to do any actions. > >>> > >>> Dan > >>> > >>> On Wednesday 03 November 2010 5:24:49 am siuyab wrote: > >>>> Dear all, > >>>> > >>>> Actually I posted this question under different thread, but I think > >>>> it's better to start as a new thread. > >>>> > >>>> I have to say that I am new to web service and CXF stuff. I currently > >>>> trying to add simple username token of ws-security on an already > >>>> developed code which is using CXFNonSpringServlet. > >>>> > >>>> In the override loadBus method, the endpoint is published in this way: > >>>> javax.xml.ws.Endpoint.publish("/query", service); > >>>> > >>>> Then I followed the ws-security example as written in following > >>>> website, without configuring the Spring: > >>>> https://cwiki.apache.org/CXF20DOC/ws-security.html#WS-Security-addinte > >>>> rc ept ors > >>>> > >>>> ws-security configuration at server side was also done in the loadBus > >>>> method. > >>>> > >>>> At the server side however, I didn't follow exactly the same think as > >>>> shown in the example because in the example Endpoint refers to > >>>> org.apache.cxf.endpoint.Endpoint, but in the code it refers to > >>>> javax.xml.ws.Endpoint. So, here is the slightly modified code: > >>>> > >>>> > >>>> EndpointImpl jaxwsEndpoint = (EndpointImpl)Endpoint.publish("/query", > >>>> service); > >>>> Endpoint cxfEndpoint = (Endpoint) > >>>> jaxwsEndpoint.getServer().getEndpoint(); > >>>> > >>>> /** Adding Incoming Interceptors */ > >>>> Map<String,Object> inProps= new HashMap<String,Object>(); > >>>> > >>>> WSS4JInInterceptor wssIn = new WSS4JInInterceptor(inProps); > >>>> ((EndpointImpl) cxfEndpoint).getInInterceptors().add(wssIn); > >>>> > >>>> > >>>> I got the following error when client tries to execute the method in > >>>> web service: > >>>> > >>>> > >>>> Caused by: org.apache.cxf.binding.soap.SoapFault: MustUnderstand > >>>> headers: > >>>> [{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-s > >>>> e cext -1.0.xsd}Security] are not understood. > >>>> > >>>> at > >>>> > >>>> org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.unmar > >>>> sh alF ault(Soap11FaultInInterceptor.java:75) at > >>>> org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handl > >>>> eM ess age(Soap11FaultInInterceptor.java:46) at > >>>> org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handl > >>>> eM ess age(Soap11FaultInInterceptor.java:35) at > >>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto > >>>> rC hai n.java:243) at > >>>> org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessa > >>>> ge (Ab stractFaultChainInitiatorObserver.java:99) at > >>>> org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMe > >>>> ss age (CheckFaultInterceptor.java:69) at > >>>> org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMe > >>>> ss age (CheckFaultInterceptor.java:34) at > >>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto > >>>> rC hai n.java:243) at > >>>> org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:700) at > >>>> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRe > >>>> sp ons eInternal(HTTPConduit.java:2261) at > >>>> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRe > >>>> sp ons e(HTTPConduit.java:2134) at > >>>> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HT > >>>> TP Con duit.java:1988) at > >>>> org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66 > >>>> ) > >>>> > >>>> at > >>>> > >>>> org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:639) > >>>> > >>>> at > >>>> > >>>> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndin > >>>> gI nte rceptor.handleMessage(MessageSenderInterceptor.java:62) at > >>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercept > >>>> orC hai n.java:243) at > >>>> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:487) at > >>>> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:313) at > >>>> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:265) at > >>>> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73) > >>>> > >>>> at > >>>> > >>>> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124 > >>>> ) > >>>> > >>>> ... 30 more > >>>> > >>>> Can somebody give some clue on how to solve this issue please? Perhaps > >>>> this is very basic or stupid question, but any help will be > >>>> appreciated. > >>>> > >>>> Regards, > >>>> Bayu -- Daniel Kulp dk...@apache.org http://dankulp.com/blog