Ao inserir as notações @XmlJavaTypeAdapter @XmlElement Aos atributos, e tentar iniciar o servidor, recebo o erro :
EstoqueWS rodando: http://localhost:8080/estoquews Exception in thread "main" com.sun.xml.internal.ws.spi.db.DatabindingException: com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException: 1 counts of IllegalAnnotationExceptions A classe tem duas propriedades do mesmo nome "dataValidade" this problem is related to the following location:
Percebi que ao retirar os gets e sets da função o erro desaparece. imagino que devo adicionar alguma notação as funcoes get e sets para remover este erro. Obrigado
Segue o codigo
public class TokenUsuario {
@XmlElement(required = true)
private String token;
@XmlJavaTypeAdapter(DateAdapter.class)
@XmlElement(required = true)
private Date dataValidade;
// JAX-B precisa desse construtor
TokenUsuario() {
}
public TokenUsuario(String token, Date dataValidade) {
this.token = token;
this.dataValidade = dataValidade;
}
public String getToken() {
return token;
}
public void setToken(String token) {
this.token = token;
}
public Date getDataValidade() {
return dataValidade;
}
public void setDataValidade(Date dataValidade) {
this.dataValidade = dataValidade;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((token == null) ? 0 : token.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
TokenUsuario other = (TokenUsuario) obj;
if (token == null) {
if (other.token != null)
return false;
} else if (!token.equals(other.token))
return false;
return true;
}
@Override
public String toString() {
return "TokenUsuario [token=" + token + ", dataValidade=" + dataValidade + "]";
}
}