Axis 1 Webservices Extension - 1.4.0.38 published

The 1.4.0.38-SNAPSHOT has been promoted to a stable release (i.e. no code changes)

If you are using webservices with Lucee 6.2, you’ll need to update to this version, as well as the latest 6.2.1 RC which includes an important fix required for webservices to function

https://luceeserver.atlassian.net/browse/LDEV-5475

1 Like

I think there may be something broken with the stable release of Axis 1 1.4.0.38. I did the upgrade from 1.4.0.38-SNAPSHOT to 1.4.0.38 and everything was fine - until I restarted tomcat10. Then the previous behaviour resurfaced, i.e. admin backend behaving extremely sluggish and error messages complaining about missing org.apache.commons.net-3.3.0.jar.

So I deleted

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

from .CFConfig.json and restarted tomcat. Error messages disappeared. I then tried to immediately install Axis 1 Webservices Extension Release 1.4.0.38 - this fails with an error message in the Admin UI:

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

lucee.runtime.exp.NativeException: Unable to resolve org.lucee.axis.extension [83](R 83.0): missing requirement [org.lucee.axis.extension [83](R 83.0)] osgi.wiring.bundle; (&(osgi.wiring.bundle=org.lucee.axis)(bundle-version>=1.4.0.0006L)) [caused by: Unable to resolve org.lucee.axis [84](R 84.0): missing requirement [org.lucee.axis [84](R 84.0)] osgi.wiring.bundle; (&(osgi.wiring.bundle=org.apache.commons.net)(bundle-version>=3.3.0))] Unresolved requirements: [[org.lucee.axis.extension [83](R 83.0)] osgi.wiring.bundle; (&(osgi.wiring.bundle=org.lucee.axis)(bundle-version>=1.4.0.0006L))] at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4398) at org.apache.felix.framework.Felix.startBundle(Felix.java:2308) at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:1006) at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:992) at lucee.loader.osgi.BundleUtil.start(BundleUtil.java:112) at lucee.runtime.osgi.OSGiUtil._start(OSGiUtil.java:1489) at lucee.runtime.osgi.OSGiUtil._startIfNecessary(OSGiUtil.java:1440) at lucee.runtime.osgi.OSGiUtil.startIfNecessary(OSGiUtil.java:1432) at lucee.runtime.osgi.OSGiUtil._loadBundle(OSGiUtil.java:740) at lucee.runtime.osgi.OSGiUtil.loadBundle(OSGiUtil.java:678) at lucee.runtime.osgi.OSGiUtil$BundleDefinition.getBundle(OSGiUtil.java:2103) at lucee.commons.lang.ClassUtil.loadClassByBundle(ClassUtil.java:184) at lucee.commons.lang.ClassUtil.loadClassByBundle(ClassUtil.java:168) at lucee.transformer.library.ClassDefinitionImpl.getClazz(ClassDefinitionImpl.java:211) at lucee.transformer.library.ClassDefinitionImpl.getClazz(ClassDefinitionImpl.java:203) at lucee.runtime.config.ConfigAdmin.setClass(ConfigAdmin.java:6808) at lucee.runtime.config.ConfigAdmin._updateWebserviceHandler(ConfigAdmin.java:2031) at lucee.runtime.config.ConfigAdmin.updateRHExtension(ConfigAdmin.java:5071) at lucee.runtime.config.ConfigAdmin.updateRHExtension(ConfigAdmin.java:4766) at lucee.runtime.config.ConfigAdmin._updateRHExtension(ConfigAdmin.java:4746) at lucee.runtime.tag.Admin.doUpdateRHExtension(Admin.java:4340) at lucee.runtime.tag.Admin._doStartTag(Admin.java:757) at lucee.runtime.tag.Admin.doStartTag(Admin.java:359) at ext_applications_cfm184$cf.call(/admin/ext.applications.cfm:57) at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:1112) at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:1006) at lucee.runtime.PageContextImpl.doInclude(PageContextImpl.java:987) at web_cfm$cf.call_000007(/admin/web.cfm:521) at web_cfm$cf.call(/admin/web.cfm:515) at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:1112) at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:1006) at lucee.runtime.PageContextImpl.doInclude(PageContextImpl.java:987) at index_cfm$cf.call(/admin/index.cfm:3) at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:1112) at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:1006) at lucee.runtime.listener.ModernAppListener._onRequest(ModernAppListener.java:213) at lucee.runtime.listener.ModernAppListener.onRequest(ModernAppListener.java:100) at lucee.runtime.PageContextImpl.execute(PageContextImpl.java:2810) at lucee.runtime.PageContextImpl._execute(PageContextImpl.java:2797) at lucee.runtime.PageContextImpl.executeCFML(PageContextImpl.java:2768) at lucee.runtime.engine.Request.exe(Request.java:45) at lucee.runtime.engine.CFMLEngineImpl._service(CFMLEngineImpl.java:1109) at lucee.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:1066) at lucee.loader.engine.CFMLEngineWrapper.serviceCFML(CFMLEngineWrapper.java:97) at lucee.loader.servlet.jakarta.CFMLServlet.service(CFMLServlet.java:49) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:663) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Thread.java:1583) Caused by: org.osgi.framework.BundleException: Unable to resolve org.lucee.axis.extension [83](R 83.0): missing requirement [org.lucee.axis.extension [83](R 83.0)] osgi.wiring.bundle; (&(osgi.wiring.bundle=org.lucee.axis)(bundle-version>=1.4.0.0006L)) [caused by: Unable to resolve org.lucee.axis [84](R 84.0): missing requirement [org.lucee.axis [84](R 84.0)] osgi.wiring.bundle; (&(osgi.wiring.bundle=org.apache.commons.net)(bundle-version>=3.3.0))] Unresolved requirements: [[org.lucee.axis.extension [83](R 83.0)] osgi.wiring.bundle; (&(osgi.wiring.bundle=org.lucee.axis)(bundle-version>=1.4.0.0006L))] ... 68 more

