Я знаю, что этот вопрос задан здесь раньше, но никто из них не спрашивает, что именно я ищу.Проверка XML-кода на XSD в soapui
Я хочу знать, как мы можем проверить ответ службы (приложение/xml) RESTful
на файл схемы XSD
через строгий скрипт. Да, у меня есть файл xsd на моем локальном диске, но я не могу понять, как предоставить ответ в качестве входных данных для его проверки?
Я создал образец, но одна важная часть отсутствует. Может ли кто-нибудь помочь?
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;
}
Ошибка я получаю здесь "-> Недопустимый символ в непрозрачной части по индексу 2: C: \ Documents и Settings \ Схемы \ sclBase.xsd"
Но где мы используем переменную 'response'? Я использовал этот скрипт, и он дает мне ошибку '' -> src-resolve: Не удается разрешить имя tns: id для компонента (') объявления элемента' ' – Amrit
Извините, ваш вопрос действительно _ «Как получить ответ в строку "_? –
И эта ошибка, о которой вы сейчас говорите, кажется, предполагает, что у вас есть ошибки в вашем 'xsd' –