I have created a test which I expect will fail (I want it to fail). I have added a SOAP Fault assertion, and I've also added an assertion for CONTAINS and the text "does not exist" (which is the text our service returns if the element passed in doesn't exist).
When I run it, it passes as expected but I get the following warning: Mon Jan 07 10:31:39 MST 2008:WARN:Missing matching Fault in wsdl for bindingOperation [setBirthMotherInfo]
What does this warning mean? Should the faults be contained within our WSDL?
As you say, this is a warning that the fault being thrown is not declared in the WSDL, which strictly speaking is ok; you are allowed to throw undefined SOAP Faults. If you're a "contract fanatic" (and who isn't?), you might want to declare all foreseeable faults (just like declaring exceptions in java/c#); it makes it easier for the client to know which errors to "expect" and/or handle..
Some time has passed since. Now we're seeing this EVERYWHERE. I would ask dev to declare these faults, but they're heads-down on other items and prob don't want to roll off user stories to make things more testable.