Web services JBoss AS 7 wsconsume:未能编译生成的代码-@XmlElementRef-必需

Web services JBoss AS 7 wsconsume:未能编译生成的代码-@XmlElementRef-必需,web-services,cxf,consuming,Web Services,Cxf,Consuming,我正在尝试JBoss AS 7 wsconsume.sh,但在生成的源代码上出现编译错误。 怎么了 WSDL文件来自 而且它几乎没有形式上的错误 $ ./wsconsume.sh -p cz.pohlidame.clientJBoss -o fooOut -s fooSrc -t 2.2 -e ~/proj/pohlidame.cz/wsdl-consumer/IsirPub001.wsdl Could not find log4j.xml configuration, logging to

我正在尝试JBoss AS 7 wsconsume.sh,但在生成的源代码上出现编译错误。 怎么了

WSDL文件来自 而且它几乎没有形式上的错误

$ ./wsconsume.sh -p cz.pohlidame.clientJBoss -o fooOut -s fooSrc -t 2.2 -e ~/proj/pohlidame.cz/wsdl-consumer/IsirPub001.wsdl 
Could not find log4j.xml configuration, logging to console.

TODO! Cheek SOAP 1.2 extension
WSConsume (CXF) does not allow to setup the JAX-WS specification target, using the currently configured JAX-WS version (check your JVM version and/or endorsed libs)
Loading FrontEnd jaxws ...
Loading DataBinding jaxb ...
wsdl2java -compile -exsh false -p cz.pohlidame.clientJBoss -verbose -classdir /home/ondra/work/AS7/ozizka-git/build/target/jboss-as-7.2.0.Alpha1-SNAPSHOT/bin/fooOut  -allowElementReferences file:/home/ondra/proj/pohlidame.cz/wsdl-consumer/IsirPub001.wsdl
wsdl2java - Apache CXF 2.4.6

                                                            ^
./cz/pohlidame/clientJBoss/IsirPub001Data.java:63: cannot find symbol
symbol  : method required()
location: @interface javax.xml.bind.annotation.XmlElementRef
@XmlElementRef(name = "spisZnacka", type = JAXBElement.class, required = false)
                                                              ^
3 errors
Failed to invoke WSDLToJava
org.apache.cxf.tools.common.ToolException: Failed to compile generated code
    at org.apache.cxf.tools.common.ClassUtils.compile(ClassUtils.java:115)
    at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.processWsdl(WSDLToJavaContainer.java:265)
    at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:138)
    at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:286)
    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.jboss.wsf.stack.cxf.tools.CXFConsumerImpl.consume(CXFConsumerImpl.java:250)
    at org.jboss.ws.tools.cmd.WSConsume.importServices(WSConsume.java:279)
    at org.jboss.ws.tools.cmd.WSConsume.mainInternal(WSConsume.java:104)
    at org.jboss.ws.tools.cmd.WSConsume.main(WSConsume.java:92)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.jboss.modules.Module.run(Module.java:270)
    at org.jboss.modules.Main.main(Main.java:294)

jaxb2.2中的
required
属性被添加到
@xmlementref

请参阅此处“必需”元素下的“自2.2”部分:

看起来您已经生成了一个JAXB 2.2模型,并试图在运行时使用JAXB 2.1 API


注意:JavaSE6包含JAXB2.0/2.1,JavaSE7包含JAXB2.2。

这很有道理,谢谢。以前,我尝试过不使用
-t
-t2.0
,但结果相同。我将尝试使用JDK 7。