Web services can be painful
Web services can be such a pain sometimes. Imagine this - someone gives you a WSDL file and says that you must build a client to interact with it. It sounds simple enough, because that is the whole purpose of a WSDL. You can simply emulate a web-service to test your client with and have them talk back and forth.
The problem came when I got hold of an existing client that interacts with that web service and pointed it over to my emulation of the web service. For an entire week I had been debugging my web service mucking around with name spaces, SOAP requests, SOAP headers, SOAP responses, XPath queries, XML serialization of objects, and just about everything else under the sun.
Dealing with existing web services are painful if you don’t have something to test them against. There are just too many unknowns. I don’t know what I would have done if I didn’t have an existing client to test out my emulated service. The easiest part was actually setting up the security using WSE to require certificates for authentication.