If you are getting javax.jnlp.UnavailableServiceException
from javax.jnlp.ServiceManager.lookup() or if javax.jnlp.ServiceManager.getServicesNames returns null you must be aware that those call only return useful thing when you run your code from the Java Web Start environment.
It’s not enough to include the jnlp.jar or javaws.jar in the classpath.
For example to make it work from Netbeans you must enable WebStart in the project and Set Configuration to WebStart.