Validierung XML gegen XSD in soapui
Ich weiß, diese Frage wurde hier gestellt, bevor, aber keiner von Ihnen fordern genau das, was ich Suche.
Möchte ich wissen, wie wir bestätigen können, eine RESTful
service-response - (application/xml) gegen eine XSD
schema-Datei über das groovy-Skript. Ja, ich habe die xsd-Datei auf meine lokale Festplatte, aber ich kann nicht scheinen, um zu verstehen, wie die Rückmeldung als input für die es zu überprüfen?
Habe ich eine Probe, aber ein wesentlicher Teil fehlt. Kann mir jemand plz helfen?
import com.eviware.soapui.support.XmlHolder
import javax.xml.XMLConstants
import javax.xml.transform.stream.StreamSource
import javax.xml.validation.*
//setup validator
Validator validator;
def url = 'C:\\Documents and Settings\\schema\\sclBase.xsd'
log.info url
URI uri = new URI(url);
InputStream inp = uri.toURL().openStream();
try
{
SchemaFactory factory =
SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
StreamSource entitySs = new StreamSource(inp);
Schema schema = factory.newSchema(entitySs);
assert(schema != null);
validator = schema.newValidator();
def response = new XmlHolder( messageExchange.responseContentAsXml )
log.info response
validator.validate(new StreamSource(new StringReader(response)))
}
finally
{
inp.close();
inp = null;
}
Den Fehler, ich bin immer hier ist "->Illegalen Charakter auf opaken Teil in index 2: C:\Documents und Einstellungen\schema\sclBase.xsd"
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vorausgesetzt, Sie haben den REST der Antwort in einen String namens
response
Sollte es tun. Sie näherten sich der input-stream vor der Lektüre, es afaict (aber Sie sagen nicht, welche Fehler Sie immer waren)
response
variable? Ich habe dieses script und es gibt mir Fehler"->src-resolve: Cannot resolve the name tns:id to a(n) 'element declaration' component"
xsd
String response = messageExchange.requestContent
String response = messageExchange.responseContent