Uploaded image for project: 'Axis2'
  1. Axis2
  2. AXIS2-5899

wsdl2java/xmlbeans issue on *nix

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 1.4.1, 1.7.6
    • None
    • codegen
    • None
    • linux (debian/redhat)
      all axis2 versions impacted

    Description

      The wsdl2java command with xmlbeans code generation applied to a complex wsdl with schemas redefinitions FAILS on LINUX os but NOT on WINDOWS os:

      wsdl2java.sh -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/CodeGenerationUtility.java": 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) {
      if(path.startsWith("file:///"))

      { 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);
      }

      Exemple,
      '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;
      if(path.startsWith("file:///"))

      { 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);
      }

      Attachments

        Activity

          People

            robertlazarski Robert Lazarski
            mpo22 Mickael Pouliquen
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: