[ 
https://issues.apache.org/jira/browse/AXIS2-6014?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Robert Lazarski closed AXIS2-6014.
----------------------------------
    Resolution: Fixed

> 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: java-dev-unsubscr...@axis.apache.org
For additional commands, e-mail: java-dev-h...@axis.apache.org

Reply via email to