2015-05-06 98 views
1

我在websphere 8.5中使用spring/wss4j來實現Web服務安全性。 Wss4j需要xmlsec.jar,並且在WEB-INF/lib/xmlsec-2.0.4.jar下包含了xmlsec.jar。但是websphere類加載器找不到DOMXMLSignatureFactory。Websphere 8.5:即使這些類位於lib文件夾中也找不到類

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設置了APPLICATION和MODULE。 Xmlsec-2.0.4.jar在「類加載器查看器」下提供。我檢查了我的所有庫,沒有重複的DOMXMLSignatureFactory類。有人可以幫助我!

+0

交叉發佈相關問題和答案steveT列出已知有問題的罐子。 http://stackoverflow.com/questions/31110951/apache-cxf-2-7-11-on-websphere-8-5 – Revoman

回答

1

將xmlsec.jar添加爲獨立的共享庫並將其與您的應用程序關聯後,您可能會獲得更多成功。

1

問題的根本原因是舊版本的xmlsec jars有javax類。我們使用了xmlsec-2.0.0罐子,它工作。 我們從Santuario xmlsec jar問題https://issues.apache.org/jira/browse/SANTUARIO-358得到了提示。我還注意到最新的CXF版本3.1.6包含xmlsec-2.0.6.jar,它不包含javax包,這是真正解決此問題的方案。

請使用最新的cxf軟件包(> 3.0)。

相關問題