Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-1446

null pointer in java2wsld

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 2.0.4
    • 2.0.5
    • Tooling
    • None
    • ubuntu linux

    Description

      The default output directory lookup for java2wsdl is not optimal.

      If I have a web interface that looks like,

      @WebService(name="service",
      targetNamespace="http:\\\\soap.example.com",
      wsdlLocation="http:\\\\soap.example.com\trinityService?wsdl")
      public interface Example {

      And run java2wsdl without the -d param, I get an exception,

      java.lang.NullPointerException
      at java.io.File.<init>(File.java:194)
      at org.apache.cxf.tools.java2wsdl.processor.JavaToProcessor.getOutputDir(JavaToProcessor.java:196)
      at org.apache.cxf.tools.java2wsdl.processor.JavaToProcessor.process(JavaToProcessor.java:95)
      at org.apache.cxf.tools.java2wsdl.JavaToWSDLContainer.execute(JavaToWSDLContainer.java:58)
      at org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:83)
      at org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:52)
      at org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:39)
      at org.apache.cxf.tools.java2wsdl.JavaToWSDL.run(JavaToWSDL.java:74)
      at org.apache.cxf.tools.java2wsdl.JavaToWSDL.main(JavaToWSDL.java:42)
      at t.Run.main(Run.java:7)
      JavaToWSDL Error : null

      org.apache.cxf.tools.common.ToolException
      at org.apache.cxf.tools.java2wsdl.JavaToWSDLContainer.execute(JavaToWSDLContainer.java:75)
      at org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:83)
      at org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:52)
      at org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:39)
      at org.apache.cxf.tools.java2wsdl.JavaToWSDL.run(JavaToWSDL.java:74)
      at org.apache.cxf.tools.java2wsdl.JavaToWSDL.main(JavaToWSDL.java:42)
      at t.Run.main(Run.java:7)

      This is caused by JavaToProcessor,

      protected File getOutputDir(File wsdlLocation) {
      String dir = (String)context.get(ToolConstants.CFG_OUTPUTDIR);
      if (dir == null) {
      if (wsdlLocation == null)

      { dir = "./"; }

      else

      { dir = wsdlLocation.getParent(); }

      }
      return new File(dir);
      }

      dir is null, since no output dir was specified. The wsdl location param is a File with path, "http:
      soap.example.com service?wsdl", and this has no valid parent.

      I would not expect the wsld location specified in @WebService to be a valid output directory for java2wsdl. wsdl location will usually be an http url.

      Attachments

        Activity

          People

            dkulp Daniel Kulp
            sbridges Sean Bridges
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: