java - 添加 JPA 注释后的 JAXB IllegalAnnotationExceptions
问题描述
我在这里读了几个线程,但仍然不明白为什么我会收到这个异常。一切都很好,我能够使用 Spring 从我的 SOAP Web 服务中获得正确的响应。但是后来我添加了 Spring Data JPA 和几个注释来将数据保存在我的数据库中,并且异常开始出现在响应 XML 中。
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "number", propOrder = {
"code",
"fileNames",
"error"
})
@Entity
public class Number {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
@Column(name = "number")
private int number;
@XmlElement(required = true)
@Column(name = "code")
protected String code;
@Column(name = "filenames")
@Convert(converter = ListConverter.class)
//@Transient
protected List<String> fileNames;
@XmlElement(required = true)
@Column(name = "error")
private String error;
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public String getCode() {
return code;
}
public void setCode(String value) {
this.code = value;
}
public List<String> getFileNames() {
if (fileNames == null) {
fileNames = new ArrayList<String>();
}
return this.fileNames;
}
public String getError() {
return error;
}
public void setError(String value) {
this.error = value;
}
}
这就是我得到的回应:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode>
<faultstring xml:lang="en">2 counts of IllegalAnnotationExceptions</faultstring>
</SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
解决方案
我为“id”和“number”字段添加了@XmlTransient 注释,现在一切正常。
推荐阅读
- powershell - Powershell - 多次运行 New-PSSession 会导致错误
- javascript - 增加容器高度
- json - 具有多态性的 Kotlin 序列化 MissingFieldException
- javascript - Chrome 选项卡在 React 应用程序包装非反应模块中的窗口调整大小时挂起 - “断开的端口对象”
- verilog - 如何创建使用 OPMODE[6:4] = 100 OPMODE[3:2] = 10 OPMODE[1:0] = 00 的乘数?
- python - 在 keras 中使用自定义生成器读取 3D numpy 文件时出现问题
- java - 私人频道不会触发 Slack 事件
- spring-boot - 具有相同参数值的休眠查询与线程睡眠但得到相同的结果虽然数据库更新行值
- c# - ASP.NET 请求中的 async/await 有什么好处?
- excel - Excel - 我希望将行分组在一起并创建这些分组行的表格,以便按特定列对它们进行排序