[Edited 9 July 2012 by Deke Smith: updated to no longer be specific to Experience Services]
One thing that causes this is using the wrong of Java with the server. CQ, CRX, and Experience Services requires at least version 1.6.0.26 of the JDK (Java 6 update 26). But it will not work with version 1.7 JDK (Java 7). After installing Java, confirm the environment variable, JAVA_HOME, is set to the correct JDK directory.
It is easy to see what version of Java is on the server. Within a command prompt or terminal window type:
java -version
This command returns the version of Java on the machine.
What if you want to use the CRX Quick Start AND have Java 1.7 on your machine AND don’t want to set the JAVA_HOME variable to the Java 1.6 JDK? Within the server.bat file for the Quick Start is a setting in which the path to the Java SDK can be defined. The server.bat file is at [server directory]/crx-quickstart/server/server.bat. By default, it is set to JAVA_HOME:
set JAVA_HOME=%JAVA_HOME%
It can be set to the path to another SDK:
set JAVA_HOME=c:\java\jdk1.6.0_26
For more information, see CQ Technical Requirements: Java Virtual Machines.

Thanks a lot for this blog and it saved me lot of time.