Я пытаюсь настроить маршаллер так, чтобы он не конвертировал '<' в '& lt;' </strong> et.Я реализовал пользовательский CharacterEscapeHandler, но он, кажется, не срабатывает, когда я делаю запрос.Я нашел несколько похожих тем, но, к сожалению, нет правильного решения.Я даже читал, что это весенняя ошибка, я прыгаю, это не так.Мой код
@Bean
public Jaxb2Marshaller marshaller() {
Jaxb2Marshaller marshaller = new Jaxb2Marshaller();
Map<String, Object> props = new HashMap<>();
props.put("com.sun.xml.bind.marshaller.CharacterEscapeHandler",
new CharacterEscapeHandler() {
@Override
public void escape(char[] ac, int i, int j, boolean flag,
Writer writer) throws IOException {
System.out.println("I AM HERE");
writer.write(ac, i, j);
}
});
marshaller.setMarshallerProperties(props);
marshaller.setContextPaths(path);
return marshaller;
}
@Bean
public SOAPClientConnector soapConnector(Jaxb2Marshaller marshaller) {
SOAPClientConnector client = new SOAPClientConnector();
client.setMarshaller(marshaller);
client.setUnmarshaller(marshaller);
return client;
}
И я использую его вот так.
getWebServiceTemplate().marshalSendAndReceive(url, request);