There’s a couple more stack traces caused by the installation attempt in application.log, essentially a number of these two:

"Severity","ThreadID","Date","Time","Application","Message"
"ERROR","http-nio-8080-exec-1","04/11/2025","13:15:59","OSGi","/var/lucee/config/server/lucee-server/bundles/org.apache.commons.net-3.3.0.jar;java.nio.file.NoSuchFileException: /var/lucee/config/server/lucee-server/bundles/org.apache.commons.net-3.3.0.jar
        at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:92)
        at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:106)
        at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
        at java.base/sun.nio.fs.UnixFileAttributeViews$Basic.readAttributes(UnixFileAttributeViews.java:55)
        at java.base/sun.nio.fs.UnixFileSystemProvider.readAttributes(UnixFileSystemProvider.java:171)
        at java.base/sun.nio.fs.LinuxFileSystemProvider.readAttributes(LinuxFileSystemProvider.java:99)
        at java.base/java.nio.file.Files.readAttributes(Files.java:1854)
        at java.base/java.util.zip.ZipFile$Source.get(ZipFile.java:1445)
        at java.base/java.util.zip.ZipFile$CleanableResource.<init>(ZipFile.java:724)
…
"ERROR","http-nio-8080-exec-1","04/11/2025","13:15:59","OSGi","The OSGi Bundle with name [org.apache.commons.net] in version [[3.3.0,]] for [org.lucee.axis:1.4.0.0006L] is not available locally [ (/var/lucee/config/server/lucee-server/bundles)] or from the update provider [ (https://update.lucee.org)].;org.osgi.framework.BundleException: The OSGi Bundle with name [org.apache.commons.net] in version [[3.3.0,]] for [org.lucee.axis:1.4.0.0006L] is not available locally [ (/var/lucee/config/server/lucee-server/bundles)] or from the update provider [ (https://update.lucee.org)].
        at lucee.runtime.osgi.OSGiUtil._loadBundle(OSGiUtil.java:823)
        at lucee.runtime.osgi.OSGiUtil.loadBundles(OSGiUtil.java:1557)
        at lucee.runtime.osgi.OSGiUtil._start(OSGiUtil.java:1474)
        at lucee.runtime.osgi.OSGiUtil._startIfNecessary(OSGiUtil.java:1440)
        at lucee.runtime.osgi.OSGiUtil.startIfNecessary(OSGiUtil.java:1432)
        at lucee.runtime.osgi.OSGiUtil._loadBundle(OSGiUtil.java:740)
        at lucee.runtime.osgi.OSGiUtil.loadBundles(OSGiUtil.java:1557)
        at lucee.runtime.osgi.OSGiUtil._start(OSGiUtil.java:1474)
        at lucee.runtime.osgi.OSGiUtil._startIfNecessary(OSGiUtil.java:1440)
        at lucee.runtime.osgi.OSGiUtil.startIfNecessary(OSGiUtil.java:1432)
        at lucee.runtime.osgi.OSGiUtil._loadBundle(OSGiUtil.java:740)
        at lucee.runtime.osgi.OSGiUtil.loadBundle(OSGiUtil.java:678)
        at lucee.runtime.osgi.OSGiUtil$BundleDefinition.getBundle(OSGiUtil.java:2103)
        at lucee.commons.lang.ClassUtil.loadClassByBundle(ClassUtil.java:184)

So I restarted tomcat, then I installed 1.4.0.38-SNAPSHOT - and this went fine, Lucee UI stayed responsive, even after another tomcat restart. Then, just to reproduce the issue, I upgraded the extension to the 1.4.0.38 release again and the issues reappeared.

So, running Lucee 6.2.1.112-RC I cannot install Axis 1 Release 1.4.0.38, I can however install Axis 1 1.4.0.38-SNAPSHOT. Upgrading from Axis 1 1.4.0.38-SNAPSHOT to Axis 1 1.4.0.38 Release breaks things again. Aaaand going back to 1.4.0.38-SNAPSHOT using the Admin UI and downgrading the extension puts everything back to working order again.

So I think that there must definitely be some difference between 1.4.0.38-SNAPSHOT and 1.4.0.38, the latter has the distinct feel of being one version behind instead of an upgrade.

oops, shit, seems there are some missing commits for the latest version… stick to the snapshot for now