I was with this same problem, and after many hours, I found out what was wrong, at least, in my case.
In my case this error ocurred because the EJB jar file was not very fine. I am creating the jar file using the ant "jar" task, and I was inserting the META-INF subdirectory using the "zipfileset" task. Althought I was able to open the jar file and see the META-INF inside it, I got some warnings about it in the Linux command line zip command.
When I changed the "zipfileset" for the "fileset" task, the problem desapeared. See my ant tasks:
after (with the conf files properly moved):
I know this case is very specific, but maybe you should check your JAR file's META-INF integrity.
Remembering that in my case it was not very clear that it had inconsistency, because graphical Zip programs could read it nicely.