When publishing a service on the JMS transport, if the jndi server cannot be found, or the named destination is missing, CXF will only log the exception. It will not throw. Hence, it is not possible to know that the service creation failed.
Endpoint impl = Endpoint.publish(url, object);
if ((impl != null) && impl.isPublished())
The above code will go to success case even in failure conditions mentioned above.