You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Grzegorz Grzybek (JIRA)" <ji...@apache.org> on 2013/10/24 12:21:02 UTC
[jira] [Commented] (CXF-5340) IDLToWSDL crashes with certain idl
constructs
[ https://issues.apache.org/jira/browse/CXF-5340?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13804034#comment-13804034 ]
Grzegorz Grzybek commented on CXF-5340:
---------------------------------------
Hello - here's a pull request: https://github.com/apache/cxf/pull/9.
The problem was that {{"literal"}} was first recognized as {{STRING_LITERAL}} but then replaced by {{LITERAL_local}}.
As for {{exception}} IDL construct, the types of members were not recognized properly - it was sufficient to do what {{org.apache.cxf.tools.corba.processors.idl.StructVisitor.visitStructMembers()}} does:
{code:java}
AST memberNode = TypesUtils.getCorbaTypeNameNode(memberTypeNode);
{code}
regards
Grzegorz Grzybek
> 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)