Details
Description
If the IDL contains the CORBA 3.0 keyword 'typeprefix', idl2wsdl fails with a NullPointerException:
idl2wsdl -verbose -o wsdl/ test.idl idl2wsdl - Apache CXF 2.3.x-fuse-SNAPSHOT ( typeprefix Test fusesource.com ) 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:88) at org.apache.cxf.tools.corba.processors.idl.IDLToWSDLProcessor.process(IDLToWSDLProcessor.java:79) 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.tools.corba.IDLToWSDL.main(IDLToWSDL.java:172) Caused by: org.apache.cxf.tools.common.ToolException at org.apache.cxf.tools.corba.processors.idl.IDLToWSDLProcessor.parseIDL(IDLToWSDLProcessor.java:220) at org.apache.cxf.tools.corba.processors.idl.IDLToWSDLProcessor.process(IDLToWSDLProcessor.java:86) ... 7 more Caused by: java.lang.NullPointerException at org.apache.cxf.tools.corba.processors.idl.TypeDclVisitor.visit(TypeDclVisitor.java:77) at org.apache.cxf.tools.corba.processors.idl.DefinitionVisitor.visit(DefinitionVisitor.java:94) at org.apache.cxf.tools.corba.processors.idl.WSDLASTVisitor.visit(WSDLASTVisitor.java:127) at org.apache.cxf.tools.corba.processors.idl.IDLToWSDLProcessor.parseIDL(IDLToWSDLProcessor.java:212) ... 8 more Error : org.apache.cxf.tools.common.ToolException
To reproduce use attached test.idl and run
idl2wsdl -verbose -o wsdl/ test.idl
Although typeprefix is a keyword added in CORBA 3.0 spec only, we should at the very least raise a meaningful error message that typeprefix is not supported right now. Or even better, handle this keyword correctly.