SOAPUI: проверка ответа на файл схемы xsd - PullRequest
7 голосов
/ 25 ноября 2008

Как проверить ответ SOAP для файла XSD, который определяет схему ответа. веб-служба, которую я вызываю, имеет XMLDocument в качестве входных и выходных данных, поэтому не может использовать WSDL для проверки схемы ответа.

Ответы [ 3 ]

21 голосов
/ 10 января 2010

В случае, если вам все еще нужно это (действительно для SOAP UI версии 2.5.1): Файл, Настройки, Настройки редактора, Подтвердить ответ.

1 голос
/ 15 октября 2013

Использовать утверждение скрипта:

def project = messageExchange.modelItem.testStep.testCase.testSuite.project

def wsdlcontext = project.getInterfaceAt (0) .getDefinitionContext ()

def validator = new com.eviware.soapui.impl.wsdl.support.wsdl.WsdlValidator (wsdlcontext);

def errors = validator.assertRequest (messageExchange, false)

подтвердить ошибки. Длина <1 </p>

0 голосов
/ 01 мая 2015

Вы можете использовать скрипт groovy для проверки ответа на файл xsd. Вот способ проверки

import javax.xml.transform.stream.StreamSource;
import javax.xml.validation.SchemaFactory;
import javax.xml.XMLConstants;

//Read your xsd file and get the conten into a variable like below.
def xsdContent = "Some Schema Standard";

//Take the response into another variable that you have to validate.
def actualXMLResponse = "Actual XML Response ";

//create a SchemaFactory object
def factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);

//Create a given schema object with help of factory
def schema = factory.newSchema(new StreamSource(new StringReader(xsdContent ));

//Create a validator
def validator = schema.newValidator();

//now validate the actual response against the given schema
try {
     validator.validate(new StreamSource(new StringReader(actualXMLResponse )));

} catch(Exception  e) {
     log.info (e);
     assert false;
}

Надеюсь, это поможет вам: -)

...