Kevin Buntrock created CXF-7185: ----------------------------------- Summary: Xml validation with Mtom enabled is not working with french locale Key: CXF-7185 URL: https://issues.apache.org/jira/browse/CXF-7185 Project: CXF Issue Type: Bug Components: JAXB Databinding Affects Versions: 3.1.9, 2.7.18 Reporter: Kevin Buntrock
Running cxf on a tomcat launched with the jvm argument "-Duser.language=fr". Mtom and schema validation are enabled. While sending a soap message, we have this error : "Wrapped by: org.apache.camel.RuntimeCamelException: org.apache.cxf.interceptor.Fault: Marshalling Error: cvc-type.3.1.2 : L'élément 'xxx' est de type simple et ne doit comporter aucun enfant ([children]) de type élément d'information." Reason is a lack in the hack allowing validation with mtom enabled in org.apache.cxf.jaxb.io.DataWriterImpl.java. public boolean handleEvent(ValidationEvent event) { // CXF-1194 this hack is specific to MTOM, so pretty safe to leave in here before calling the origHandler. String msg = event.getMessage(); if (msg.startsWith("cvc-type.3.1.2: ") && msg.contains(marshaller.getLastMTOMElementName().getLocalPart())) { return true; } In french, the colon is always separated with a space from the preceding word. I would reckon to just not include the colon anymore in the checking. It seams useless according to this documentation : https://wiki.xmldation.com/Support/Validator Looking quickly on the code, some other hacks should not work in french in the sibling class DataReaderImpl.java. I will submit a pull request during the week-end to correct this issue. -- This message was sent by Atlassian JIRA (v6.3.4#6332)