Lucee 6.2.0.321 missing org.apache.commons.net in version 3.3.0

Hi,

The automigrate route from the original lucee-server.xml yielded a very similar result and produced a number of additional config entries that I think are mostly unnecessary - probably stuff that’s been in there from v4ish times. So I went back to the original equally broken config and compared this to the default config created by Lucee when starting up with no .CFConfig.json file.

Ignoring stuff like the datasources and helped by your hint at some issue with Axis 1 webservices, I did notice this config bit near the end of the file between “labels” and “suppressWhitespaceBeforeArgument”:

"webservice": {
    "class": "org.lucee.extension.axis.Axis1Handler",
    "bundleName": "org.lucee.axis.extension",
    "bundleVersion": "1.4.0.37"
},

When I remove this, the Admin UI loads perfectly, no more error log lines requesting the missing org.apache.commons.net 3.3.0 bundle. When I add it back in, things turn back to sluggish again and the errors are back in the application.log, so that’s definitely it, this block is causing the issues. I checked with the Version that was migrated from lucee-server.xml and it does have a similar block, albeit under a differen bundleName:

  "webservice": {
    "bundleName": "org.lucee.axis.extension",
    "bundleVersion": "1.4.0.37",
    "class": "org.lucee.extension.axis.Axis1Handler"
  }

Anyway, while getting rid of that does solve the problem, we do still need to interact with a couple of legacy SOAP webservice endpoints; we can migrate some of them ourselves, but there are two fairly important services we still need that are not under our control and the party that is in control does not offer any more modern alternative and I very much doubt that they would create one for us. So I assume that we will indeed be needing the Axis1 extension.

After all the fiddling, there was more stuff that was broken (i.e. clicking on any of the extension brought up error messages like “In the OSGi Bundle with the name [esapi.extension] and the version [2.2.4.18] was no class with name [org.lucee.extension.esapi.functions.SanitizeHTML] found”), so I deleted all of the /var/lucee directory, recreated the empty folder and dropped the fixed .CFConfig.json back into /var/lucee/config/server/lucee-server/context/.CFConfig.json and started Tomcat again.

I am back on Lucee 6.2.0.321 now; I can install additional extension like the Lucee Log Viewer, but attempting to install the stable version of Axis 1 Webservices (1.4.0.37) gives an error message:

Unable to resolve org.lucee.axis.extension [104](R 104.0): missing requirement [org.lucee.axis.extension [104](R 104.0)] osgi.wiring.bundle; (&(osgi.wiring.bundle=org.lucee.axis)(bundle-version>=1.4.0.0006L)) [caused by: Unable to resolve org.lucee.axis [105](R 105.0): missing requirement [org.lucee.axis [105](R 105.0)] osgi.wiring.bundle; (&(osgi.wiring.bundle=org.apache.commons.net)(bundle-version>=3.3.0))] Unresolved requirements: [[org.lucee.axis.extension [104](R 104.0)] osgi.wiring.bundle; (&(osgi.wiring.bundle=org.lucee.axis)(bundle-version>=1.4.0.0006L))]

Choosing the 1.4.0.38-SNAPSHOT version instead was successful however. No errors in application.log either.

TL/DR: When coming from a previous Lucee version that used to make use of Axis1, check .CFConfig.json for a block like

"webservice": {
    "class": "org.lucee.extension.axis.Axis1Handler",
    "bundleName": "org.lucee.axis.extension",
    "bundleVersion": "1.4.0.37"
},

(bundleName may vary). Remove this block, save the .CFConfig.json somewhere, stop Tomcat, delete the deployment directory, recreate the directory structure and set approproate permissions, drop the fixed .CFConfig.json back into the /var/lucee/config/server/lucee-server/context/.CFConfig.json path, start Tomcat and if you’re sure that you still need Axis1, do install the latest 1.4.0.38-SNAPSHOT version.