java jaxb 集合_java.util.List是一个接口,JAXB无法处理接口

尝试部署应用程序时,似乎出现以下异常:

Caused by: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 2 counts of IllegalAnnotationExceptions

java.util.List is an interface, and JAXB can't handle interfaces.

this problem is related to the following location:

at java.util.List

at private java.util.List foobar.alkohol.register.webservice.jaxws.GetRelationsFromPersonResponse._return

at foobar.alkohol.register.webservice.jaxws.GetRelationsFromPersonResponse

java.util.List does not have a no-arg default constructor.

this problem is related to the following location:

at java.util.List

at private java.util.List foobar.alkohol.register.webservice.jaxws.GetRelationsFromPersonResponse._return

at foobar.alkohol.register.webservice.jaxws.GetRelationsFromPersonResponse

我的代码运行良好,直到将返回类型从List更改为List >

这是部分Web服务:

@Name("relationService")

@Stateless

@WebService(name = "RelationService", serviceName = "RelationService")

@SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)

public class RelationService implements RelationServiceLocal {

private boolean login(String username, String password) {

Identity.instance().setUsername(username);

Identity.instance().setPassword(password);

Identity.instance().login();

return Identity.instance().isLoggedIn();

}

private boolean logout() {

Identity.instance().logout();

return !Identity.instance().isLoggedIn();

}

@WebMethod

public List> getRelationsFromPerson(@WebParam(name = "username")

String username, @WebParam(name = "password")

String password, @WebParam(name = "foedselsnummer")

String... foedselsnummer) {

......

......

......

}

我也尝试过通过删除@SOAPBinding并尝试使用默认值,但是会出现相同的结果。 感谢任何帮助

更新

我要注意一些事情。我将所有List更改为ArrayList,然后进行编译。我之所以说编译但不起作用是因为它的行为很奇怪。我得到一个类型为Object的对象:RelationServiceStub.ArrayList,但是该对象没有get方法,或者也没有表现为List。我也尝试将其投射到列表中,但没有用。

请注意,这是在我使用Axis 2和wsdl2java之后的。是的,现在可以编译了,但是我不知道如何获取数据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值