[
https://issues.apache.org/jira/browse/AXIS2-6014?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Robert Lazarski updated AXIS2-6014:
-----------------------------------
Fix Version/s: 1.8.1
> Error while generating java code from WSDL
> ------------------------------------------
>
> Key: AXIS2-6014
> URL: https://issues.apache.org/jira/browse/AXIS2-6014
> Project: Axis2
> Issue Type: Bug
> Affects Versions: 1.8.0
> Environment: Axis 1.8.0 (adb databinding)
> OpenJDK 17
> Maven 3.8.1
> Eclipse 2021-09
> Reporter: David
> Priority: Major
> Fix For: 1.8.1
>
>
> I'm trying to generate java code from a WSDL file with Axis 1.8.0 and ADB
> databinding. When running axis2-wsdl2code:wsdl2code via maven, I get the
> following error:
> {noformat}
> [WARNING] Exception occurred while trying to pretty print file
> C:\Dev\ServiceStub.java
> com.google.googlejavaformat.java.FormatterException: 848:107: error: integer
> number too large: 9223372036854775807
> at
> com.google.googlejavaformat.java.FormatterException.fromJavacDiagnostics(FormatterException.java:50)
> at com.google.googlejavaformat.java.Formatter.format(Formatter.java:151)
> at
> com.google.googlejavaformat.java.Formatter.getFormatReplacements(Formatter.java:258)
> at
> com.google.googlejavaformat.java.Formatter.formatSource(Formatter.java:234)
> at
> com.google.googlejavaformat.java.Formatter.formatSource(Formatter.java:202)
> at
> com.google.googlejavaformat.java.Formatter.formatSource(Formatter.java:189)
> at org.apache.axis2.util.PrettyPrinter.prettify(PrettyPrinter.java:46)
> at
> org.apache.axis2.wsdl.codegen.extension.JavaPrettyPrinterExtension.prettifyFile(JavaPrettyPrinterExtension.java:43)
> at
> org.apache.axis2.wsdl.codegen.extension.AbstractPrettyPrinterExtension.prettify(AbstractPrettyPrinterExtension.java:54)
> at
> org.apache.axis2.wsdl.codegen.extension.AbstractPrettyPrinterExtension.engage(AbstractPrettyPrinterExtension.java:37)
> at
> org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:157)
> at
> org.apache.axis2.maven2.wsdl2code.AbstractWSDL2CodeMojo.execute(AbstractWSDL2CodeMojo.java:362)
> at
> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
> at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210)
> at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156)
> at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148)
> at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
> at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
> at
> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)
> at
> org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)
> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)
> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)
> at org.apache.maven.cli.MavenCli.execute(MavenCli.java:957)
> at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:289)
> at org.apache.maven.cli.MavenCli.main(MavenCli.java:193)
> at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)
> at
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
> at
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.base/java.lang.reflect.Method.invoke(Method.java:568)
> at
> org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282)
> at
> org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225)
> at
> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)
> at
> org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)
> {noformat}
> Even though the build ends with success, the ServiceStub.java file does not
> appear among the generated files.
> When using Axis 1.7.9, ServiceStub is generated but does not compile. Here
> are the faulty lines:
> {code:java}
> if ((1 <= java.lang.String.valueOf(param).length()) &&
> (java.lang.String.valueOf(param).length() <=
> 9223372036854775807) &&
>
> (org.apache.axis2.databinding.utils.ConverterUtil.convertToString(
> param).matches("(\\s*\\S\\s*)+"))) {{code}
> The compilation error being:
> {noformat}
> The literal 9223372036854775807 of type int is out of range{noformat}
> I pinpointed the issue to this part of the WSDL:
> {code:xml}
> <xs:simpleType name="nonEmptyString">
> <xs:restriction base="xs:string">
> <xs:minLength value="1"/>
> <xs:pattern value="(\s*\S\s*)+"/>
> </xs:restriction>
> </xs:simpleType>{code}
> No maxLength is defined but during the code generation, Axis2 apparently
> assumes the max to be Long.MAX_VALUE without properly suffixing this value by
> L.
> I managed to get around this issue by defining a maxLength <=
> Integer.MAX_VALUE in my wsdl but I'd rather not do that since this WSDL does
> not belong to us.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]