Używam Spring, CXF i Hibernate do budowy usługi WebService, która wykonuje kwerendy wyszukiwania w zagranicznej bazie danych, że mam dostęp tylko do odczytu.Jak radzić sobie z nieprawidłowymi znakami na wyjściu WS podczas używania CXF?
Problem polega na tym, że niektóre wpisy w bazie danych mają dziwne znaki (0x2) w polach tekstowych i wydaje się, że CXF lub biblioteka (Aegis?), Której używa do przetwarzania/serializacji obiektów zwróconych z sesji Hibernate Zadanie to:
org.apache.cxf.aegis.DatabindingException: Error writing document.. Nested exception is com.ctc.wstx.exc.WstxIOException: Invalid white space character (0x2) in text to output (in xml 1.1, could output as a character entity)
Jak to obejść? Idealnie, mógłbym usunąć te znaki, ponieważ nie mają one znaczenia dla mojej produkcji ... Dzięki!
To całkiem blisko tego, co wtedy robiłem, więc zaznaczam to jako zaakceptowane! – elias
Czy to nie jest złe? Mam na myśli, że regexp (escaped dla java) powinno być: "[^ \\ x09 \\ x0A \\ x0D \\ x20 - \\ xD7FF \\ xE000 - \\ xFFFD \\ x10000 - \\ x10FFFF]" – greguren
To działa idealnie dla mnie –