Tengo problemas para correlacionar mi tipo de datos de Java con el tipo de datos de fecha de esquema estándar.Asignación del objeto de fecha de Java al formato de fecha y hora del esquema XML
Tengo una clase simple que anoté de esta manera. La variable de instancia de período es del tipo de objeto Fecha de Java.
@XmlAccessorType(value = XmlAccessType.NONE)
public class Chart {
@XmlElement
private double amount;
@XmlElement
private double amountDue;
@XmlElement
private Date period;
//constructor getters and setters
}
Aquí está mi servicio web
@WebService
public class ChartFacade {
@WebMethod
public Chart getChart() throws ParseException {
SimpleDateFormat df = new SimpleDateFormat("yyyy-mm-dd");
Chart chart = new Chart(20.0,20.5, df.parse("2001-01-01"));
return chart;
}
}
Mi problema es que devuelve los datos de la fecha en un formato no de acuerdo con lo que estoy esperando.
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:getChartResponse xmlns:ns2="http://ss.ugbu.oracle.com/">
<return>
<amount>20.0</amount>
<amountDue>20.5</amountDue>
**<period>2001-01-01T00:01:00+08:00</period>**
</return>
</ns2:getChartResponse>
</S:Body>
</S:Envelope>
quería el elemento periodo que se devuelva como esto
<period>2001-01-01</period>
¿Hay alguna manera de lograr esto?
¿Cómo hacer que la fecha xml para formatear aaaa-MM-dd en este caso? –
@road to yamburg - aaaa-MM-dd es el formato de xsd: date, que se especifica en la anotación @XmlSchemaType. –
Es bueno saberlo, gracias, pero ¿puede indicarme la documentación que lo dice? Miré http://download.oracle.com/javaee/5/api/javax/xml/bind/annotation/XmlSchemaType.html y no menciona ningún formato. –