[ https://issues.apache.org/jira/browse/CXF-7185?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15801776#comment-15801776 ]
ASF GitHub Bot commented on CXF-7185: ------------------------------------- GitHub user Kevin-Buntrock opened a pull request: https://github.com/apache/cxf/pull/219 [CXF-7185] Correct hacks for CXF-3453 and CXF-1194 for french local [CXF-7185] Correct hacks for CXF-3453 and CXF-1194 in order to work with a local set in french You can merge this pull request into a Git repository by running: $ git pull https://github.com/Kevin-Buntrock/cxf master Alternatively you can review and apply these changes as the patch at: https://github.com/apache/cxf/pull/219.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #219 ---- commit 07b836cf510d1f32a5ab5253d759acb4e56de98e Author: Kévin Buntrock <kevin.buntr...@gmail.com> Date: 2017-01-04T15:10:14Z [CXF-7185] Correct hacks for CXF-3453 and CXF-1194 for french local [CXF-7185] Correct hacks for CXF-3453 and CXF-1194 in order to work with a local set in french ---- > 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: 2.7.18, 3.1.9 > 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. > {code:java} > private static class MtomValidationHandler implements ValidationEventHandler { > ValidationEventHandler origHandler; > JAXBAttachmentMarshaller marshaller; > public MtomValidationHandler(ValidationEventHandler v, > JAXBAttachmentMarshaller m) { > origHandler = v; > marshaller = m; > } > 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; > } > > if (origHandler != null) { > return origHandler.handleEvent(event); > } > return false; > } > } > {code} > > In french, the colon is always separated with a space from the preceding word > : "cvc-type.3.1.2 : " > 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)