Copy link to clipboard
Copied
Hello everyone, I have an error or detail when reloading with reload. I previously added the mapping in REST, but when I run it, it only shows me {} but it doesn't show me if I reload it or any status. I'm using the developer version CF25. Do you know if this is normal or if I need some other add-on?
Regards
Copy link to clipboard
Copied
Help us help you: when you say: "it only shows me {} but it doesn't show me if I reload it or any status", what is the "it"? Do you mean the cf admin or your caller to the rest api?
And are there any messages in any cf logs at the time you try this?
Finally, is this your first attempt to run the rest setup on cf2025? Or was it running until something changed? If not, was it running previously on another cf instance?
Sorry for only questions, but it may help us better propose possible solutions.
Copy link to clipboard
Copied
Thanks for responding Charlie . Yes, it's when I make the call to the REST API.
In the restservice.log log, it shows Rest application next started successfully,
and it's a new CF25 installation.
Regards
Copy link to clipboard
Copied
Hi Charlie!
I'm work with Jonas, the problme is when make a request only response with status code, the content never show, I try install ColdFusion 2025 on windows and it's response fine (with status code and content) but when install on Linux the content is empty.
Copy link to clipboard
Copied
Can you confirm if those Linux and Windows installs are at the same cf2025 update level, and which is it? And are you sure that the REST config in the cf admin is also the same between them, though altered for Windows vs Linux paths?
And have you guys checked the cf logs (in cf's cfusion/logs folder) to see if any error are tracked in ANY of the logs at the time of this problem?
Copy link to clipboard
Copied
Hi Charlie, good morning.
Yes, in both installations we have the same version of CF2025 Update Level: 03
Build Number: 331507
and on both servers it is configured in Rest with its operating system directory configuration, both Linux and Windows.
And the only thing I see in the restservice.log is "Rest application next started successfully." It doesn't show any other error logs.
Copy link to clipboard
Copied
Hi @JonasCarrillo and @LuisCarballo ,
What you describe does not sound normal. To help us understand more, could you please share:
Copy link to clipboard
Copied
Hi, of course, that's how we use it, and the code isn't too detailed. I'm waiting for your comments.
Best regards.
Root Path: /opt/coldfusion2025/cfusion/wwwroot/next_rest
Service Mapping: next
Copy link to clipboard
Copied
Thanks for that, @JonasCarrillo . I shall now use the information to show a working model of your REST application.
I am assuming that, in the REST Services page in the ColdFusion Administrator, the 'Root Path' and 'Service Mapping' are registered with the above values.
Let's call the component RestComponent.cfc. I shall assume it is in the directory /next_rest. I shall modify the CFC a little bit. I have moved the restInitApplication() call to onApplicationStart in Application.cfc. That is because you should avoid calling it on every request, as it can incur an overhead.
wwwroot/next_rest/RestComponent.cfc
component rest="true" restPath="reload" {
remote void function reloadService() httpMethod="GET" produces="application/json"{
try {
// Test to send execution into the catch-block
// x = 1/0;
restSetResponse({status: 200, content: {error:0, msg: 'Server has been updated successfully'}});
}
catch(any e) {
restSetResponse({status: 500, content: {error:1, msg: e.message & ' ' & e.detail}});
}
}
}
wwwroot/next_rest/Application.cfc
component output="false"
{
this.name = "RESTApp";
this.applicationTimeout = createTimespan(1,0,0,0);
this.sessionTimeout = createTimespan(0,0,20,0);
this.restsettings.skipCFCWithError = true;
public boolean function onApplicationStart() {
// Force initialization of REST app when the application starts
restInitApplication(getDirectoryFromPath(getCurrentTemplatePath()), "next");
return true;
}
public boolean function onRequestStart()
{
// When necessary, refresh the REST app by passing the URL variable 'refreshRestServices'
if(structKeyExists(url, "refreshRestServices"))
{
restInitApplication(getDirectoryFromPath(getCurrentTemplatePath()), "next");
}
return true;
}
}
wwwroot/next_rest/testRest.cfm
<!---
Launch this page to test the REST app.
Note how the URL begins with the mandatory '/rest', followed by the Service Mapping 'next', followed by the CFC's Restpath 'reload'.
--->
<cfhttp
url="http://localhost:8500/rest/next/reload?format=json"
method="GET"
port="8500"
result="rs">
</cfhttp>
<cfdump var = "#rs#">
Copy link to clipboard
Copied
Thank you very much for responding BKBK
I was running some tests with a fresh Coldfusion 25 Docker installation, and what we noticed is that when adding the REST service, it now shows us this error.
Waiting for your comments
Greetings
Reason: A MultiException has 2 exceptions. They are: 1. java.lang.NoClassDefFoundError: com/fasterxml/jackson/module/jakarta/xmlbind/JakartaXmlBindAnnotationIntrospector 2. java.lang.IllegalStateException: Unable to perform operation: post construct on org.glassfish.jersey.jackson.internal.FilteringJacksonJaxbJsonProvider
A MultiException has 2 exceptions. They are: 1. java.lang.NoClassDefFoundError: com/fasterxml/jackson/module/jakarta/xmlbind/JakartaXmlBindAnnotationIntrospector 2. java.lang.IllegalStateException: Unable to perform operation: post construct on org.glassfish.jersey.jackson.internal.FilteringJacksonJaxbJsonProvider
Copy link to clipboard
Copied
Sorry I didn't add it, in my local when adding the rest I don't get this error and it shows me the call to rest api without errors
Copy link to clipboard
Copied
So Jonas, today is your first mention of using docker. That might steer us toward different considerations. So it leads to a few questions, which I'll number to make it easy for you to reply to:
Those last 2 points are key because if you did either, then (just like with any cf instance) your problem could be caused by an error during the update of cf or of the packages. There are logs for that, within the container, like in any cf instance's cfusion/logs folder.
Then, too, if you DID run the update within the container (my point 3 above), then it may be that you need to "clear the felix-cache folder"-- again, like with any cf instance, and as is discussed in many of the cf update technotes.
This should NOT be necessary if you're using the latest image (and are NOT UPDATING it or its packages). But I bring it up since you now refer to using containers.
Sorry for so much to consider, beyond what also BKBK is proposing. Hopefully the correct answer for you will become clear soon.
Copy link to clipboard
Copied
Hi @JonasCarrillo and @LuisCarballo ,
Apparently, you are now asking a new question. What tests were you running when these new exceptions occurred?
Anyway, I have an idea. The MultiException comprising a java.lang.NoClassDefFoundError and java.lang.IllegalStateException suggests to me that there is a conflict in the dependencies of some packages.
One way to resolve the conflict is to clear the Felix cache, one of the suggestions given by Charlie. That usually gets ColdFusion to reload the packages and re-wire their dependencies.
The steps to follow to clear the Felix cache are:
Here is the test once again:
Copy link to clipboard
Copied
I am experiencing the same issue. I am using the official 2025 image adobecoldfusion/coldfusion2025:latest and if I try the steps you have provided get the following:
Application next could not be initialized. |
Reason: A MultiException has 2 exceptions. They are: 1. java.lang.NoClassDefFoundError: com/fasterxml/jackson/module/jakarta/xmlbind/JakartaXmlBindAnnotationIntrospector 2. java.lang.IllegalStateException: Unable to perform operation: post construct on org.glassfish.jersey.jackson.internal.FilteringJacksonJaxbJsonProvider |
Any help would be appreciated.
Copy link to clipboard
Copied
Hi @fantastic_fantasy7696 , as I said in my earlier post, I think the exception is caused by a conflict in the dependencies. To get ColdFusion to fix the problem, follow these steps:
Copy link to clipboard
Copied
I have cleared the felix cache and verified it is coldfusion 2025 update 4. I also followed all of the steps you have suggested. If I exec into the container I find no JakartaXmlBindAnnotationIntrospector class anywhere under the /opt/coldfusion/cfusion folder so maybe there is a package I need to install?
Thanks.
Copy link to clipboard
Copied
I downloaded the file jackson-module-jakarta-xmlbind-annotations-2.15.2.jar and put it in the /opt/coldfusion/cfusion/lib folder, stopped coldfusion, cleared the felix-cache, started coldfusion and the issue is resolved. Please let me know if there is a more official fix for this issue.
Thanks
Copy link to clipboard
Copied
I downloaded the file jackson-module-jakarta-xmlbind-annotations-2.15.2.jar and put it in the /opt/coldfusion/cfusion/lib folder, stopped coldfusion, cleared the felix-cache, started coldfusion and the issue is resolved. Please let me know if there is a more official fix for this issue.
By @fantastic_fantasy7696
Hi @fantastic_fantasy7696 , I have news on this. After some research, I found that jackson-module-jakarta-xmlbind-annotations-2.14.1.jar is more appropriate than jackson-module-jakarta-xmlbind-annotations-2.15.2.jar (your guess) or jackson-module-jakarta-xmlbind-annotations-2.17.3.jar (my guess). The reasoning is as follows.
Start by looking at the error message that you received:
A MultiException has 2 exceptions. They are: 1. java.lang.NoClassDefFoundError: com/fasterxml/jackson/module/jakarta/xmlbind/JakartaXmlBindAnnotationIntrospector 2. java.lang.IllegalStateException: Unable to perform operation: post construct on org.glassfish.jersey.jackson.internal.FilteringJacksonJaxbJsonProvider
The class "org.glassfish.jersey.jackson.internal.FilteringJacksonJaxbJsonProvider" comes from the library "jersey-media-json-jackson". The version of this library that is compatible with ColdFusion 2025 Update 4 is jersey-media-json-jackson-3.1.3.jar. This version is already present in ColdFusion 2025's /cfusion/lib directory, as you can verify.
Now, go to the page listing the official dependencies listing for org.glassfish.jersey.media:jersey-media-json-jackson:3.1.3.
There you will see that the correct and officially declared compatible version of jackson-module-jakarta-xmlbind-annotations for jersey-media-json-jackson-3.1.3.jar is:
jackson-module-jakarta-xmlbind-annotations-2.14.1.jar
Copy link to clipboard
Copied
@fantastic_fantasy7696 , thanks for following the steps and for reporting back. The fact that you continue to get the error suggests that there might be a bug in ColdFusion. I shall answer your question in a moment. But if this is a bug, then Adobe will have to look into it.
So, please report a ColdFusion bug. Also, if this is urgent for you, it will help to ask for advice from the Adobe ColdFusion Support team: cfsup[at]adobe.com.
To answer your question,
Copy link to clipboard
Copied
@fantastic_fantasy7696 , I am glad to hear the news.
Apparently, we were thinking about the same thing. I saw your last post after I submitted mine.
Copy link to clipboard
Copied
Guys, before we conclude there's a bug, note that bkbk found the class WAS there while @fantastic_fantasy7696 did not. That's seemingly significant. And no, you should NOT have needed to copy it in.
As you asked earlier today for the "more official fix", I'll ask the same questions I'd asked the original posters here, Jonas and Luis, who never replied. See my final July reply here. My suspicion is that you (and they) had done an update to cf within the container rather than using the latest image. (Again, just using the "latest" tag for the image doesn't guarantee you get the latest, if it had been cached by docker on your end. Doing a docker pull is one way to ensure you have the latest.)
But while back then my concern with that was to clear the felix-cache, since then I've learned of a different aspect that causes such errors, and that's when people do a "manual offline update", where they download the package zip, extractor, and cause cf to use it. Did you do that? And if so, did you REPLACE the current bundles/repo with it, or merge the zip into that?
Copy link to clipboard
Copied
I first pulled this image just 2 days ago and here is the output of the docker image inspect:
➜ ~ docker image inspect adobecoldfusion/coldfusion2025
[
{
"Id": "sha256:98f3a368aa0f71ad60fa61e74ab11d49605e8f4dda41403ca1bcaf112acc8621",
"RepoTags": [
"adobecoldfusion/coldfusion2025:latest"
],
"RepoDigests": [
"adobecoldfusion/coldfusion2025@sha256:3a1eb0285f64f27c9f8de1ad806f19a7e96fcd4bb8e33c649fc0556c9f424cbd"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2025-09-09T11:50:44.170407241Z",
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"45564/tcp": {},
"7071/tcp": {},
"8122/tcp": {},
"8500/tcp": {}
},
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
],
"Cmd": [
"start"
],
"Healthcheck": {
"Test": [
"CMD-SHELL",
"curl -f http://localhost:8500/ || exit 1"
],
"Interval": 60000000000,
"Timeout": 10000000000
},
"ArgsEscaped": true,
"Image": "",
"Volumes": null,
"WorkingDir": "/opt",
"Entrypoint": [
"/bin/bash",
"/opt/startup/start-coldfusion.sh"
],
"OnBuild": null,
"Labels": {
"builddate": "2025-09-09",
"description": "Adobe ColdFusion 2025 image",
"org.opencontainers.image.ref.name": "ubuntu",
"org.opencontainers.image.version": "24.04",
"platform": "Linux",
"product": "2025",
"type": "standalone",
"update": "4",
"version": "1.0"
}
},
"Architecture": "amd64",
"Os": "linux",
"Size": 484775840,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/a21f5646c91966e2e910107743c36a05b2597305e3c5ce32918fb897859e0c64/diff:/var/lib/docker/overlay2/249a846ac3332cefbc0372398e14bd95731e1084413ed32a4ef8026cc777789d/diff:/var/lib/docker/overlay2/f2287930d84e0b6979ffff61d1d161bbad0702835aa8084519b2656cdb19b8e7/diff:/var/lib/docker/overlay2/f58b842503f0a95d4639f5b72bf29c66e8e1d91167962faed17e00adbc1c67ad/diff:/var/lib/docker/overlay2/d41bbc41bf793f0eaecad39a857b6209e9e75d84d16cb71670e7d0346bbd18d9/diff:/var/lib/docker/overlay2/3d4ab9be8282430820b63b59930de662247c7958a96724120e126cf0f273a36f/diff:/var/lib/docker/overlay2/547b2e2a6f2c7fa83aaed11e820807d2fb084d196090f4c04b04d37ab69f9446/diff:/var/lib/docker/overlay2/b7168c6529e9e6464b64a8c9172404089880985df24a12305ed32d744fe1796a/diff:/var/lib/docker/overlay2/1b46ede78e3f641f502bcf80c05ed26edb7b1d290623538f1baebaa9b8043cae/diff",
"MergedDir": "/var/lib/docker/overlay2/ea28675b218ec209715f31af5744f5294aa341e1884b15884ff15b9e8f4a484d/merged",
"UpperDir": "/var/lib/docker/overlay2/ea28675b218ec209715f31af5744f5294aa341e1884b15884ff15b9e8f4a484d/diff",
"WorkDir": "/var/lib/docker/overlay2/ea28675b218ec209715f31af5744f5294aa341e1884b15884ff15b9e8f4a484d/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:9d592720ced4a7a4ddf16adef8a126e4c8c49f22114de769343320b37674321e",
"sha256:d32dc66e6cf704e0e479ebbe731bc8ce8b698e72615d22f4702eb29fc0ab9496",
"sha256:0b5919bf9e2f1edef1bea1481724cd3478fe311e30413106e51d600df3b0cd41",
"sha256:c2491e5b2bde5bdd69888fab48de6b098dd5dbd50be165ccf7e1aba5f13353d6",
"sha256:50b7ec335320acabaa5d27d772085dc3c2c12c5fa062cda290d3ca2330be38c5",
"sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
"sha256:0c963ece34dff14c7907491a120a459613c696a47ea612671ba33d51bd7367e8",
"sha256:ad76b5fd0414ab3bff49ae930417397a86c3bb2b8d81246364fcd6a770e8a2f5",
"sha256:4c4988bc6a09d09b213f6f9679400ab23b0c053f6bf8b8283ec87a45ac8a16eb",
"sha256:d9dff2663b499d4ed0bc1f3f422728669ac73481690853f65d4210f961068137"
]
},
"Metadata": {
"LastTagTime": "0001-01-01T00:00:00Z"
}
}
]➜ ~ docker image inspect adobecoldfusion/coldfusion2025
[
{
"Id": "sha256:98f3a368aa0f71ad60fa61e74ab11d49605e8f4dda41403ca1bcaf112acc8621",
"RepoTags": [
"adobecoldfusion/coldfusion2025:latest"
],
"RepoDigests": [
"adobecoldfusion/coldfusion2025@sha256:3a1eb0285f64f27c9f8de1ad806f19a7e96fcd4bb8e33c649fc0556c9f424cbd"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2025-09-09T11:50:44.170407241Z",
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"45564/tcp": {},
"7071/tcp": {},
"8122/tcp": {},
"8500/tcp": {}
},
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
],
"Cmd": [
"start"
],
"Healthcheck": {
"Test": [
"CMD-SHELL",
"curl -f http://localhost:8500/ || exit 1"
],
"Interval": 60000000000,
"Timeout": 10000000000
},
"ArgsEscaped": true,
"Image": "",
"Volumes": null,
"WorkingDir": "/opt",
"Entrypoint": [
"/bin/bash",
"/opt/startup/start-coldfusion.sh"
],
"OnBuild": null,
"Labels": {
"builddate": "2025-09-09",
"description": "Adobe ColdFusion 2025 image",
"org.opencontainers.image.ref.name": "ubuntu",
"org.opencontainers.image.version": "24.04",
"platform": "Linux",
"product": "2025",
"type": "standalone",
"update": "4",
"version": "1.0"
}
},
"Architecture": "amd64",
"Os": "linux",
"Size": 484775840,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/a21f5646c91966e2e910107743c36a05b2597305e3c5ce32918fb897859e0c64/diff:/var/lib/docker/overlay2/249a846ac3332cefbc0372398e14bd95731e1084413ed32a4ef8026cc777789d/diff:/var/lib/docker/overlay2/f2287930d84e0b6979ffff61d1d161bbad0702835aa8084519b2656cdb19b8e7/diff:/var/lib/docker/overlay2/f58b842503f0a95d4639f5b72bf29c66e8e1d91167962faed17e00adbc1c67ad/diff:/var/lib/docker/overlay2/d41bbc41bf793f0eaecad39a857b6209e9e75d84d16cb71670e7d0346bbd18d9/diff:/var/lib/docker/overlay2/3d4ab9be8282430820b63b59930de662247c7958a96724120e126cf0f273a36f/diff:/var/lib/docker/overlay2/547b2e2a6f2c7fa83aaed11e820807d2fb084d196090f4c04b04d37ab69f9446/diff:/var/lib/docker/overlay2/b7168c6529e9e6464b64a8c9172404089880985df24a12305ed32d744fe1796a/diff:/var/lib/docker/overlay2/1b46ede78e3f641f502bcf80c05ed26edb7b1d290623538f1baebaa9b8043cae/diff",
"MergedDir": "/var/lib/docker/overlay2/ea28675b218ec209715f31af5744f5294aa341e1884b15884ff15b9e8f4a484d/merged",
"UpperDir": "/var/lib/docker/overlay2/ea28675b218ec209715f31af5744f5294aa341e1884b15884ff15b9e8f4a484d/diff",
"WorkDir": "/var/lib/docker/overlay2/ea28675b218ec209715f31af5744f5294aa341e1884b15884ff15b9e8f4a484d/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:9d592720ced4a7a4ddf16adef8a126e4c8c49f22114de769343320b37674321e",
"sha256:d32dc66e6cf704e0e479ebbe731bc8ce8b698e72615d22f4702eb29fc0ab9496",
"sha256:0b5919bf9e2f1edef1bea1481724cd3478fe311e30413106e51d600df3b0cd41",
"sha256:c2491e5b2bde5bdd69888fab48de6b098dd5dbd50be165ccf7e1aba5f13353d6",
"sha256:50b7ec335320acabaa5d27d772085dc3c2c12c5fa062cda290d3ca2330be38c5",
"sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
"sha256:0c963ece34dff14c7907491a120a459613c696a47ea612671ba33d51bd7367e8",
"sha256:ad76b5fd0414ab3bff49ae930417397a86c3bb2b8d81246364fcd6a770e8a2f5",
"sha256:4c4988bc6a09d09b213f6f9679400ab23b0c053f6bf8b8283ec87a45ac8a16eb",
"sha256:d9dff2663b499d4ed0bc1f3f422728669ac73481690853f65d4210f961068137"
]
},
"Metadata": {
"LastTagTime": "0001-01-01T00:00:00Z"
}
}
]
Copy link to clipboard
Copied
Guys, before we conclude there's a bug, note that bkbk found the class WAS there while @fantastic_fantasy7696 did not. That's seemingly significant. And no, you should NOT have needed to copy it in.
By @Charlie Arehart
Charlie, I think there's been a misunderstanding. I actually found that the class concerned -- "com/fasterxml/jackson/module/jakarta/xmlbind/JakartaXmlBindAnnotationIntrospector" -- was NOT there. Hence my suggestion that @fantastic_fantasy7696 download and copy the relevant Jar file to the /cfusion/lib folder. Official intervention is needed, for example, to let us know which version of the Jar file is the most appropriate for ColdFusion 2025 Update 4.
Copy link to clipboard
Copied
Sorry. I saw the "This version is already present in the /cfusion/lib directory" and misconstrued that. I see they've also since confirmed running on the update 4 image. Great.
So bkbk, did you happen to run the code you'd offered folks above, on an Adobe cf image, and get the same error? That would help affirm there's no seeming environmental/process explanation for the error they see. I'm seeing these on my phone, so I'm not readily able to test. As always, I'm just trying to help.
Find more inspiration, events, and resources on the new Adobe Community
Explore Now