ошибка java.lang.LinkageError при использовании cxf в karaf

#osgi #cxf #apache-karaf #camel-cxf #apache-karaf-feature

#osgi #cxf #apache-karaf #camel-cxf #apache-karaf-функция

Вопрос:

я использую cxf 3.3.5 и karaf 4.2.7 У меня есть приложение, которое является soap-клиентом и делает запросы к soap-сервису, если на удаленной службе не возникает ошибок, тогда все в порядке, но когда возникает исключение, тогда я вижу ошибку для места правильной обработки ошибок

 Caused by: java.lang.LinkageError: loader constraint violation: loader (instance of <bootloader>) previously initiated loading for a different type with name "javax/xml/soap/SOAPFault"
    at javax.xml.ws.soap.SOAPFaultException.<init>(SOAPFaultException.java:63)
    at org.apache.cxf.jaxws.JaxWsClientProxy.mapException(JaxWsClientProxy.java:195)
    at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:145)
    at com.sun.proxy.$Proxy126.insupdDevice(Unknown Source)
  

насколько я понял, проблема заключается в пакете javax.xml.soap, который был загружен saaj-api (был установлен во время feature:install cxf)

Я видел тему http://karaf.922171.n3.nabble.com/Loader-constraint-violation-javax-xml-soap-SOAPFault-td4056103.html , но, насколько я понял, решения все еще нет

есть идеи?

Комментарии:

1. мое решение: отредактируйте jre.propirties, добавьте javax.xml.soap для версии 1.8 (очень странно, почему это не для версии 1.8, но есть для более ранних версий), удалите пакет saaj-api и перезапустите karaf

2. Я добавил javax.xml.soap, saaj-api отсутствует в моем случае, но в моем случае это не разрешилось

3. хорошо, найден и удален saaj-api, и теперь ошибка LinkageError исчезла