Autore Topic: [ksoap2] UnparsableDateException: come fare?  (Letto 706 volte)

Offline helldron

  • Utente junior
  • **
  • Post: 68
  • Respect: 0
    • Mostra profilo
[ksoap2] UnparsableDateException: come fare?
« il: 26 Novembre 2011, 14:57:05 CET »
0
Ciao a tutti,

quando chiamo un Web Service SOAP tramite le API ksoap2 ottengo una oggetto SoapObject da cui posso recuperare i campi della response.

Sto notando che, sebbene l'applicazione non crasha, non fa il parsing delle date che sono in un formato del tipo:

2011-12-12T00:00:00+01:00 così come vengono resituite dall'xml della response.

Io faccio una cosa di questo tipo:

Codice: [Seleziona]
//result è un mio oggetto che si aspetta di settare una java.util.Date
result.setDataAnnullamento(parseStringToDate(response.getProperty(i).toString()));

NB: result è un oggetto che implementa KvmSerializable, Serializable

Poi in un mio metodo di utility per fare il parse in un formato più leggibile ho:

Codice: [Seleziona]
public Date parseStringToDate(String date){
            Date result = null;
            DateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
           
            try {
                        result = formatter.parse(date);
                        return result;
                } catch (ParseException e) {
                        e.printStackTrace();
                }
                return result;
    }

Tuttavia sembra non andare a buon fine, nel LogCat stampa:

Codice: [Seleziona]
11-26 14:51:44.858: WARN/System.err(411): java.text.ParseException: Unparseable date: "2011-12-12T00:00:00+01:00"
11-26 14:51:44.858: WARN/System.err(411):     at java.text.DateFormat.parse(DateFormat.java:626)
11-26 14:51:44.868: WARN/System.err(411):     at it.application.facade.AndFacade.parseStringToDate(AndFacade.java:247)
11-26 14:51:44.868: WARN/System.err(411):     at it.application.facade.AndFacade.parseAndDetailDTO(AndFacade.java:231)
11-26 14:51:44.868: WARN/System.err(411):     at it.application.facade.AndFacade.retrieveDetailByPk(AndFacade.java:168)
11-26 14:51:44.868: WARN/System.err(411):     at it.application.activity.DetailActivity.onCreate(SinistroDetailActivity.java:24)
11-26 14:51:44.868: WARN/System.err(411):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
11-26 14:51:44.878: WARN/System.err(411):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
11-26 14:51:44.878: WARN/System.err(411):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
11-26 14:51:44.878: WARN/System.err(411):     at android.app.ActivityThread.access$1500(ActivityThread.java:117)
11-26 14:51:44.878: WARN/System.err(411):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
11-26 14:51:44.878: WARN/System.err(411):     at android.os.Handler.dispatchMessage(Handler.java:99)
11-26 14:51:44.878: WARN/System.err(411):     at android.os.Looper.loop(Looper.java:130)
11-26 14:51:44.878: WARN/System.err(411):     at android.app.ActivityThread.main(ActivityThread.java:3683)
11-26 14:51:44.878: WARN/System.err(411):     at java.lang.reflect.Method.invokeNative(Native Method)
11-26 14:51:44.878: WARN/System.err(411):     at java.lang.reflect.Method.invoke(Method.java:507)
11-26 14:51:44.888: WARN/System.err(411):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
11-26 14:51:44.888: WARN/System.err(411):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
11-26 14:51:44.888: WARN/System.err(411):     at dalvik.system.NativeStart.main(Native Method)

Che posso fare per farmi restituire una Data nel formato del tip dd/MM/yyyy ??

Grazie!