I’ve been doing some Lucee 7 testing on our product.
I found that producing webservices is not working on my development machine where I’m using CommandBox that comes with Undertow server. If I use Lucee Windows Installer that comes with Tomcat and install itit works normally. I believe it is an issue regarding javax => jakarta migration.
Example webservice.cfc that should be run in browser /webservice.cfc?wsdl
component {
remote string function sayHello() {
return "hello #now()#";
}
}
I got stackoverflow error that appears in onError method also cannot be dumped … only the exception message:
Lucee detected a missing javax class: javax.servlet.ServletContext This typically occurs when running Lucee 7 on a Jakarta-based servlet container (for example Tomcat 10+) with extensions that were compiled for javax.servlet APIs. SOLUTION: Update your extensions to Jakarta-compatible versions. Check for updated versions of your extensions (Redis, Lucene, etc.) that support Jakarta EE.
public void function onError(required any exception, string eventName="") output=true {
writeDump(var=arguments.exception.message, label="arguments.exception.message");
abort;
}
Is Tomcat 10.1+ really required to use Lucee 7 according to documentation?
- Jakarta EE: Full migration from javax to jakarta namespace (requires Tomcat 10.1+)
What can I do?
My stack
OS: Windows 11
Java Version: Eclipse Adoptium 21.0.8
Tomcat Version: 11.0.22
WildFly / Undertow Version: 2.3.21.Final
Lucee Version: 7.0.4.34
Axis 1 Webservices for Jakarta EE: 1.5.0.6