Я искал несколько недель, чтобы найти хорошее решение для обработки CDATA в клиенте веб-службы и веб-службы SOAP. Я искал inte rnet для примеров и решений, но, похоже, ничего не работает. Я обнаружил, что в течение нескольких лет это было проблемой, основанной на сообщениях здесь и в других местах в Интернете, и ее еще предстоит решить с помощью простой реализации. Я использовал MOXy, и у меня есть клиент JAX-WS, работающий в сервисе Weblogi c, который работает с ним. Хотя он прост и работает только под WebLogi c, и я не могу запустить его как отдельное приложение java. Сейчас я пытаюсь использовать Spring Boot и Spring WS для портирования существующей веб-службы, которая использует CDATA как в своей службе, так и в качестве исходящего вызова клиента в другую службу. Порт от AXIS 1, который поддерживает CDATA, который является старым, и я надеялся, что проблема с CDATA уже решена с помощью Spring Web Services. Хотя я обнаружил следующую проблему с просьбой обойти эту проблему здесь:
https://github.com/spring-projects/spring-framework/issues/21921
Я пробовал все хаки, такие как добавление перехватчика для добавления CDATASection, но в преобразовании Xerces, когда он создает сообщение SAAJ SOAP, в конце он все равно обрабатывается как обычный текст. Для кода клиента я попытался вставить MOXy, как я это делал в WebLogi c и плагине MOXy, и отслеживая его через отладчик, он устанавливает свойство Elements в CDATA с помощью аннотации @XMLCDATA, но данные не переносятся в CDATA. и в конце все еще экранируется.
Я знаю, что фреймворки Java поддерживают его, только на основе отладки я вижу, что в библиотеках есть тонны кода для обработки CDATA, но я не могу найти рабочий пример, не требующий конкретной реализации c Containers, такой как Weblogi c и MOXy.
Кто-нибудь решил эту проблему, кто мог бы поделиться, как у них CDATA работает в JAX-WS или Spring WS или оба? Я знаю, что это довольно общий вопрос, и я не предоставил solid примеров всех вещей, которые я пробовал, но я ищу, чтобы кто-нибудь в последнее время использовал это в Spring Boot / WS и / или JAX-WS. В некоторых из проблем, которые я обнаружил, выглядело так, как будто они могли обойти эту проблему несколько лет go, но эти же решения либо нет, либо я не получаю полный набор кусочков головоломки.
спасибо, Смитти