[prev in list] [next in list] [prev in thread] [next in thread] 

List:       axis-dev
Subject:    [jira] [Created] (AXIS2-6014) Error while generating java code from WSDL
From:       "David (Jira)" <jira () apache ! org>
Date:       2021-11-19 16:49:00
Message-ID: JIRA.13412814.1637340506000.40818.1637340540016 () Atlassian ! JIRA
[Download RAW message or body]

David created AXIS2-6014:
----------------------------

             Summary: 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


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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic