No utilice JAX-RPC Calendar y otros tipos de datos Date

Esta regla marca las referencias a cualquiera de los siguientes tipos de esquema: http://www.w3.org/2001/XMLSchema:duration, http://www.w3.org/2001/XMLSchema:dateTime, http://www.w3.org/2001/XMLSchema:time, http://www.w3.org/2001/XMLSchema:date, http://www.w3.org/2001/XMLSchema:gYearMonth, http://www.w3.org/2001/XMLSchema:gYear, NAMESPACE:gMonth, http://www.w3.org/2001/XMLSchema:gDay

Estos tipos de esquema y sus tipos Java relacionados con JAX-RPC java.util.String y java.util.Calendar no son compatibles con JAX-WS.
La migración a JAX-WS y JAXB requerirá la el uso de esos tipos de esquema con el tipo Java compatible javax.xml.datatype.XMLGregorianCalendar en su lugar.

Un ejemplo de una clase Calendario JAX-RPC tiene el siguiente aspecto:

import java.util.Calendar;
import java.rmi.RemoteException;
    
public Calendar calculateShippingDate(Calendar requestedDate) throws RemoteException; {
establezca la fecha que se nos envió y añada 7 días.
    requestedDate.addjava.util.Calendar.DAY_OF_MONTH, 7);
...// ...
    
    return requestedDate;     
    }

Un ejemplo de una clase JAX-WS XMLGregorianCalendar tiene el siguiente aspecto:

import javax.xml.datatype.XMLGregorianCalendar;
import javax.xml.datatype.DatatypeConfigurationException;
    
public XMLGregorianCalendar calculateShippingDate(
    XMLGregorianCalendar requestedDate) {
    try {
        // Crear una fábrica de tipos de datos.
        DatatypeFactory df = DatatypeFactory.newInstance();
establecer la fecha a la fecha que se nos envió y añadir 7 días.
duración = df.newDuration("P7D");
        requestedDate.add(duration);
} catchDatatypeConfigurationException e) {
       // TODO Bloque catch autogenerado
        e.printStackTrace();
        }
. . .
    
return requestedDate;
    }

Como se puede ver en el ejemplo anterior el parámetro de entrada ha cambiado de tipo java.util.Calendar por: javax.xml.datatype.XMLGregorianCalendar .
Esto se debe a que el WSDL especifica que estos parámetros son de tipo, xsd:dateTime jAX-RPC asigna este tipo de datos a java.util.Calendar mientras que JAX-WS y JAXB lo asignan a javax.xml.datatype.XMLGregorianCalendar .