Jürgen Bockhorn created CXF-5340:
------------------------------------

             Summary: IDLToWSDL crashes with certain idl constructs
                 Key: CXF-5340
                 URL: https://issues.apache.org/jira/browse/CXF-5340
             Project: CXF
          Issue Type: Bug
          Components: CORBA Binding
    Affects Versions: 2.7.7
         Environment: JAVA7 / Windows 7
            Reporter: Jürgen Bockhorn
            Priority: Blocker
         Attachments: CorbaBugIdlRepro.zip

First Problem: 
using a         const string NOT_CONN_LOCAL = "local";
in the IDL leads to an exception:
{code}
line 4:39: unexpected token: local
 ( module repro ( const string NOT_CONN_LOCAL ) ( exception msgError unsigned 
long m_number string m_message ) ( enum Reply positive negative dont_use_3 
dont_us
e_4 dont_use_5 errTimeout errError cancelled ) ( interface Service { ( getFirst 
Reply ( in Reply rep ) ( out Reply reply ) ( raises msgError ) ) } ) )
Error : org.apache.cxf.tools.common.ToolException

org.apache.cxf.tools.common.ToolException: 
org.apache.cxf.tools.common.ToolException
        at 
org.apache.cxf.tools.corba.processors.idl.IDLToWSDLProcessor.process(IDLToWSDLProcessor.java:89)
        at 
org.apache.cxf.tools.corba.processors.idl.IDLToWSDLProcessor.process(IDLToWSDLProcessor.java:80)
        at org.apache.cxf.tools.corba.IDLToWSDL.execute(IDLToWSDL.java:75)
        at 
org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:103)
        at 
org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:58)
        at 
org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:40)
        at org.apache.cxf.tools.corba.IDLToWSDL.run(IDLToWSDL.java:164)
        at 
org.apache.cxf.maven_plugin.corba.maven.plugins.IDLToWSDLPlugin.execute(IDLToWSDLPlugin.java:77)
        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)
        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.cxf.tools.common.ToolException
        at 
org.apache.cxf.tools.corba.processors.idl.IDLToWSDLProcessor.parseIDL(IDLToWSDLProcessor.java:221)
        at 
org.apache.cxf.tools.corba.processors.idl.IDLToWSDLProcessor.process(IDLToWSDLProcessor.java:87)
        ... 28 more
{code}
The error only occurs if the content of the string is 'local' !

Second Problem:
Please change repro.idl in the pom to repro1.idl.

Using unsigned long leads to the following exception:
{code}
 ( module repro ( const string NOT_CONN_LOCAL NOTlocal ) ( exception msgError 
unsigned long m_number string m_message ) ( enum Reply positive negative 
dont_use_
3 dont_use_4 dont_use_5 errTimeout errError cancelled ) ( interface Service { ( 
getFirst Reply ( in Reply rep ) ( out Reply reply ) ( raises msgError ) ) } ) )
Error : org.apache.cxf.tools.common.ToolException: [ScopedNameVisitor:  Corba 
type {http://cxf.apache.org/bindings/corba/idl/repro1}repro.msgError.m_number 
not
found in typeMap]

org.apache.cxf.tools.common.ToolException: 
org.apache.cxf.tools.common.ToolException: [ScopedNameVisitor:  Corba type 
{http://cxf.apache.org/bindings/corba/idl/
repro1}repro.msgError.m_number not found in typeMap]
        at 
org.apache.cxf.tools.corba.processors.idl.IDLToWSDLProcessor.process(IDLToWSDLProcessor.java:89)
        at 
org.apache.cxf.tools.corba.processors.idl.IDLToWSDLProcessor.process(IDLToWSDLProcessor.java:80)
        at org.apache.cxf.tools.corba.IDLToWSDL.execute(IDLToWSDL.java:75)
        at 
org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:103)
        at 
org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:58)
        at 
org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:40)
        at org.apache.cxf.tools.corba.IDLToWSDL.run(IDLToWSDL.java:164)
        at 
org.apache.cxf.maven_plugin.corba.maven.plugins.IDLToWSDLPlugin.execute(IDLToWSDLPlugin.java:77)
        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)
        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.cxf.tools.common.ToolException: [ScopedNameVisitor:  
Corba type 
{http://cxf.apache.org/bindings/corba/idl/repro1}repro.msgError.m_number n
ot found in typeMap]
        at 
org.apache.cxf.tools.corba.processors.idl.IDLToWSDLProcessor.parseIDL(IDLToWSDLProcessor.java:221)
        at 
org.apache.cxf.tools.corba.processors.idl.IDLToWSDLProcessor.process(IDLToWSDLProcessor.java:87)
        ... 28 more
{code}

Changing the IDL is no option because it is an external service.

Thx 

Jürgen



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to