ejabberd Import errors
Freshness Warning
This blog post is over 17 years old. It's possible that the information you read below isn't current and the links no longer work.
10 Oct 2007
If you’re trying to import a Jabberd 1.x-style spool directory into ejabberd and you get an error that looks like...
RPC failed on the node ejabberd@localhost: {'EXIT',
{{badmatch,{error,enoent}},
[{jd2ejd,import_dir,1},
{ejabberd_ctl,process,1},
{rpc,'-handle_call/3-fun-0-',5}]}}
... there’s a couple of things you can try.
First, make sure the directory and file are both readable by ejabberd. Heck, make them readable by everyone, just to make sure.
Second, make sure the XML file is valid. If you’ve got a spool full of bad XML, you can’t import it. Try xmllint yourspoolfile.xml
and see if you get any errors.
Third, make sure you’re giving the full path to the spool directory and not just the relative path. ejabberdctl import-dir ./myspool/example.com
won’t work. You need ejabberdctl import-dir /full/path/to/myspool/example.com
instead.
Finally, try import-file
instead of import-dir
and make sure to use the full path to the file.
I just spent half the morning figuring all that out. Now the solution is on the intarwebs and in the search indexes, so maybe this will help someone else.