Ошибка оси — java.lang.ClassCastException: org.apache.axis.attachments.AttachmentsImpl

Когда я пытаюсь подключиться к мыльному сервису, я получаю это исключение в liferay 7.

JAR-файл Axis уже доступен в папке tomcat/web-inf/lib. Я использую compileOnly в build.gradle.

AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode: 
 faultString: java.lang.ClassCastException: org.apache.axis.attachments.AttachmentsImpl cannot be cast to org.apache.axis.attachments.Attachments
 faultActor: 
 faultNode: 
 faultDetail: 
    {http://xml.apache.org/axis/}stackTrace:java.lang.ClassCastException: org.apache.axis.attachments.AttachmentsImpl cannot be cast to org.apache.axis.attachments.Attachments
    at org.apache.axis.Message.setup(Message.java:352)

Такой тип ClassCastException сигнализирует о том, что эти классы есть дважды в вашем пути к классам, и интерфейс загружается через одно место, в то время как реализация реализует другой альтернативный интерфейс. В сообщении об ошибке указано только имя интерфейса, а не загрузчик классов. Выясните, какой из jar-файлов в пути к классам является лишним, и удалите его.

Olaf Kock 24.01.2019 22:04

Возможный дубликат Liferay - Создание PDF и вывод в поток. Хотя технически этот вопрос/ответ выглядит совершенно по-другому, основной принцип, например. повторяющийся класс в пути к классам одинаков. Это тот случай, когда подкласс не может быть преобразован в его законный суперкласс/интерфейс.

Olaf Kock 25.01.2019 07:05

Вы нашли причину и устранили эту проблему? Мы сталкиваемся с той же проблемой, и при просмотре кода у нас есть compileOnly в пользовательском сервисе build.gradle, и в полном приложении нет другой версии оси. При поиске jar в полном комплекте мы видим следующие два места, где доступен axis.jar: \bundles\tomcat-9.0.6\webapps\ROOT\WEB-INF\lib => axis.jar \bundles\osgi\state\ org.eclipse.osgi\1033\0\.cp\lib => org.apache.axis-1.4.LIFERAY-PATCHED-2.jar Любые указатели будут очень полезны!

ankurjhawar 21.02.2019 06:10
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
3
1 103
0

Другие вопросы по теме