Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Webservice com XML contendo campos Java.sql.date

Estou criando uma aplicação apenas para testar o conteudo do curso. Na minha classe possuo campos do tipo java.sql.date e na hora de executar meu webservice ocorre erro porque o tipo date nao possue construtor publico. Criei uma classe adaptor para tentar contornar o problema, apesar de nao gerar mais o erro o webservice recebe os campos data como nulo.

//Modelo
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
@Entity
public class Shift {
    @Id @GeneratedValue(strategy=GenerationType.IDENTITY)
    private Long id;
    @ManyToOne (cascade=CascadeType.ALL)
    private User user;
    @ManyToOne (cascade=CascadeType.ALL)
    private Company company;
    private Integer reference;
    private Double paymentRate;
    @XmlJavaTypeAdapter(SqlDateAdapter.class)
    private Date initialDay;


//Adaptor
public class SqlDateAdapter extends XmlAdapter<String, Date> {


    public String marshal(Date v) throws Exception {
        return v.toString();
    }

    public Date unmarshal(String v) throws Exception {
        return Date.valueOf(v);
    }

}


//xml
<shift>
 <user>
     <id>1</id>
 </user>
 <initialDate>2016-11-10</initialDate>
 <finalDate>2016-11-10</finalDate>
 <initialTime>10:00:00</initialTime>
 <finalTime>16:00:00</finalTime>
 <company><id>1</id></company>
 <reference>12</reference>
</shift>
1 resposta
solução!

A tag não deveria ser initialDay?

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software