我在我的应用程序中都使用了 Spring Web 服务和 Axis2。它们是完全独立的,而且效果很好,除了 Spring WebServiceTemplate 开始在下面抛出异常..
我怀疑这是因为 Spring 需要 saaj.jar(其中包含 javax.xml.soap.SOAPElement)而 Axis2 需要 axiom-dom.jar(其中包含 org.apache.axiom.om.impl.dom.ElementImpl)
这两个接口都扩展了 org.w3c.dom.Element 并以某种方式从 axiom-dom.jar 中获取了 Spring
除了可能将 axiom-dom.jar 重命名为 z-axiom-dom.jar 之外,我可以做些什么来防止 Spring 在运行时选择错误的实现,所以它在类路径的后面有什么想法?
com.sun.xml.wss.XWSSecurityException: com.sun.xml.wss.XWSSecurityException: java.lang.ClassCastException: org.apache.axiom.om.impl.dom.ElementImpl 不能转换为 javax.xml.soap.SOAPElement 在 org.springframework.ws.soap.security.xwss.XwsSecurityInterceptor.secureMessage(XwsSecurityInterceptor.java:139) 在 org.springframework.ws.soap.security.AbstractWsSecurityInterceptor.handleRequest(AbstractWsSecurityInterceptor.java:179) 在 org.springframework.ws .client.core.WebServiceTemplate.doSendAndReceive(WebServiceTemplate.java:542) at org.springframework.ws.client.core.WebServiceTemplate.sendAndReceive(WebServiceTemplate.java:502) at org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive (WebServiceTemplate.java:351) 在 org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive(WebServiceTemplate.java:341)