You are in an integration scenario: you've published an interface and some code over which you have no control is trying to use it.
Web Services, even simple ones, let along the full panoply of WS-* capabilities are notorious for subtle interoperability problems. These especially come from small version skew issues.
I see two fundamental philosophies here, I'm rather over-stating, to make the point:
- You say: I publish this interface, with this WSDL, this version of the WS specs, I test it with this message and it works. You clients are responsible for creating a conformant request. I've given you a sample, it's up to to fit me. Your responsibilities are limited to producing clear working sample messages.
- You take responsibility for conducting interoperability testing for some set of client technologies. You clearly can't test everything, but if you some key "customers" you get or build sample applications and make sure they work. You probably end up documenting "use these options when generating client code".
Either way I'd suggest you need to write test clients of your own, and as a Java developer I use JUnit for that. This get's me to step 1 above.