【发布时间】:2020-07-08 14:14:09
【问题描述】:
我遇到了这个异常
java.lang.NoSuchMethodError: org.apache.xml.security.utils.XMLUtils.decode
然后我更新了我的依赖项并转移到另一个类似的异常,我有一段时间无法解决:
当我的模块在调用此方法时收到请求时,我收到 NoSuchMethodError
WebServiceTemplate client = ...;
client.marshalSendAndReceive(req, new ActionCallback("http://samples/RequestOrder"));
它抛出
java.lang.NoSuchMethodError: org.apache.xml.security.encryption.AbstractSerializer: method <init>()V not found
at org.apache.cxf.ws.security.wss4j.StaxSerializer.<init>(StaxSerializer.java:62)
(至少我认为)我的依赖项的相关部分
<dependency>
<groupId>org.apache.ws.security</groupId>
<artifactId>wss4j</artifactId>
<version>1.6.15</version>
</dependency>
<dependency>
<groupId>org.springframework.ws</groupId>
<artifactId>spring-ws-security</artifactId>
<version>3.0.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-ws-security</artifactId>
<version>3.3.6</version>
</dependency>
我查看了org.apache.xml.security.encryption 的多个版本,但看起来这些版本中的任何一个都没有这种方法。知道什么是正确的版本组合吗?
作为旁注,我还发现了这个库,并认为它会有所帮助,但它似乎与前面提到的 <groupId>org.apache.ws.security</groupId>
<dependency>
<groupId>org.apache.wss4j</groupId>
<artifactId>wss4j</artifactId>
<version>2.3.0</version>
<type>pom</type>
</dependency>
【问题讨论】: