cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brad L. Ragsdale (JIRA)" <j...@apache.org>
Subject [jira] Updated: (CXF-2108) idl2wsdl NullPointerException at typedef with sequence of (named) fixed array
Date Thu, 12 Mar 2009 10:30:50 GMT

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

Brad L. Ragsdale updated CXF-2108:
----------------------------------

    Estimated Complexity: Moderate  (was: Advanced)
                Priority: Minor  (was: Critical)
             Description: 
The idl2wsdl-tool throws a NullPointerException at
org.apache.cxf.tools.corba.processors.idl.SimpleTypeSpecVisitor.visit(SimpleTypeSpecVisitor.java:75)

when trying to convert following valid CORBA idl to wsdl:

-- Begin IDL
module idl2wsdlnullpointer {

typedef string foo[1];
typedef sequence<foo> bar;

};
-- END IDL

Line 75 in the relevant source file contains: visitor.visit(node);
The exception occurs because the visitor is still null after all three visitors failed to
accept above node.

I doublechecked fuse-services-framework-2.1.3.3. Same issue.

Workaround
-----------------

The following workaround does break neither client nor server code and allows the idl2wsdl-tool
to fully generate a wsdl definition.

-- Begin IDL Workaround
module idl2wsdlnullpointer {

typedef sequence<string> foo;
typedef sequence<foo> bar;

};
-- END IDL
 
This workaround does not change generated Java ORB server-skeletons. It does however change
e.g. generated Python client-stubs, thereby maybe affecting ORB/IIOP performance negatively
(probably only marginally).


  was:
The following valid CORBA IDL produces a NullPointerException 
at org.apache.cxf.tools.corba.processors.idl.SimpleTypeSpecVisitor.visit(SimpleTypeSpecVisitor.java:75)

-- Begin IDL
module idl2wsdlnullpointer {

typedef string foo[1];
typedef sequence<foo> bar;

};
-- END IDL

Line 75: visitor.visit(node);
The exception occurs because the visitor is still null after all three visitors failed to
accept above node. 

Usage background: 
--------------------------

Alas, this bug is a CXF-usage-blocker for us, since this is a very common typedef in our project
with a fixed, pure python-based CORBA-client.  Right now we have a corresponding pure CORBA-server
deployed by a simple JAR.

Our server-functionality is now being moved to an J2EE server. While doing so, we'd love to
step up to a CXF/JAX-WS server.

For this we'd loosely couple server functionality with CORBA by attaching an CXF-JCA CORBA-endpoint
to an inbound-mdb-CXF-dispatcher.

Without  valid idl2wsdl-tooling this path seems blocked with no currently known workaround.

I doublechecked fuse-services-framework-2.1.3.3. Same issue.


Thanks for looking into this! 




      Remaining Estimate: 4h  (was: 48h)
       Original Estimate: 4h  (was: 48h)

> idl2wsdl NullPointerException at typedef with sequence of (named) fixed array
> -----------------------------------------------------------------------------
>
>                 Key: CXF-2108
>                 URL: https://issues.apache.org/jira/browse/CXF-2108
>             Project: CXF
>          Issue Type: Bug
>          Components: Tooling
>    Affects Versions: 2.1.4
>            Reporter: Brad L. Ragsdale
>            Priority: Minor
>         Attachments: idl2wsdlbug.idl
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> The idl2wsdl-tool throws a NullPointerException at
> org.apache.cxf.tools.corba.processors.idl.SimpleTypeSpecVisitor.visit(SimpleTypeSpecVisitor.java:75)

> when trying to convert following valid CORBA idl to wsdl:
> -- Begin IDL
> module idl2wsdlnullpointer {
> typedef string foo[1];
> typedef sequence<foo> bar;
> };
> -- END IDL
> Line 75 in the relevant source file contains: visitor.visit(node);
> The exception occurs because the visitor is still null after all three visitors failed
to accept above node.
> I doublechecked fuse-services-framework-2.1.3.3. Same issue.
> Workaround
> -----------------
> The following workaround does break neither client nor server code and allows the idl2wsdl-tool
to fully generate a wsdl definition.
> -- Begin IDL Workaround
> module idl2wsdlnullpointer {
> typedef sequence<string> foo;
> typedef sequence<foo> bar;
> };
> -- END IDL
>  
> This workaround does not change generated Java ORB server-skeletons. It does however
change e.g. generated Python client-stubs, thereby maybe affecting ORB/IIOP performance negatively
(probably only marginally).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message