[ https://issues.apache.org/jira/browse/CXF-8420?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
George McCone updated CXF-8420: ------------------------------- Description: When trying to run the cxf-codegen-plugin on a simple wsdl, the build fails with a StringIndexOutOfBoundsException: String index out of range: 56 If I manually run wsdl2java from the command line using Java 1.8 it seems to complete without error. If I use the version 3.3.9 of cxf-codegen-pluign it works, looks like it was broken in 3.4.0 and still broken in 3.4.1 and 3.4.2. Maven Snippet {code:java} <plugin> <groupId>org.apache.cxf</groupId> <artifactId>cxf-codegen-plugin</artifactId> <version>3.4.2</version> <executions> <execution> <id>generate-sources-test</id> <phase>generate-sources</phase> <configuration> <wsdlOptions> <wsdlOption> <wsdl>${basedir}/src/main/resources/TestNoImportXSD.wsdl</wsdl> </wsdlOption> </wsdlOptions> </configuration> <goals> <goal>wsdl2java</goal> </goals> </execution> </executions> </plugin> {code} Errors for both AdoptOpenJDK 11.0.8 and Oracle 1.8.0_271 Maven Error {code:java} [INFO] --- cxf-codegen-plugin:3.4.2:wsdl2java (generate-sources-test) @ test-cxf-codegen --- [INFO] Running code generation in fork mode... [INFO] The java executable is c:\Program Files\Java\jdk-11.0.8\bin\java.exe [INFO] Building jar: C:\Users\gmccone\AppData\Local\Temp\cxf-tmp-7337572184428678393\cxf-codegen10540664752677402074.jar [WARNING] SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". [WARNING] SLF4J: Defaulting to no-operation (NOP) logger implementation [WARNING] SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. [WARNING] Exception in thread "main" org.apache.cxf.tools.common.ToolException: java.lang.StringIndexOutOfBoundsException: String index out of range: 56 [WARNING] at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:410) [WARNING] at org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:105) [WARNING] at org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:113) [WARNING] at org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:86) [WARNING] at org.apache.cxf.maven_plugin.wsdl2java.ForkOnceWSDL2Java.main(ForkOnceWSDL2Java.java:51) [WARNING] Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: 56 [WARNING] at java.base/java.lang.StringLatin1.charAt(StringLatin1.java:47) [WARNING] at java.base/java.lang.String.charAt(String.java:693) [WARNING] at com.sun.codemodel.JCommentPart.escape(JCommentPart.java:133) [WARNING] at com.sun.codemodel.JCommentPart.format(JCommentPart.java:90) [WARNING] at com.sun.codemodel.JDocComment.generate(JDocComment.java:150) [WARNING] at com.sun.codemodel.JFormatter.g(JFormatter.java:320) [WARNING] at com.sun.codemodel.JMethod.declare(JMethod.java:390) [WARNING] at com.sun.codemodel.JFormatter.d(JFormatter.java:346) [WARNING] at com.sun.codemodel.JDefinedClass.declareBody(JDefinedClass.java:803) [WARNING] at com.sun.codemodel.JDefinedClass.declare(JDefinedClass.java:774) [WARNING] at com.sun.codemodel.JFormatter.d(JFormatter.java:346) [WARNING] at com.sun.codemodel.JFormatter.write(JFormatter.java:420) [WARNING] at com.sun.codemodel.JPackage.build(JPackage.java:422) [WARNING] at com.sun.codemodel.JCodeModel.build(JCodeModel.java:328) [WARNING] at com.sun.codemodel.JCodeModel.build(JCodeModel.java:318) [WARNING] at org.apache.cxf.tools.wsdlto.databinding.jaxb.JAXBDataBinding.generate(JAXBDataBinding.java:844) [WARNING] at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.generateTypes(WSDLToJavaContainer.java:717) [WARNING] at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.processWsdl(WSDLToJavaContainer.java:259) [WARNING] at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:156) [WARNING] at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:402) [WARNING] ... 4 more [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 9.090 s [INFO] Finished at: 2021-02-10T14:57:32-07:00 [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.cxf:cxf-codegen-plugin:3.4.2:wsdl2java (generate-sources-test) on project test-cxf-codegen: [ERROR] Exit code: 1 [ERROR] Command line was: cmd.exe /X /C ""c:\Program Files\Java\jdk-11.0.8\bin\java.exe" --add-exports=jdk.xml.dom/org.w3c.dom.html=ALL-UNNAMED --add-exports=java.xml/com.sun.org.apache.xerces.internal.impl.xs=ALL-UNNAMED --add-opens java.base/java.security=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED -jar C:\Users\gmccone\AppData\Local\Temp\cxf-tmp-7337572184428678393\cxf-codegen10540664752677402074.jar C:\Users\gmccone\AppData\Local\Temp\cxf-tmp-7337572184428678393\cxf-w2j11172612224607807272args" {code} Attached is the test WSDL that exhibits the error. was: When trying to run the cxf-codegen-plugin on a simple wsdl, the build fails with a StringIndexOutOfBoundsException: String index out of range: 56 If I manually run wsdl2java from the command line using Java 1.8 it seems to complete without error. If I use the version 3.3.1 of cxf-codegen-pluign it works, not sure where between 3.3.1 and 3.4.2 it became broken. Maven Snippet {code:java} <plugin> <groupId>org.apache.cxf</groupId> <artifactId>cxf-codegen-plugin</artifactId> <version>3.4.2</version> <executions> <execution> <id>generate-sources-test</id> <phase>generate-sources</phase> <configuration> <wsdlOptions> <wsdlOption> <wsdl>${basedir}/src/main/resources/TestNoImportXSD.wsdl</wsdl> </wsdlOption> </wsdlOptions> </configuration> <goals> <goal>wsdl2java</goal> </goals> </execution> </executions> </plugin> {code} Errors for both AdoptOpenJDK 11.0.8 and Oracle 1.8.0_271 Maven Error {code:java} [INFO] --- cxf-codegen-plugin:3.4.2:wsdl2java (generate-sources-test) @ test-cxf-codegen --- [INFO] Running code generation in fork mode... [INFO] The java executable is c:\Program Files\Java\jdk-11.0.8\bin\java.exe [INFO] Building jar: C:\Users\gmccone\AppData\Local\Temp\cxf-tmp-7337572184428678393\cxf-codegen10540664752677402074.jar [WARNING] SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". [WARNING] SLF4J: Defaulting to no-operation (NOP) logger implementation [WARNING] SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. [WARNING] Exception in thread "main" org.apache.cxf.tools.common.ToolException: java.lang.StringIndexOutOfBoundsException: String index out of range: 56 [WARNING] at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:410) [WARNING] at org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:105) [WARNING] at org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:113) [WARNING] at org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:86) [WARNING] at org.apache.cxf.maven_plugin.wsdl2java.ForkOnceWSDL2Java.main(ForkOnceWSDL2Java.java:51) [WARNING] Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: 56 [WARNING] at java.base/java.lang.StringLatin1.charAt(StringLatin1.java:47) [WARNING] at java.base/java.lang.String.charAt(String.java:693) [WARNING] at com.sun.codemodel.JCommentPart.escape(JCommentPart.java:133) [WARNING] at com.sun.codemodel.JCommentPart.format(JCommentPart.java:90) [WARNING] at com.sun.codemodel.JDocComment.generate(JDocComment.java:150) [WARNING] at com.sun.codemodel.JFormatter.g(JFormatter.java:320) [WARNING] at com.sun.codemodel.JMethod.declare(JMethod.java:390) [WARNING] at com.sun.codemodel.JFormatter.d(JFormatter.java:346) [WARNING] at com.sun.codemodel.JDefinedClass.declareBody(JDefinedClass.java:803) [WARNING] at com.sun.codemodel.JDefinedClass.declare(JDefinedClass.java:774) [WARNING] at com.sun.codemodel.JFormatter.d(JFormatter.java:346) [WARNING] at com.sun.codemodel.JFormatter.write(JFormatter.java:420) [WARNING] at com.sun.codemodel.JPackage.build(JPackage.java:422) [WARNING] at com.sun.codemodel.JCodeModel.build(JCodeModel.java:328) [WARNING] at com.sun.codemodel.JCodeModel.build(JCodeModel.java:318) [WARNING] at org.apache.cxf.tools.wsdlto.databinding.jaxb.JAXBDataBinding.generate(JAXBDataBinding.java:844) [WARNING] at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.generateTypes(WSDLToJavaContainer.java:717) [WARNING] at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.processWsdl(WSDLToJavaContainer.java:259) [WARNING] at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:156) [WARNING] at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:402) [WARNING] ... 4 more [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 9.090 s [INFO] Finished at: 2021-02-10T14:57:32-07:00 [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.cxf:cxf-codegen-plugin:3.4.2:wsdl2java (generate-sources-test) on project test-cxf-codegen: [ERROR] Exit code: 1 [ERROR] Command line was: cmd.exe /X /C ""c:\Program Files\Java\jdk-11.0.8\bin\java.exe" --add-exports=jdk.xml.dom/org.w3c.dom.html=ALL-UNNAMED --add-exports=java.xml/com.sun.org.apache.xerces.internal.impl.xs=ALL-UNNAMED --add-opens java.base/java.security=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED -jar C:\Users\gmccone\AppData\Local\Temp\cxf-tmp-7337572184428678393\cxf-codegen10540664752677402074.jar C:\Users\gmccone\AppData\Local\Temp\cxf-tmp-7337572184428678393\cxf-w2j11172612224607807272args" {code} Attached is the test WSDL that exhibits the error. > cxf-codegen-plugin failing with StringIndexOutOfBoundsException > --------------------------------------------------------------- > > Key: CXF-8420 > URL: https://issues.apache.org/jira/browse/CXF-8420 > Project: CXF > Issue Type: Bug > Components: Tooling > Affects Versions: 3.4.0, 3.4.1, 3.4.2 > Environment: OS: Windows 10 > maven: 3.5.3 > Java: > openjdk version "11.0.8" 2020-07-14 > OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.8+10) > OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.8+10, mixed mode) > java version "1.8.0_271" > Java(TM) SE Runtime Environment (build 1.8.0_271-b25) > Java HotSpot(TM) 64-Bit Server VM (build 25.271-b25, mixed mode) > Reporter: George McCone > Priority: Major > Attachments: TestNoImportXSD.wsdl > > > When trying to run the cxf-codegen-plugin on a simple wsdl, the build fails > with a StringIndexOutOfBoundsException: String index out of range: 56 > > If I manually run wsdl2java from the command line using Java 1.8 it seems to > complete without error. > If I use the version 3.3.9 of cxf-codegen-pluign it works, looks like it was > broken in 3.4.0 and still broken in 3.4.1 and 3.4.2. > Maven Snippet > > {code:java} > <plugin> > <groupId>org.apache.cxf</groupId> > <artifactId>cxf-codegen-plugin</artifactId> > <version>3.4.2</version> > <executions> > <execution> > <id>generate-sources-test</id> > <phase>generate-sources</phase> > <configuration> > <wsdlOptions> > <wsdlOption> > <wsdl>${basedir}/src/main/resources/TestNoImportXSD.wsdl</wsdl> > </wsdlOption> > </wsdlOptions> > </configuration> > <goals> > <goal>wsdl2java</goal> > </goals> > </execution> > </executions> > </plugin> > {code} > Errors for both AdoptOpenJDK 11.0.8 and Oracle 1.8.0_271 > Maven Error > {code:java} > [INFO] --- cxf-codegen-plugin:3.4.2:wsdl2java (generate-sources-test) @ > test-cxf-codegen --- > [INFO] Running code generation in fork mode... > [INFO] The java executable is c:\Program Files\Java\jdk-11.0.8\bin\java.exe > [INFO] Building jar: > C:\Users\gmccone\AppData\Local\Temp\cxf-tmp-7337572184428678393\cxf-codegen10540664752677402074.jar > [WARNING] SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". > [WARNING] SLF4J: Defaulting to no-operation (NOP) logger implementation > [WARNING] SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for > further details. > [WARNING] Exception in thread "main" > org.apache.cxf.tools.common.ToolException: > java.lang.StringIndexOutOfBoundsException: String index out of range: 56 > [WARNING] at > org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:410) > [WARNING] at > org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:105) > [WARNING] at > org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:113) > [WARNING] at > org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:86) > [WARNING] at > org.apache.cxf.maven_plugin.wsdl2java.ForkOnceWSDL2Java.main(ForkOnceWSDL2Java.java:51) > [WARNING] Caused by: java.lang.StringIndexOutOfBoundsException: String index > out of range: 56 > [WARNING] at > java.base/java.lang.StringLatin1.charAt(StringLatin1.java:47) > [WARNING] at java.base/java.lang.String.charAt(String.java:693) > [WARNING] at > com.sun.codemodel.JCommentPart.escape(JCommentPart.java:133) > [WARNING] at com.sun.codemodel.JCommentPart.format(JCommentPart.java:90) > [WARNING] at > com.sun.codemodel.JDocComment.generate(JDocComment.java:150) > [WARNING] at com.sun.codemodel.JFormatter.g(JFormatter.java:320) > [WARNING] at com.sun.codemodel.JMethod.declare(JMethod.java:390) > [WARNING] at com.sun.codemodel.JFormatter.d(JFormatter.java:346) > [WARNING] at > com.sun.codemodel.JDefinedClass.declareBody(JDefinedClass.java:803) > [WARNING] at > com.sun.codemodel.JDefinedClass.declare(JDefinedClass.java:774) > [WARNING] at com.sun.codemodel.JFormatter.d(JFormatter.java:346) > [WARNING] at com.sun.codemodel.JFormatter.write(JFormatter.java:420) > [WARNING] at com.sun.codemodel.JPackage.build(JPackage.java:422) > [WARNING] at com.sun.codemodel.JCodeModel.build(JCodeModel.java:328) > [WARNING] at com.sun.codemodel.JCodeModel.build(JCodeModel.java:318) > [WARNING] at > org.apache.cxf.tools.wsdlto.databinding.jaxb.JAXBDataBinding.generate(JAXBDataBinding.java:844) > [WARNING] at > org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.generateTypes(WSDLToJavaContainer.java:717) > [WARNING] at > org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.processWsdl(WSDLToJavaContainer.java:259) > [WARNING] at > org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:156) > [WARNING] at > org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:402) > [WARNING] ... 4 more > [INFO] > ------------------------------------------------------------------------ > [INFO] BUILD FAILURE > [INFO] > ------------------------------------------------------------------------ > [INFO] Total time: 9.090 s > [INFO] Finished at: 2021-02-10T14:57:32-07:00 > [INFO] > ------------------------------------------------------------------------ > [ERROR] Failed to execute goal > org.apache.cxf:cxf-codegen-plugin:3.4.2:wsdl2java (generate-sources-test) on > project test-cxf-codegen: > [ERROR] Exit code: 1 > [ERROR] Command line was: cmd.exe /X /C ""c:\Program > Files\Java\jdk-11.0.8\bin\java.exe" > --add-exports=jdk.xml.dom/org.w3c.dom.html=ALL-UNNAMED > --add-exports=java.xml/com.sun.org.apache.xerces.internal.impl.xs=ALL-UNNAMED > --add-opens java.base/java.security=ALL-UNNAMED --add-opens > java.base/java.net=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED > --add-opens java.base/java.util=ALL-UNNAMED --add-opens > java.base/java.util.concurrent=ALL-UNNAMED -jar > C:\Users\gmccone\AppData\Local\Temp\cxf-tmp-7337572184428678393\cxf-codegen10540664752677402074.jar > > C:\Users\gmccone\AppData\Local\Temp\cxf-tmp-7337572184428678393\cxf-w2j11172612224607807272args" > {code} > Attached is the test WSDL that exhibits the error. > -- This message was sent by Atlassian Jira (v8.3.4#803005)