Websphere 8.5:找不到类,即使这些类在 lib 文件夹中



我正在使用spring/wss4j进行WebSphere 8.5中的Web服务安全性。WSS4J需要XMLSEC.JAR,并且我在Web-Inf/lib/XMlSec-2.0.4.4.jar下包括了XMLSec.jar。但是WebSphere classloader找不到domxmlSignatureFactory。

Caused by: java.lang.ClassNotFoundException: org.apache.jcp.xml.dsig.internal.dom.DOMXMLSignatureFactory
at java.net.URLClassLoader.findClass(URLClassLoader.java:599) ~[na:1.7.0]
at com.ibm.ws.bootstrap.ExtClassLoader.findClass(ExtClassLoader.java:204) ~[bootstrap.jar:WAS855.SERV1 [cf011339.02]]
at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:760) ~[na:1.7.0]
at java.lang.ClassLoader.loadClass(ClassLoader.java:737) ~[na:1.7.0]
at com.ibm.ws.bootstrap.ExtClassLoader.loadClass(ExtClassLoader.java:119) ~[bootstrap.jar:WAS855.SERV1 [cf011339.02]]
at java.lang.ClassLoader.loadClass(ClassLoader.java:707) ~[na:1.7.0]
at com.ibm.ws.classloader.ProtectionClassLoader.loadClass(ProtectionClassLoader.java:62) ~[com.ibm.ws.runtime.jar:WAS855.SERV1 [cf011339.02]]
at com.ibm.ws.classloader.ProtectionClassLoader.loadClass(ProtectionClassLoader.java:58) ~[com.ibm.ws.runtime.jar:WAS855.SERV1 [cf011339.02]]
at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:616) ~[com.ibm.ws.runtime.jar:WAS855.SERV1 [cf011339.02]]
at java.lang.ClassLoader.loadClass(ClassLoader.java:707) ~[na:1.7.0]
at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:616) ~[com.ibm.ws.runtime.jar:WAS855.SERV1 [cf011339.02]]
at java.lang.ClassLoader.loadClass(ClassLoader.java:707) ~[na:1.7.0]
at javax.xml.crypto.dsig.XMLDSigSecurity.doGetImpl(XMLDSigSecurity.java:181) ~[na:na]
... 98 common frames omitted

我为应用程序和模块都设置了parent_last。XMLSEC-2.0.4.JAR在"类加载器查看器"下呈现。我已经检查了我所有的libs,没有重复的domxmlsignaturefactory类。有人可以帮我!

您将XMLSec.jar添加为孤立的共享库并将其与您的应用程序关联。

问题的根本原因是XMLSEC JARS的较旧版本具有Javax类。我们使用了XMLSEC-2.0.0罐子,它起作用了。我们从santuario xmlsec jar问题https://issues.apache.org/jira/jira/browse/santuario-358获得了提示。我还注意到最新的CXF版本3.1.6包含XMLSEC-2.0.6.JAR,JAR不包含Javax软件包,这是解决此问题的真正解决方案。

请使用最新的CXF软件包(> 3.0)。

相关内容

  • 没有找到相关文章

最新更新