Сбой сервера Java XmlRpc с NoSuchMethodException для Encodings.isRecognizedEncoding - PullRequest
0 голосов
/ 19 июня 2019

org.apache.xmlrpc.server.XmlRpcServer завершается ошибкой с исключением NoSuchMethod при входящем запросе:

Caused by: java.lang.NoSuchMethodError: org.apache.xml.serializer.Encodings.isRecognizedEncoding(Ljava/lang/String;)Z api-server_1 | at org.apache.xml.serializer.dom3.LSSerializerImpl.write(LSSerializerImpl.java:926)

Путь к классу включает

Xalan-j2-serializer.jar

с

    sh-4.2# jar tvf xalan-j2-serializer.jar | grep Encodings   
    7717 Tue Jan 01 00:00:00 UTC 1980 org/apache/xml/serializer/Encodings.class
11598 Tue Jan 01 00:00:00 UTC 1980 org/apache/xml/serializer/Encodings.properties

Encodings.class декомпилирует:

sh-4.2# javap org.apache.xml.serializer.Encodings
Compiled from "Encodings.java"
public final class org.apache.xml.serializer.Encodings {  
        ...
        public org.apache.xml.serializer.Encodings();
        ...
        public static boolean isRecognizedEncoding(java.lang.String);
        ...

Сервер работает в докере на изображении Centos: 7. OpenJDK Java 8. Клиент представляет собой скрипт Python2.7, вызывающий xmlrpclib.ServerProxy.

1 Ответ

0 голосов
/ 19 июня 2019

Я столкнулся с тем же сообщением об ошибке.

Я использовал Axis2 и нашел это в Axis2 FAQ

Это происходит именно с Tomcat 4.x и 5.0 в среде JDK 1.5.Причина в том, что система обнаруживает неправильный класс фабрики трансформаторов.Это можно решить, просто поместив xalan-2.7.0.jar в каталог axis2 / WEB-INF / lib

Я заменил свой xalan на версию 2.7.1.

Такое же сообщение об ошибке сообщалось в OpenSAML .Эта проблема была решена путем обновления xalan до версии 2.7.1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...