I’ve been looking around the net for a good few hours now, trying to find a simple way to validate a full SOAP message against a WSDL. I am aware that there are ways to do this with the various Web Service frameworks out there, but I don’t want to do this as the requirement is simply to validate a piece of XML. I could validate against the schema, although the problem I have is that there are a number of schemas imported into the WSDL and I don’t know which one I should be validating against. I could write some utility to first process the WSDL and the response to determine which XSD to validate against, but I presumed this could be done as a one-liner using an established library!
Does anyone know of a relatively straightforward way to validate an XML document given a WSDL and multiple XSD’s?
In a previous project I solved this problem by parsing the WSDL-file and extracting the schemas from it. The code was something like the following, it assumes that the WSDL has been read into the Source variable “wsdlSource” in some way and that the imported namespaces are declared in the “schema”-element. It would probably be a good idea to have this performed once on startup and then do the validation in a SOAPHandler.