If a thrown web fault doesn't specify the "name" on its @WebFault annotation, the simple name of the fault should be used.
This is what actually happens:
java.lang.IllegalArgumentException: Invalid name []
[java] at org.codehaus.xfire.service.OperationInfo.addFault(OperationInfo.java:193)
[java] at org.codehaus.xfire.service.binding.ObjectServiceFactory.addFault(ObjectServiceFactory.java:908)
[java] at org.codehaus.xfire.jaxws.JAXWSServiceFactory.addFault(JAXWSServiceFactory.java:60)
[java] at org.codehaus.xfire.service.binding.ObjectServiceFactory.initializeFaults(ObjectServiceFactory.java:881)
[java] at org.codehaus.xfire.service.binding.ObjectServiceFactory.addOperation(ObjectServiceFactory.java:801)
[java] at org.codehaus.xfire.jaxws.JAXWSServiceFactory.addOperation(JAXWSServiceFactory.java:52)
[java] at org.codehaus.xfire.service.binding.ObjectServiceFactory.initializeOperations(ObjectServiceFactory.java:706)
[java] at org.codehaus.xfire.service.binding.ObjectServiceFactory.create(ObjectServiceFactory.java:410)
[java] at org.codehaus.xfire.annotations.AnnotationServiceFactory.create(AnnotationServiceFactory.java:246)
[java] at org.codehaus.xfire.spring.ServiceBean.afterPropertiesSet(ServiceBean.java:176)
[java] at org.codehaus.xfire.spring.remoting.XFireExporter.afterPropertiesSet(XFireExporter.java:30)