ClassCastException с несколькими войнами, развернутыми в Tomcat

StackOverflow https://stackoverflow.com/questions/7349843

  •  27-10-2019
  •  | 
  •  

Вопрос

У меня есть две войны, развернутые в одном и том же экземпляре Tomcat 7, и оба используют CXF + WSS4J. Два приложения общаются через SOAP, а интерцепторы WSS4J обрабатывают утверждения SAML в заголовках SOAP. При тестировании каждой войны в изоляции все работает нормально, но когда оба приложения развернуты и одно приложение отправляет сообщение SOAP другому, я получаю следующее ClassCastException:

java.lang.ClassCastException: org.apache.ws.security.WSDocInfo cannot be cast to org.apache.ws.security.WSDocInfo

Для меня это подразумевает проблему загрузчика класса, но в конкретном случае я не могу понять. Каждое приложение имеет свою собственную копию WSS4J в соответствующих папках Web-Inf/LIB, и я не вижу библиотеки WSS4J в общих библиотеках Tomcat.

В производстве эти два приложения, скорее всего, никогда не будут использовать одну и ту же JVM, не говоря уже о том, чтобы быть в одном и том же экземпляре Tomcat, но я буду чувствовать себя более комфортно, когда я закончу этот вопрос. Это также помогает запустить оба приложения из одного и того же экземпляра Tomcat в разработке. У кого -нибудь есть идеи, в чем может быть проблема?

Обновление 1:Я развернул каждую войну в отдельных экземплярах Tomcat, которые используют одну и ту же JVM, так и ClassCastException исчезают. Должно быть, я не понимаю с загрузкой класса Tomcat?

Это было полезно?

Решение

От The WSS4J Tracker:

https://issues.apache.org/jira/browse/wss-282

Strtransform jce -провайдер бросает java.lang.classcastexception: org.jcp.xml.dsig.internal.dom.domsubtreedata, несовместимый с javax.xml.crypto.octetStreamdata в WebSphere

Затронутые версии: 1.6

Ик ...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top