Я занимаюсь разработкой веб-приложения, его сервлет, который в основном выступает в качестве внешнего интерфейса для веб-службы, я использую CXF для клиента веб-службы, приложение работает на сервере WebLogic 9.10, все работает нормально, пока владелец проекта решил добавить поддержку ssl, без особых проблем, так как я использовал cxf whitout spring, мне удалось настроить параметры TLS в канале http клиента службы, также настроил хранилище ключей с ключом сервера, корневым сертификатом ca и клиентский сертификат, протестирован под экземпляром tomcat и работал нормально.
Проблемы начались при повторном развертывании приложения на сервере weblogic и появлении странных ошибок, во-первых:
java.lang.ClassCastException: com.sun.xml.ws.client.sei.SEIStub cannot be cast to org.apache.cxf.frontend.ClientProxy
at org.apache.cxf.frontend.ClientProxy.getClient
затем я понял, что weblogic загружает свою собственную реализацию JAX-WS, хорошо, без проблем, просто добавил weblogic.xml с параметром «предпочесть-web-inf-классы» в значение true, повторно развернул, и теперь я получил это исключение:
java.lang.LinkageError: loader constraint violation: when resolving method "javax.xml.ws.Service.<init>(Ljava/net/URL;Ljavax/xml/namespace/QName;)V" the class loader (instance of weblogic/utils/classloaders/ChangeAwareClassLoader) of the current class, com/adinfi/imgsvc/cm/service/CMBGenericWebServiceService, and the class loader (instance of <bootloader>) for resolved class, javax/xml/ws/Service, have different Class objects for the type javax/xml/namespace/QName used in the signature
Это получило меня, я подумал, что что-то не так с классом, поэтому я начал удалять jar-файлы из приложения и все еще получал еще несколько ошибок связывания, последнее, что я получил, это:
java.lang.LinkageError: loader constraint violation: loader (instance of <bootloader>) previously initiated loading for a different type with name "org/w3c/dom/UserDataHandler"
и вот так выглядит каталог "Web-Inf / lib /" моего приложения:
classes12.jar
classes12.zip
common.jar
common.resources.jar
commons-beanutils-1.8.0.jar
commons-discovery.jar
commons-logging-1.1.1.jar
commons-logging-api.jar
commons-logging-api-1.1.1.jar
cxf-2.2.5.jar
log4j-1.2.8.jar
ras.jar
runtimefw.jar
wsdl4j-1.6.2.jar
wss4j-1.5.8.jar
xalan-2.7.1.jar
xml-resolver-1.2.jar
XmlSchema-1.4.5.jar
xmlsec-1.4.3.jar
Есть идеи, что я делаю не так? заранее спасибо