Late Friday evening, I was developing a small application on my laptop that looped over a list of webservice URLs and fired off a given function on each of the webservices to retrieve some information. The application worked beautifully and life was good!
But on Monday morning, I restarted the CFMX 7 Server, and found that I couldn’t log into to CF Administrator. I was getting the following error:
The XML-RPC service is not available.
This exception is usually caused by service startup failure. Please check your server configuration.The error occurred in Application.cfm: line 82
-1 : Unable to display error’s location in a CFML template.
This is definitely not an error that you want to be staring at first thing on Monday morning. Here is how I fixed it.Mr Google brought up another blog that mentioned the same error. Apparantly a missing neo-xmlrpc.xml on a CFMX 7 server can cause this.
So, I opened \WEB-INF\cfusion\lib\ directory where the file should exist. And it was there. So it wasn’t missing in my case. But date modified value pointed that it had been changed on Friday.
Opened the file an XML editor. Noticed that it contained a WDDX packet containing links to the webservices I was accessing using my application. Interesting. So next, I tried to validate whether the XML doc was well formed or not. And it turned out that it wasn’t. CF Server had added characters into the XML that it didn’t like.
It contained nodes like:
<var name=’http://remotesite.co.nz<;char code=’0d’/>/folder/webservice.cfc?wsdl’>
Notice that there is an extraneous:
<char code=’0d’/>
This is what was breaking the xml. Interestingly, the character code ‘0d’ is equivalent to carriage return.
Once I removed all such references and the XML validated as well-formed, life was back to normal!
It would be interesting to figure out why the CFMX server inserted these characters in the first place. However, that is a mission for another day.
On with Monday now…
Did you get to the bottom of this? And did you report it to Adobe? Just wondering.
Hi Gary:
No, I couldn’t get to the bottom of it. But I suspect it was some malformed sytax in the way I was invoking the webservice. The problem occured right after a ColdFusion training that I was conducting where I got all trainees of the course to point to the webservice living on my server.
The two might not be related, but then, they might be.
Indy
Thank you. You saved me hours of pain. Mwah X!
I just wanted to thank you for blogging this we just hit the same issue and rolled back to an good version of the file. I am curios to know what caused it too.
Hi Mike
I could never figure out why this happened. What CF version are you on? I was on CF 7.0.2.
Indy
Hiya, actually on 7.0.2 running on RedHat Linux so at least the versions concur. I’ll dig a bit and let you know if I find anything more; thanks again.