JAX-RPCのCalendarやその他のDateデータ型は使用しないでください。

このルールは、以下のいずれかのスキーマ・タイプへの参照にフラグを立てる: 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

これらのスキーマ型とJAX-RPCに関連するJava型 java.util.String および java.util.Calendar はJAX-WSではサポートされていない。
JAX-WSおよびJAXBへの移行には以下が必要となる。 必要となる。 これらのスキーマ・タイプを、サポートされている Java ・タイプで使用する必要がある。 javax.xml.datatype.XMLGregorianCalendar 代わりに使用します。

JAX-RPCカレンダー・クラスの例は次のようになる:

import java.util.Calendar;
import java.rmi.RemoteException;
    
public Calendar calculateShippingDate(Calendar requestedDate) throws RemoteException; {
    // Set the date to the date that was sent to us and add 7 days.
    requestedDate.add(java.util.Calendar.DAY_OF_MONTH, 7);
    // . . .
    
    return requestedDate;     
    }

JAX-WSXMLGregorianCalendarクラスの例は以下のようになる:

import javax.xml.datatype.XMLGregorianCalendar;
import javax.xml.datatype.DatatypeConfigurationException;
    
public XMLGregorianCalendar calculateShippingDate(
    XMLGregorianCalendar requestedDate) {
    try {
        // Create a data type factory.
        DatatypeFactory df = DatatypeFactory.newInstance();
        // Set the date to the date that was sent to us そして 7日追加する。
        Duration duration = df.newDuration("P7D");
        requestedDate.add(duration);
    } catch (DatatypeConfigurationException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        }
        // . . .
    
        return requestedDate;
    }

上の例からわかるように、入力パラメーターは、型が java.util.Calendar javax.xml.datatype.XMLGregorianCalendar .
これは、WSDLがこれらのパラメーターの型を指定しているためである、 xsd:dateTime JAX-RPC はこのデータ型を java.util.Calendar にマップする javax.xml.datatype.XMLGregorianCalendar .