Hi!
The WS-I Basic Profile does not mandate (using SHOULD, not MUST) that all faults are declared:
http://www.ws-i.org/Profiles/BasicProfile-1.1.html#Enumeration_of_Faults
Warning: Here follows unsolicited advice on faults:
However, since you already know under what circumstances you want to return a fault, returning a custom fault, which also is declared in the WSDL, would be a courtesy to clients having only a WSDL to refer to. I would want to compare it to throwing a Throwable exception when a method receives an illegal parameter, when a IllegalArgumentException would be more informative to clients.
Best wishes!