При попытке развернуть мое приложение я получил следующее исключение:
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
Мой код работал хорошо, пока я не изменил тип возвращаемого значения из списка в список <список <RelationCanonical>>
Вот частичный веб-сервис:
@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<List<RelationCanonical>> getRelationsFromPerson(@WebParam(name = "username")
String username, @WebParam(name = "password")
String password, @WebParam(name = "foedselsnummer")
String... foedselsnummer) {
......
......
......
}
Я также пытался удалить @SOAPBinding и попробовать значение по умолчанию, но результат тот же.
Цени любую помощь
UPDATE
Я хочу кое-что отметить. Я изменил весь список на ArrayList, а затем он скомпилирован. Причина, по которой я говорю скомпилированный и не сработавший, заключается в том, что он ведет себя странно. Я получаю объект типа:
RelationServiceStub.ArrayList
но объект не имеет методов get или не ведет себя как список. Я также пытался преобразовать его в список, но это не сработало.
Обратите внимание, что это после того, как я использовал Axis 2 и wsdl2java. Так что да, теперь он компилируется, но я не знаю, как получить данные.