User import plugin error "The import file does not match the user schema."

I’ve migrating OpenFire 3.6.0a from one Linux server to another, and attempted to use the user import/export plugin to migrate user data.

The export action worked ok on the old server, but the import action failed on the new server (running the very same OpenFire and plugin versions), with the following message:

“The import file does not match the user schema.”

Both servers are using the (same) LDAP directory to authenticate users.

It appears that the export feature is in trouble: it generates an invalid XML file in this environment (LDAP server), where the entry is generated twice for each user entry:

  • once with the username (as documented in the user import/export plugin in case of an LDAP environment)

  • once with an empty content ()

The latter is probably breaking the XML schema, and make the import fail.

A quick workaround is to edit the XML file, search and replace “” with an empty string, and restart the importation.

HTH,

Manu

Hi Manu,

Thanks for catching this. To the best of my knowledge nothing has really changed with this plugin in quite some time so it’s a bit surprising this issue has appeared. I’ll do some digging and see what is necessary to provide a fix.

Thanks again,
Ryan

If it helps, the plugin version is 2.2.0

Here is a sample of the export output:

eblot

eblot

eblot@example.com

Emmanuel Blot

1224686505840

1224686505840

Cheers,

Manu

Hello All,

I just DL’d and installed last night / today. All went well until I tried to import a bunch of users with the plugin and got the same “The import file does not match the user schema” error.

I’ve tried a bunch of permutations to get this to work right… I exported my Test User and tried to use that “template” to create a file to import. here’s an example of what I have…

jdoe password jdoe@company.com Jon Doe 1224687479323 1224687479323

Hi Mat,

Looks like you’re missing the Roster element. If the user doesn’t have a roster then you have to a element.

Hope that helps,
Ryan

I’ve tried with and w/o that element. I tried naming the fields different to match the DB column names. lots of permutations with no luck.

Can you post or attach a complete sample with one or two users?

Thanks,

Ryan

Something odd…

I was able to get ONE user to import… with a file with just this line:

jdoejdoejdoe@company.comJon Doe12247121868581224712186858

At least it says it succesfully imported… but I can’t find the user in the GUI.

I create a file with more than ONE line, and I get the error. Am I just missing something?

Hi Mat,

It looks like you’re missing the root Openfire element. The xml for the import file should look like the bottom example the plugin readme file.

Hope that helps,
Ryan

I had tried with and without it… not sure what i was doing wrong, but I redid it this morning and it worked. Sure has me miffed but oh well, worked today!

AAAAAAAabcduserA@company.comUserA12246874793231224687479323 BBBBBBBabcduserB@company.comUserB12246874793231224687479323 CCCCCCCabcduserC@company.comUserC12246874793231224687479323

Glad to hear it.

I think I figured out my root cause… are the XML tags are case sensitive?

I would guess that they are. The database tables tend to be. If this is resolved could you please mark it as answered.

i don’t think i can since i’m not the original poster?

So I see. Oh well.