Kevin LaVergne created CXF-4925:
-----------------------------------
Summary: OutOfMemoryError from wsdl2java with large maxOccurs
values
Key: CXF-4925
URL: https://issues.apache.org/jira/browse/CXF-4925
Project: CXF
Issue Type: Bug
Components: JAXB Databinding, Tooling
Affects Versions: 2.7.3, 2.6.3, 2.6
Environment: JDKs 1.7.0_13 and 1.0.7_17 on Windows and Linux
Reporter: Kevin LaVergne
When running wsdl2java with JAXB databinding on a WSDL with at least 1 element
that has a large maxOccurs value (greater than 13600) an OutOfMemoryError
occurs and the code generation fails.
Happens with the standalone wsdl2java command line and the Maven plugin.
[INFO] --- cxf-codegen-plugin:2.6.2:wsdl2java (generate-sources-amadeus-wsdl) @
ebs-reservation-management-service ---
Loading FrontEnd jaxws ...
Loading DataBinding jaxb ...
wsdl2java -encoding UTF-8 -d C:\Documents and
Settings\e103705\Documents\workspace-sts-3.1.0.RELEASE\ebs-reservation-management-TRUNK\service\target\generated-sources\cxf
-verbose -validate -b classpath:customBindings.xml -client -p
http://xml.amadeus.com=com.amadeus.wsdl -p
http://xml.amadeus.com/ws/2009/01/WBS_Session-2.0.xsd=com.amadeus.wsdl.session
-p http://xml.amadeus.com/VLSSLQ_06_1_1A=com.amadeus.wsdl.security.authenticate
-p
http://xml.amadeus.com/VLSSLR_06_1_1A=com.amadeus.wsdl.security.authenticate.reply
-p http://xml.amadeus.com/VLSSOQ_04_1_1A=com.amadeus.wsdl.security.signout -p
http://xml.amadeus.com/VLSSOR_04_1_1A=com.amadeus.wsdl.security.signout.reply
-p http://xml.amadeus.com/PNRXCL_11_3_1A=com.amadeus.wsdl.pnr.cancel -p
http://xml.amadeus.com/PNRACC_11_3_1A=com.amadeus.wsdl.pnr.reply -p
http://xml.amadeus.com/PNRADD_11_3_1A=com.amadeus.wsdl.pnr.add
classpath:AmadeusReservationManagement.wsdl
wsdl2java - Apache CXF 2.6.2
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 9.937s
[INFO] Finished at: Mon Mar 25 13:20:30 CDT 2013
[INFO] Final Memory: 28M/229M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal
org.apache.cxf:cxf-codegen-plugin:2.6.2:wsdl2java
(generate-sources-amadeus-wsdl) on project ebs-reservation-management-service:
Java heap space -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal
org.apache.cxf:cxf-codegen-plugin:2.6.2:wsdl2java
(generate-sources-amadeus-wsdl) on project ebs-reservation-management-service:
Java heap space
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at
org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at
org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
at
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
at
org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Caused by: org.apache.maven.plugin.MojoExecutionException: Java heap space
at
org.apache.cxf.maven_plugin.wsdl2java.WSDL2JavaMojo.generate(WSDL2JavaMojo.java:300)
at
org.apache.cxf.maven_plugin.AbstractCodegenMoho.execute(AbstractCodegenMoho.java:257)
at
org.apache.cxf.maven_plugin.wsdl2java.WSDL2JavaMojo.execute(WSDL2JavaMojo.java:377)
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
... 19 more
Caused by: java.lang.OutOfMemoryError: Java heap space
at org.apache.xerces.impl.dtd.models.CMStateSet.<init>(Unknown Source)
at org.apache.xerces.impl.xs.models.XSDFACM.buildDFA(Unknown Source)
at org.apache.xerces.impl.xs.models.XSDFACM.<init>(Unknown Source)
at org.apache.xerces.impl.xs.models.CMBuilder.createDFACM(Unknown
Source)
at org.apache.xerces.impl.xs.models.CMBuilder.getContentModel(Unknown
Source)
at org.apache.xerces.impl.xs.XSComplexTypeDecl.getContentModel(Unknown
Source)
at org.apache.xerces.impl.xs.XSConstraints.fullSchemaChecking(Unknown
Source)
at org.apache.xerces.impl.xs.XMLSchemaLoader.loadGrammar(Unknown Source)
at org.apache.xerces.impl.xs.XMLSchemaLoader.loadGrammar(Unknown Source)
at org.apache.xerces.jaxp.validation.XMLSchemaFactory.newSchema(Unknown
Source)
at
com.sun.tools.xjc.reader.internalizer.DOMForest.weakSchemaCorrectnessCheck(DOMForest.java:481)
at
com.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.bind(SchemaCompilerImpl.java:259)
at
com.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.bind(SchemaCompilerImpl.java:94)
at
org.apache.cxf.tools.wsdlto.databinding.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:411)
at
org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.generateTypes(WSDLToJavaContainer.java:603)
at
org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.processWsdl(WSDLToJavaContainer.java:248)
at
org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:142)
at
org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:300)
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.maven_plugin.wsdl2java.WSDL2JavaMojo.generate(WSDL2JavaMojo.java:280)
at
org.apache.cxf.maven_plugin.AbstractCodegenMoho.execute(AbstractCodegenMoho.java:257)
at
org.apache.cxf.maven_plugin.wsdl2java.WSDL2JavaMojo.execute(WSDL2JavaMojo.java:377)
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at
org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at
org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira