validate - SOAPUI: valida la respuesta contra el archivo de esquema xsd
validate wsdl online (3)
Puede usar la secuencia de comandos Groovy para la validación de la respuesta contra el archivo xsd. Esta es la forma de validar
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;
}
Espero que esto ayude :-)
¿Cómo puedo validar una respuesta SOAP contra un archivo XSD que define el esquema de respuesta? el servicio web que llamo tiene un XMLDocument como entrada y salida, por lo que no puede usar WSDL para la validación del esquema de respuesta.
En caso de que todavía lo necesite (válido para SOAP UI versión 2.5.1): Archivo, Preferencias, Configuración del editor, Validar respuesta.
Utilice la aserción de script:
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)
assert errors.length <1