Иногда выбрасывается SAAJMetaFactoryImpl not found

avatar
azrael3192
9 августа 2021 в 04:15
220
0
1

Я использую OpenJDK 11, и вот мой код для получения сообщения SOAP. SOAPMessage message = MessageFactory.newInstance(dataDTO.getSoapVersion()).createMessage(null, new ByteArrayInputStream(encryptedResponse.getBytes()));

Иногда выдает ошибку:

javax.xml.soap.SOAPException: невозможно создать SAAJ meta-factoryProvider com.sun.xml.internal.messaging.saaj.soap.SAAJMetaFactoryImpl не найден в javax.xml.soap.SAAJMetaFactory.getInstance(SAAJMetaFactory.java:94) ~[saaj-api-1.3.5.jar:?]

Я думаю, это потому, что он ищет метод в saaj-api 1.3.5 вместо saaj-impl 1.5.1

ниже моя зависимость POM:

<dependency>
        <groupId>javax.xml.soap</groupId>
        <artifactId>javax.xml.soap-api</artifactId>
        <version>1.4.0</version>
    </dependency>   
<dependency>
        <groupId>com.sun.xml.messaging.saaj</groupId>
        <artifactId>saaj-impl</artifactId>
        <version>1.5.1</version>
    </dependency>
    <dependency>
        <groupId>javax.xml.soap</groupId>
        <artifactId>saaj-api</artifactId>
        <version>1.3.5</version>
    </dependency>

Поскольку javax.xml.soap-api 1.4.0 используется какой-то важной функцией, риск ее удаления слишком высок. В любом случае, могу ли я убедиться, что моя функция работает должным образом с загрузкой надлежащего класса?

Источник
Piotr P. Karwasz
30 сентября 2021 в 03:52
0

Просто удалите saaj-api: артефакты saaj-api и javax.xml.soap-api одинаковы.

Ответы (0)