Package com.consol.citrus.ws.validation

Examples of com.consol.citrus.ws.validation.SoapFaultDetailValidationContext


        BeanDefinitionParserUtils.setPropertyValue(beanDefinition, element.getAttribute("fault-code"), "faultCode");
        BeanDefinitionParserUtils.setPropertyValue(beanDefinition, element.getAttribute("fault-string"), "faultString");
        BeanDefinitionParserUtils.setPropertyValue(beanDefinition, element.getAttribute("fault-actor"), "faultActor");
       
        List<Element> faultDetails = DomUtils.getChildElementsByTagName(element, "fault-detail");
        SoapFaultDetailValidationContext validationContext = new SoapFaultDetailValidationContext();
        List<String> soapFaultDetails = new ArrayList<String>();
        List<String> soapFaultDetailPaths = new ArrayList<String>();
        for (Element faultDetailElement : faultDetails) {
            if (faultDetailElement.hasAttribute("file")) {
                if (StringUtils.hasText(DomUtils.getTextValue(faultDetailElement).trim())) {
                    throw new BeanCreationException("You tried to set fault-detail by file resource attribute and inline text value at the same time! " +
                            "Please choose one of them.");
                }
               
                String filePath = faultDetailElement.getAttribute("file");
                soapFaultDetailPaths.add(filePath);
            } else {
                String faultDetailData = DomUtils.getTextValue(faultDetailElement).trim();
                if (StringUtils.hasText(faultDetailData)) {
                    soapFaultDetails.add(faultDetailData);
                } else {
                    throw new BeanCreationException("Not content for fault-detail is set! Either use file attribute or inline text value for fault-detail element.");
                }
            }
           
            XmlMessageValidationContext context = new XmlMessageValidationContext();
            String schemaValidation = faultDetailElement.getAttribute("schema-validation");
            if (StringUtils.hasText(schemaValidation)) {
                context.setSchemaValidation(Boolean.valueOf(schemaValidation));
            }
           
            String schema = faultDetailElement.getAttribute("schema");
            if (StringUtils.hasText(schema)) {
                context.setSchema(schema);
            }
           
            String schemaRepository = faultDetailElement.getAttribute("schema-repository");
            if (StringUtils.hasText(schemaRepository)) {
                context.setSchemaRepository(schemaRepository);
            }
            validationContext.addValidationContext(context);
        }
       
        if (!soapFaultDetails.isEmpty() || !soapFaultDetailPaths.isEmpty()) {
            beanDefinition.addPropertyValue("faultDetails", soapFaultDetails);
            beanDefinition.addPropertyValue("faultDetailResourcePaths", soapFaultDetailPaths);
View Full Code Here


      this.applicationContext = ctx;
     
      action.setValidator(applicationContext.getBean("soapFaultValidator", SoapFaultValidator.class));
     
      // for now support one single soap fault detail
      SoapFaultDetailValidationContext soapFaultDetailValidationContext = new SoapFaultDetailValidationContext();
      soapFaultDetailValidationContext.addValidationContext(validationContext);
      action.setValidationContext(soapFaultDetailValidationContext);
    }
View Full Code Here

TOP

Related Classes of com.consol.citrus.ws.validation.SoapFaultDetailValidationContext

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.