axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mickael Pouliquen (JIRA)" <>
Subject [jira] [Created] (AXIS2-5899) wsdl2java/xmlbeans issue on *nix
Date Thu, 16 Nov 2017 10:38:00 GMT
Mickael Pouliquen created AXIS2-5899:

             Summary: wsdl2java/xmlbeans issue on *nix
                 Key: AXIS2-5899
             Project: Axis2
          Issue Type: Bug
          Components: codegen
    Affects Versions: 1.7.6, 1.4.1
         Environment: linux (debian/redhat)
all axis2 versions impacted

            Reporter: Mickael Pouliquen

The wsdl2java command with xmlbeans code generation applied to a complex wsdl with schemas
redefinitions FAILS on LINUX os but NOT on WINDOWS os: -o out -d xmlbeans -or -noBuildXML -uri sample.wsdl
... error on *nix platforms only

The issue was initially produced on axis2-1.4.1, reproduced on latest version axis2-1.7.6

This platform specific issue comes from the method 'getFileFromURI' in "./modules/xmlbeans/src/org/apache/axis2/xmlbeans/":
the method remove the prefix of the url/uri-like path param. It works on windows, but on unix
it removes the root slash.

        private File getFileFromURI(String path) {
                            path = path.substring(8);
            } else if(path.startsWith("file://")){
                path = path.substring(7);
            } else if(path.startsWith("file:/")){
                path = path.substring(6);
            return new File(path);

'file:/drive:/dir1/dir2/file1' becomes 'drive:/dir1/dir2/file1' => OK
'file:/dir1/dir2/file1' becomes 'dir1/dir2/file1' => KO

A fix could be:

private File getFileFromURI(String path) {
            //on windows, will remove the 'file:' prefix and ALL slashes
            //on unix, will remove the 'file:' prefix and keep the ROOT slash
            int offset = "/".equals(File.separator) ? 1 : 0; 
                            path = path.substring(8-offset);
            } else if(path.startsWith("file://")){
                path = path.substring(7-offset);
            } else if(path.startsWith("file:/")){
                path = path.substring(6-offset);
            return new File(path);

This message was sent by Atlassian JIRA

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message