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.
JAXB may be an overkill, unless you need to process the xml too, in object format.
I would like to have the soap message parsed into a java object to pass back as a return value to a caller. the problem is that I have to take the soap message body and write an xml file, and then point jaxb to it.
This code, from Sun/Oracle, implements a basic final Document Builder Factory dbf = Document Builder Instance(); Namespace Aware = true; Validating = true; final Document Builder db = Document Builder(); final My Resolver r = My Instance(); Entity Resolver(r); final Document doc From File = db.parse("path/to/my/document.xml"); // or final Document doc From Stream = db.parse(new File Input Stream("blah")); i think that my third ps: was clear enough: ps: I am aware that I could extract the body part of the SOAP message, and validate it against the XSD.
However, I'd like to validate the entire SOAP message against the WSDL.
But how does this work with Spring Boot and Apache CXF?
Does anyone know of a relatively straightforward way to validate an XML document given a WSDL and multiple XSD's?As usual, there is a new Git Hub project waiting in our tutorial repository – if you want to give it a try.🙂As a starting point we´ll use the preceding part´s project for now and fire up the Simple Boot Cxf Application with the help of a “Run as…” . You´ll find thousands of different variants to activate XML schema validation in Apache CXF. without calling the webservice or whatsoever afterwards.I need to make this validate within a Java program. ps: I am aware that several You might look at the source code for the Wsdl Validator class in the open-source soap UI project.It would probably be a good idea to have this performed once on startup and then do the validation in a SOAPHandler.//First create a document from the WSDL-source Document Builder db = Document Builder Instance() Document Builder(); Document wsdl Doc = Document(); Transformer Factory transformer Factory = Transformer Factory Instance(); Transformer transformer = transformer Transformer(); transformer.transform(wsdl Source, new DOMResult(wsdl Doc)); //Now get the schemas from the WSDL Node List schema Nodes = wsdl Elements By Tag Name NS( XMLConstants.Hi, You are doing document-style web service call right?You can use DOM or SAX to validate the SOAP payload (the xml that you have an xsd for).In general, whatever framework you're using for your SOAP handling will automatically validate messages.Can you give us a little more detail about what your environment looks like?