Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente di HTML.it L'avatar di wegawhite
    Registrato dal
    Aug 2004
    Messaggi
    1,400

    [Android\WebService] Crash applicazione inspiegabile

    Ciao.

    Sto provando ad inserire dei parametri provenienti da una app Android in un database MySQL con l'utilizzo di un Web Service ASP NET

    Il Web Service ASP NET funziona correttamente, ma quando provo tramite l'applicazione Android questa va in crash, inspiegabilmente per me.

    Il log cat di Eclipse:
    codice:
    03-02 20:22:46.200: E/SpannableStringBuilder(2095): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
    
    03-02 20:22:46.200: E/SpannableStringBuilder(2095): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
    
    
    03-02 20:22:46.200: E/SpannableStringBuilder(2095): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
    
    
    03-02 20:22:46.200: E/SpannableStringBuilder(2095): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
    
    
    03-02 20:22:51.966: E/AndroidRuntime(2095): FATAL EXCEPTION: main
    
    
    03-02 20:22:51.966: E/AndroidRuntime(2095): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xxxxx.xxxxx/com.xxxxx.xxxxx.callws}: java.lang.NullPointerException: println needs a message
    
    
    03-02 20:22:51.966: E/AndroidRuntime(2095):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2110)
    
    
    03-02 20:22:51.966: E/AndroidRuntime(2095):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135)
    
    
    03-02 20:22:51.966: E/AndroidRuntime(2095):     at android.app.ActivityThread.access$700(ActivityThread.java:140)
    
    
    03-02 20:22:51.966: E/AndroidRuntime(2095):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1237)
    
    
    03-02 20:22:51.966: E/AndroidRuntime(2095):     at android.os.Handler.dispatchMessage(Handler.java:99)
    
    
    03-02 20:22:51.966: E/AndroidRuntime(2095):     at android.os.Looper.loop(Looper.java:137)
    
    
    03-02 20:22:51.966: E/AndroidRuntime(2095):     at android.app.ActivityThread.main(ActivityThread.java:4935)
    
    
    03-02 20:22:51.966: E/AndroidRuntime(2095):     at java.lang.reflect.Method.invokeNative(Native Method)
    
    
    03-02 20:22:51.966: E/AndroidRuntime(2095):     at java.lang.reflect.Method.invoke(Method.java:511)
    
    
    03-02 20:22:51.966: E/AndroidRuntime(2095):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
    
    
    03-02 20:22:51.966: E/AndroidRuntime(2095):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
    
    
    03-02 20:22:51.966: E/AndroidRuntime(2095):     at dalvik.system.NativeStart.main(Native Method)
    
    
    03-02 20:22:51.966: E/AndroidRuntime(2095): Caused by: java.lang.NullPointerException: println needs a message
    
    
    03-02 20:22:51.966: E/AndroidRuntime(2095):     at android.util.Log.println_native(Native Method)
    
    
    03-02 20:22:51.966: E/AndroidRuntime(2095):     at android.util.Log.e(Log.java:297)
    
    
    03-02 20:22:51.966: E/AndroidRuntime(2095):     at com.xxxxx.xxxxx.callws.onCreate(callws.java:66)
    
    
    03-02 20:22:51.966: E/AndroidRuntime(2095):     at android.app.Activity.performCreate(Activity.java:5206)
    
    
    03-02 20:22:51.966: E/AndroidRuntime(2095):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
    
    
    03-02 20:22:51.966: E/AndroidRuntime(2095):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2074)
    
    
    03-02 20:22:51.966: E/AndroidRuntime(2095):     ... 11 more
    Spero possiate aiutarmi, grazie.

    classe callws.java
    codice:
    package com.xxxxx.xxxxx;
    
    import java.net.SocketException;
    
    
    import org.ksoap2.SoapEnvelope;
    import org.ksoap2.serialization.SoapObject;
    import org.ksoap2.serialization.SoapSerializationEnvelope;
    import org.ksoap2.transport.HttpTransportSE;
    
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.util.Log;
    import android.widget.TextView;
    import android.widget.Toast;
    
    
    public class callws extends Activity {
    
    
        private static final String SOAP_ACTION = "http://www.xxxxx.com/WebService/register";
        private static final String OPERATION_NAME = "register";
        private static final String WSDL_TARGET_NAMESPACE = "http://www.xxxxx.com/WebServiceGoInsert";
        private static final String SOAP_ADDRESS = "http://www.xxxxx.com/WebServiceGoInsert.asmx";
    
    
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.ws);
            
            SoapObject Request = new SoapObject(WSDL_TARGET_NAMESPACE,
                    OPERATION_NAME);
    
    
            Request.addProperty("fname", String.valueOf("Peppino"));
            Request.addProperty("lname", String.valueOf("DiCaprio"));
            Request.addProperty("email", String.valueOf("Peppino"));
            Request.addProperty("num", String.valueOf("Peppino"));
            Request.addProperty("locID", String.valueOf("10"));
            Request.addProperty("username", String.valueOf("Peppino"));
            Request.addProperty("password", String.valueOf("Peppino"));
    
    
            SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
                    SoapEnvelope.VER11);
    
    
            envelope.dotNet = true;
            envelope.setOutputSoapObject(Request);
    
    
            HttpTransportSE httptransport = new HttpTransportSE(SOAP_ADDRESS);
    
    
            TextView textView = new TextView(this);
            setContentView(textView);
            
            try {
                httptransport.call(SOAP_ACTION, envelope);
                SoapObject response = (SoapObject) envelope.getResponse();
                int result = Integer.parseInt(response.getProperty(0).toString());
                            System.out.println(result);
    
    
                if (result == 1) {
                    Toast.makeText(callws.this, "Dati correttamente inseriti", Toast.LENGTH_LONG).show();
                } else {
                    Toast.makeText(callws.this, "Riprova", Toast.LENGTH_LONG).show();
                }
    
    
            } catch (SocketException ex) {
                ex.printStackTrace();
                Log.e("Error", ex.getMessage());
            } catch (Exception e) {
                e.printStackTrace();
                Log.e("Error", e.getMessage());
            }
        }
    }
    ws.xml
    codice:
    <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >
    
    
        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:autoLink="web"
            android:linksClickable="true"
            android:text="@string/hello"
            android:textSize="160sp"
            android:textStyle="bold" />
        
    </LinearLayout>

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Alcune considerazioni:

    1) Non usare System.out.println() per effettuare "stampe di debug". La piattaforma Android ha un oggetto apposito per il logging, che si chiama "Log"; Log.d() va usato per il debug, Log.e() va usato per segnalare errori, ecc. I metodi vogliono 2 o 3 parametri: il primo è un "tag" (che identifica, solitamente, il componente che sta loggando... di solito si scrive il nome della classe), il secondo è il messaggio da mandare in output. Il terzo, facoltativo, è l'eventuale eccezione (si usa, di solito, quando si loggano errori).

    2) E' ridondante e altamente inefficiente usare String.valueOf() per un oggetto che è già una stringa. Tutto ciò che è fra virgolette è una stringa, quindi non ha nessun senso fare uno String.valueOf() di un tale oggetto.


    codice:
            Request.addProperty("fname", "Peppino");
            Request.addProperty("lname", "DiCaprio");
            Request.addProperty("email", "Peppino");
            Request.addProperty("num", "Peppino");   // Qui, visto il nome della property, mi aspetterei un numero... boh
            Request.addProperty("locID", "10");
            Request.addProperty("username", "Peppino");
            Request.addProperty("password", "Peppino");

    L'eccezione che viene sollevata è "strana"... essendo che a println() passi una variabile primitiva. Secondo me l'errore è prima: non riesce a parsare il numero (forse "response.getProperty(0)" non restituisce un valore numerico?). Io dividerei per bene quelle righe ed effettuerei un po' di debug, per vedere cosa viene effettivamente restituito:


    codice:
               SoapObject response = (SoapObject) envelope.getResponse();
               String val = response.getProperty(0).toString();
               Log.d("callws.class", "Valore restituito: " + val);
               int result = Integer.parseInt( val );
               Log.d("callws.class", "Valore parsato: " + result);

    PS: In Java, le regole di nomenclatura vorrebbero che i nomi delle classi siano scritti con la maiuscola. Non è "obbligatorio", è solo una convenzione a cui ci si dovrebbe attenere sia per abituarsi a leggere il codice scritto da terze parti, sia per aiutare le terze parti a leggere il nostro.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it L'avatar di wegawhite
    Registrato dal
    Aug 2004
    Messaggi
    1,400
    Grazie per i preziosi ed utili consigli.


    1. ho rinominato la classe java da callws in CallWs;
    2. ho fatto debug con questo codice semplificato, in cui provo a passare solo un parametro al web service, ma l'app continua ad andare in crash...


    codice:
        @Override    public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.ws);
    
    
            SoapObject Request = new SoapObject(WSDL_TARGET_NAMESPACE,
                    OPERATION_NAME);
    
    
            Request.addProperty("fname", "Peppino");
    
    
            SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
                    SoapEnvelope.VER11);
            envelope.dotNet = true;
            envelope.setOutputSoapObject(Request);
    
    
            HttpTransportSE httptransport = new HttpTransportSE(SOAP_ADDRESS);
    
    
            TextView textView = new TextView(this);
            setContentView(textView);
    
    
            try {
                httptransport.call(SOAP_ACTION, envelope);
                SoapObject response = (SoapObject) envelope.getResponse();
                String val = response.getProperty(0).toString();
                Log.d("CallWs.class", "Valore restituito: " + val);
                int result = Integer.parseInt(val);
                Log.d("CallWs.class", "Valore parsato: " + result);
    
    
            } catch (SocketException ex) {
                ex.printStackTrace();
                Log.e("Error", ex.getMessage());
            } catch (Exception e) {
                e.printStackTrace();
                Log.e("Error", e.getMessage());
            }
    Log cat di eclipse:
    03-03 18:14:13.741: E/SpannableStringBuilder(12971): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length

    03-03 18:14:13.741: E/SpannableStringBuilder(12971): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length


    03-03 18:14:23.871: E/AndroidRuntime(12971): FATAL EXCEPTION: main


    03-03 18:14:23.871: E/AndroidRuntime(12971): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xxxxx.xxxxx/com.xxxxx.xxxxx.CallWs}: java.lang.NullPointerException: println needs a message


    03-03 18:14:23.871: E/AndroidRuntime(12971): at android.app.ActivityThread.performLaunchActivity(A ctivityThread.java:2110)


    03-03 18:14:23.871: E/Andr
    oidRuntime(12971): at android.app.ActivityThread.handleLaunchActivity(Ac tivityThread.java:2135)


    03-03 18:14:23.871: E/AndroidRuntime(12971): at android.app.ActivityThread.access$700(ActivityThre ad.java:140)


    03-03 18:14:23.871: E/AndroidRuntime(12971): at android.app.ActivityThread$H.handleMessage(Activit yThread.java:1237)


    03-03 18:14:23.871: E/AndroidRuntime(12971): at android.os.Handler.dispatchMess
    age(Handler.java:99)


    03-03 18:14:23.871: E/AndroidRuntime(12971): at android.os.Looper.loop(Looper.java:137)


    03-03 18:14:23.871: E/AndroidRuntime(12971): at android.app.ActivityThread.main(ActivityThread.jav a:4935)


    03-03 18:14:23.871: E/AndroidRuntime(12971): at java.lang.reflect.Method.invokeNative(Native Method)


    03-03 18:14:23.871: E/AndroidRuntime(12971): at java.lang.reflect.Method.invoke(Method.java:511)


    03-03 18:14:23.871: E/AndroidRuntime(12971): at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:1038)


    03-03 18:14:23.871: E/AndroidRuntime(12971): at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:805)


    03-03 18:14:23.871: E/AndroidRuntime(12971): at dalvik.system.NativeStart.main(Native Method)


    03-03 18:14:23.871: E/AndroidRuntime(12971): Caused by: java.lang.NullPointerException: println needs a message


    03-03 18:14:23.871: E/AndroidRuntime(12971): at android.util.Log.println_native(Native Method)


    03-03 18:14:23.871: E/AndroidRuntime(12971): at android.util.Log.e(Log.java:297)


    03-03 18:14:23.871: E/AndroidRuntime(12971): at com.xxxxx.xxxxx.CallWs.onCreate(CallWs.java:61)


    03-03 18:14:23.871: E/AndroidRuntime(12971): at android.app.Activity.performCreate(Activity.java:5 206)


    03-03 18:14:23.871: E/AndroidRuntime(12971): at android.app.Instrumentation.callActivityOnCreate(I nstrumentation.java:1094)


    03-03 18:14:23.871: E/AndroidRuntime(12971): at android.app.ActivityThread.performLaunchActivity(A ctivityThread.java:2074)


    03-03 18:14:23.871: E/AndroidRuntime(12971): ... 11 more
    Ultima modifica di wegawhite; 03-03-2014 a 19:21

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Posta il LogCat.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Utente di HTML.it L'avatar di wegawhite
    Registrato dal
    Aug 2004
    Messaggi
    1,400
    Ecco il Log Cat
    codice:
    03-03 18:14:13.741: E/SpannableStringBuilder(12971): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
    
    03-03 18:14:13.741: E/SpannableStringBuilder(12971): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
    
    
    03-03 18:14:23.871: E/AndroidRuntime(12971): FATAL EXCEPTION: main
    
    
    03-03 18:14:23.871: E/AndroidRuntime(12971): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xxxxx.xxxxx/com.xxxxx.xxxxx.CallWs}: java.lang.NullPointerException: println needs a message
    
    
    03-03 18:14:23.871: E/AndroidRuntime(12971):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2110)
    
    
    03-03 18:14:23.871: E/Andr
    oidRuntime(12971):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135)
    
    
    03-03 18:14:23.871: E/AndroidRuntime(12971):     at android.app.ActivityThread.access$700(ActivityThread.java:140)
    
    
    03-03 18:14:23.871: E/AndroidRuntime(12971):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1237)
    
    
    03-03 18:14:23.871: E/AndroidRuntime(12971):     at android.os.Handler.dispatchMess
    age(Handler.java:99)
    
    
    03-03 18:14:23.871: E/AndroidRuntime(12971):     at android.os.Looper.loop(Looper.java:137)
    
    
    03-03 18:14:23.871: E/AndroidRuntime(12971):     at android.app.ActivityThread.main(ActivityThread.java:4935)
    
    
    03-03 18:14:23.871: E/AndroidRuntime(12971):     at java.lang.reflect.Method.invokeNative(Native Method)
    
    
    03-03 18:14:23.871: E/AndroidRuntime(12971):     at java.lang.reflect.Method.invoke(Method.java:511)
    
    
    03-03 18:14:23.871: E/AndroidRuntime(12971):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
    
    
    03-03 18:14:23.871: E/AndroidRuntime(12971):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
    
    
    03-03 18:14:23.871: E/AndroidRuntime(12971):     at dalvik.system.NativeStart.main(Native Method)
    
    
    03-03 18:14:23.871: E/AndroidRuntime(12971): Caused by: java.lang.NullPointerException: println needs a message
    
    
    03-03 18:14:23.871: E/AndroidRuntime(12971):     at android.util.Log.println_native(Native Method)
    
    
    03-03 18:14:23.871: E/AndroidRuntime(12971):     at android.util.Log.e(Log.java:297)
    
    
    03-03 18:14:23.871: E/AndroidRuntime(12971):     at com.xxxxx.xxxxx.CallWs.onCreate(CallWs.java:61)
    
    
    03-03 18:14:23.871: E/AndroidRuntime(12971):     at android.app.Activity.performCreate(Activity.java:5206)
    
    
    03-03 18:14:23.871: E/AndroidRuntime(12971):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
    
    
    03-03 18:14:23.871: E/AndroidRuntime(12971):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2074)
    
    
    03-03 18:14:23.871: E/AndroidRuntime(12971):     ... 11 more
    Ultima modifica di LeleFT; 03-03-2014 a 19:25

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Qual è la riga 61 del file "CallWs.java"?
    Io avevo suggerito di togliere i System.out.println(), dall'eccezione direi che è ancora lì.

    PS: Togli anche i printStackTrace(), per lo stesso motivo: si usa l'oggetto Log per le eccezioni:


    codice:
    try {
       ...
    } catch (Exception e) {
       Log.e("CallWs.class", "Errore nel metodo...", e);
    }

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  7. #7
    Utente di HTML.it L'avatar di wegawhite
    Registrato dal
    Aug 2004
    Messaggi
    1,400
    Grazie, la riga 61 è questa:
    codice:
                Log.d("CallWs.class", "Valore restituito: " + val);
    Confermo il LogCat anche se in nessun punto di CallWs.class è previsto System.out.println().
    03-03 18:33:34.284: E/SpannableStringBuilder(14305): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length

    03-03 18:33:34.284: E/SpannableStringBuilder(14305): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length


    03-03 18:33:36.866: E/AndroidRuntime(14305): FATAL EXCEPTION: main


    03-03 18:33:36.866: E/AndroidRuntime(14305): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xxxxx.xxxxx/com.xxxxx.xxxxx.CallWs}: java.lang.NullPointerException: println needs a message


    03-03 18:33:36.866: E/AndroidRuntime(14305): at android.app.ActivityThread.performLaunchActivity(A ctivityThread.java:2110)


    03-03 18:33:36.866: E/AndroidRuntime(14305): at android.app.ActivityThread.handleLaunchActivity(Ac tivityThread.java:2135)


    03-03 18:33:36.866: E/AndroidRuntime(14305): at android.app.ActivityThread.access$700(ActivityThre ad.java:140)


    03-03 18:33:36.866: E/AndroidRuntime(14305): at android.app.ActivityThread$H.handleMessage(Activit yThread.java:1237)


    03-03 18:33:36.866: E/AndroidRuntime(14305): at android.os.Handler.dispatchMessage(Handler.java:99 )


    03-03 18:33:36.866: E/AndroidRuntime(14305): at android.os.Looper.loop(Looper.java:137)


    03-03 18:33:36.866: E/AndroidRuntime(14305): at android.app.ActivityThread.main(ActivityThread.jav a:4935)


    03-03 18:33:36.866: E/AndroidRuntime(14305): at java.lang.reflect.Method.invokeNative(Native Method)


    03-03 18:33:36.866: E/AndroidRuntime(14305): at java.lang.reflect.Method.invoke(Method.java:511)


    03-03 18:33:36.866: E/AndroidRuntime(14305): at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:1038)


    03-03 18:33:36.866: E/AndroidRuntime(14305): at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:805)


    03-03 18:33:36.866: E/AndroidRuntime(14305): at dalvik.system.NativeStart.main(Native Method)


    03-03 18:33:36.866: E/AndroidRuntime(14305): Caused by: java.lang.NullPointerException: println needs a message


    03-03 18:33:36.866: E/AndroidRuntime(14305): at android.util.Log.println_native(Native Method)


    03-03 18:33:36.866: E/AndroidRuntime(14305): at android.util.Log.e(Log.java:297)


    03-03 18:33:36.866: E/AndroidRuntime(14305): at com.xxxxx.xxxxx.CallWs.onCreate(CallWs.java:66)


    03-03 18:33:36.866: E/AndroidRuntime(14305): at android.app.Activity.performCreate(Activity.java:5 206)


    03-03 18:33:36.866: E/AndroidRuntime(14305): at android.app.Instrumentation.callActivityOnCreate(I nstrumentation.java:1094)


    03-03 18:33:36.866: E/AndroidRuntime(14305): at android.app.ActivityThread.performLaunchActivity(A ctivityThread.java:2074)


    03-03 18:33:36.866: E/AndroidRuntime(14305): ... 11 more


    codice:
    SoapObject Request = new SoapObject(WSDL_TARGET_NAMESPACE,                OPERATION_NAME);
    
    
            Request.addProperty("fname", "Peppino");
            Request.addProperty("lname", "DiCaprio");
            Request.addProperty("email", "Peppino");
            Request.addProperty("num", "Peppino");
            Request.addProperty("locID", 10);
            Request.addProperty("username", "Peppino");
            Request.addProperty("password", "Peppino");
    
    
            SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
                    SoapEnvelope.VER11);
            envelope.dotNet = true;
            envelope.setOutputSoapObject(Request);
    
    
            HttpTransportSE httptransport = new HttpTransportSE(SOAP_ADDRESS);
    
    
            TextView textView = new TextView(this);
            setContentView(textView);
    
    
            try {
                httptransport.call(SOAP_ACTION, envelope);
                SoapObject response = (SoapObject) envelope.getResponse();
                String val = response.getProperty(0).toString();
                Log.d("CallWs.class", "Valore restituito: " + val);
                int result = Integer.parseInt(val);
                Log.d("CallWs.class", "Valore parsato: " + result);
    
    
            } catch (SocketException ex) {
                ex.printStackTrace();
                Log.e("CallWs.class", "Errore nel metodo...", ex);
            } catch (Exception e) {
                e.printStackTrace();
                Log.e("CallWs.class", "Errore nel metodo...", e);
    
            }

    Ultima modifica di wegawhite; 03-03-2014 a 19:42

  8. #8
    Utente di HTML.it L'avatar di wegawhite
    Registrato dal
    Aug 2004
    Messaggi
    1,400
    Pc riavviato, reset di eclipse ... nuovo LogCat, questa volta dice qualcosa su errore nel metodo ... cosa vuol dire? L'app non va piu' in crash ma l'inserimento nel db tramite il ws non avviene...
    Grazie

    codice:
        @Override    public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.ws);
    
    
            SoapObject Request = new SoapObject(WSDL_TARGET_NAMESPACE,
                    OPERATION_NAME);
    
    
            Request.addProperty("fname", "Peppino");
            Request.addProperty("lname", "DiCaprio");
            Request.addProperty("email", "Peppino");
            Request.addProperty("num", "Peppino");
            Request.addProperty("locID", 10);
            Request.addProperty("username", "Peppino");
            Request.addProperty("password", "Peppino");
    
    
            SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
                    SoapEnvelope.VER11);
            envelope.dotNet = true;
            envelope.setOutputSoapObject(Request);
    
    
            HttpTransportSE httptransport = new HttpTransportSE(SOAP_ADDRESS);
    
    
            TextView textView = new TextView(this);
            setContentView(textView);
    
    
            try {
                httptransport.call(SOAP_ACTION, envelope);
                SoapObject response = (SoapObject) envelope.getResponse();
                String val = response.getProperty(0).toString();
                Log.d("CallWs.class", "Valore restituito: " + val);
                int result = Integer.parseInt(val);
                Log.d("CallWs.class", "Valore parsato: " + result);
    
    
            } catch (SocketException ex) {
                ex.printStackTrace();
                Log.e("CallWs.class", "Errore nel metodo...", ex);
            } catch (Exception e) {
                e.printStackTrace();
                Log.e("CallWs.class", "Errore nel metodo...", e);
            }
    
    
    
    
    03-03 18:55:44.431: E/SpannableStringBuilder(15846): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
    
    
    03-03 18:55:44.431: E/SpannableStringBuilder(15846): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
    
    
    03-03 18:55:49.927: E/CallWs.class(15846): Errore nel metodo...
    
    
    03-03 18:55:49.927: E/CallWs.class(15846): android.os.NetworkOnMainThreadException
    
    
    03-03 18:55:49.927: E/CallWs.class(15846):     at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1118)
    
    
    03-03 18:55:49.927: E/CallWs.class(15846):     at java.net.InetAddress.lookupHostByName(InetAddress.java:385)
    
    
    03-03 18:55:49.927: E/CallWs.class(15846):     at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
    
    
    03-03 18:55:49.927: E/CallWs.class(15846):     at java.net.InetAddress.getAllByName(InetAddress.java:214)
    
    
    03-03 18:55:49.927: E/CallWs.class(15846):     at libcore.net.http.HttpConnection.<init>(HttpConnection.java:70)
    
    
    03-03 18:55:49.927: E/CallWs.class(15846):     at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50)
    
    
    03-03 18:55:49.927: E/CallWs.class(15846):     at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:340)
    03-03 18:55:49.927: E/CallWs.class(15846):     at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87)
    
    
    03-03 18:55:49.927: E/CallWs.class(15846):     at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
    
    
    03-03 18:55:49.927: E/CallWs.class(15846):     at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:315)
    
    
    03-03 18:55:49.927: E/CallWs.class(15846):     at libcore.net.http.HttpEngine.connect(HttpEngine.java:310)
    
    
    03-03 18:55:49.927: E/CallWs.class(15846):     at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:289)
    
    
    03-03 18:55:49.927: E/CallWs.class(15846):     at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:239)
    
    
    03-03 18:55:49.927: E/CallWs.class(15846):     at libcore.net.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:80)
    
    
    03-03 18:55:49.927: E/CallWs.class(15846):     at org.ksoap2.transport.ServiceConnectionSE.connect(ServiceConnectionSE.java:76)
    
    
    03-03 18:55:49.927: E/CallWs.class(15846):     at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:152)
    
    
    03-03 18:55:49.927: E/CallWs.class(15846):     at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:95)
    
    
    03-03 18:55:49.927: E/CallWs.class(15846):     at com.ccmex.comunidadmexicanaromait.CallWs.onCreate(CallWs.java:47)
    
    
    03-03 18:55:49.927: E/CallWs.class(15846):     at android.app.Activity.performCreate(Activity.java:5206)
    
    
    03-03 18:55:49.927: E/CallWs.class(15846):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
    
    
    03-03 18:55:49.927: E/CallWs.class(15846):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2074)
    
    
    03-03 18:55:49.927: E/CallWs.class(15846):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135)
    03-03 18:55:49.927: E/CallWs.class(15846):     at android.app.ActivityThread.access$700(ActivityThread.java:140)
    
    
    03-03 18:55:49.927: E/CallWs.class(15846):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1237)
    
    
    03-03 18:55:49.927: E/CallWs.class(15846):     at android.os.Handler.dispatchMessage(Handler.java:99)
    
    
    03-03 18:55:49.927: E/CallWs.class(15846):     at android.os.Looper.loop(Looper.java:137)
    
    
    03-03 18:55:49.927: E/CallWs.class(15846):     at android.app.ActivityThread.main(ActivityThread.java:4935)
    
    
    03-03 18:55:49.927: E/CallWs.class(15846):     at java.lang.reflect.Method.invokeNative(Native Method)
    
    
    03-03 18:55:49.927: E/CallWs.class(15846):     at java.lang.reflect.Method.invoke(Method.java:511)
    
    
    03-03 18:55:49.927: E/CallWs.class(15846):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
    
    
    03-03 18:55:49.927: E/CallWs.class(15846):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
    
    
    03-03 18:55:49.927: E/CallWs.class(15846):     at dalvik.system.NativeStart.main(Native Method)
    
    
    03-03 18:55:50.027: E/SpannableStringBuilder(15846): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
    
    
    03-03 18:55:50.027: E/SpannableStringBuilder(15846): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length

  9. #9
    Utente di HTML.it L'avatar di wegawhite
    Registrato dal
    Aug 2004
    Messaggi
    1,400
    Nel codice originale ho sostituito:
    codice:
    SoapObject response = (SoapObject) envelope.getResponse();
    con:
    codice:
    SoapObject response = (SoapObject)envelope.bodyIn;
    Nuovo codice:
    codice:
            try {            
                httptransport.call(SOAP_ACTION, envelope);
                SoapObject response = (SoapObject)envelope.bodyIn;
                String val = response.getProperty(0).toString();
                Log.d("CallWs.class", "Valore restituito: " + val);
                int result = Integer.parseInt(val);
                Log.d("CallWs.class", "Valore parsato: " + result);
    
    
            } catch (SocketException ex) {
                ex.printStackTrace();
                Log.e("CallWs.class", "Errore nel metodo...", ex);
            } catch (Exception e) {
                e.printStackTrace();
                Log.e("CallWs.class", "Errore nel metodo...", e);
            }
    Nuovo LogCat:
    codice:
    03-03 19:37:10.727: E/SpannableStringBuilder(19050): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length03-03 19:37:10.727: E/SpannableStringBuilder(19050): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
    03-03 19:37:17.053: E/CallWs.class(19050): Errore nel metodo...
    03-03 19:37:17.053: E/CallWs.class(19050): java.lang.ClassCastException: org.ksoap2.SoapFault cannot be cast to org.ksoap2.serialization.SoapObject
    03-03 19:37:17.053: E/CallWs.class(19050):     at com.xxxxx.xxxxx.CallWs.onCreate(CallWs.java:58)
    03-03 19:37:17.053: E/CallWs.class(19050):     at android.app.Activity.performCreate(Activity.java:5206)
    03-03 19:37:17.053: E/CallWs.class(19050):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
    03-03 19:37:17.053: E/CallWs.class(19050):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2074)
    03-03 19:37:17.053: E/CallWs.class(19050):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135)
    03-03 19:37:17.053: E/CallWs.class(19050):     at android.app.ActivityThread.access$700(ActivityThread.java:140)
    03-03 19:37:17.053: E/CallWs.class(19050):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1237)
    03-03 19:37:17.053: E/CallWs.class(19050):     at android.os.Handler.dispatchMessage(Handler.java:99)
    03-03 19:37:17.053: E/CallWs.class(19050):     at android.os.Looper.loop(Looper.java:137)
    03-03 19:37:17.053: E/CallWs.class(19050):     at android.app.ActivityThread.main(ActivityThread.java:4935)
    03-03 19:37:17.053: E/CallWs.class(19050):     at java.lang.reflect.Method.invokeNative(Native Method)
    03-03 19:37:17.053: E/CallWs.class(19050):     at java.lang.reflect.Method.invoke(Method.java:511)
    03-03 19:37:17.053: E/CallWs.class(19050):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
    03-03 19:37:17.053: E/CallWs.class(19050):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
    03-03 19:37:17.053: E/CallWs.class(19050):     at dalvik.system.NativeStart.main(Native Method)
    03-03 19:37:17.143: E/SpannableStringBuilder(19050): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
    03-03 19:37:17.143: E/SpannableStringBuilder(19050): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length

  10. #10
    Utente di HTML.it L'avatar di wegawhite
    Registrato dal
    Aug 2004
    Messaggi
    1,400
    Ultima versione ... codice e LogCat (Errore nel metodo 2 ....):
    codice:
            try {            
                httptransport.call(SOAP_ACTION, envelope);
                SoapObject response = (SoapObject) envelope.getResponse();
    
                String val = response.getProperty(0).toString();
                Log.d("CallWs.class", "Valore restituito: " + val);
    
                int result = Integer.parseInt(val);            
                Log.d("CallWs.class", "Valore parsato: " + result);            
    
            } catch (SocketException ex) {
                ex.printStackTrace();
                Log.e("CallWs.class", "Errore nel metodo 1...", ex);
            } catch (Exception e) {
                e.printStackTrace();
                Log.e("CallWs.class", "Errore nel metodo 2...", e);
            }
        }
    
    
    
    
    03-03 21:21:20.224: E/CallWs.class(25304): Errore nel metodo 2...
    03-03 21:21:20.224: E/CallWs.class(25304): java.lang.ClassCastException: org.ksoap2.serialization.SoapPrimitive cannot be cast to org.ksoap2.serialization.SoapObject
    03-03 21:21:20.224: E/CallWs.class(25304):     at com.xxxxx.xxxxx.CallWs.onCreate(CallWs.java:57)
    03-03 21:21:20.224: E/CallWs.class(25304):     at android.app.Activity.performCreate(Activity.java:5206)
    03-03 21:21:20.224: E/CallWs.class(25304):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
    03-03 21:21:20.224: E/CallWs.class(25304):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2074)
    03-03 21:21:20.224: E/CallWs.class(25304):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135)
    03-03 21:21:20.224: E/CallWs.class(25304):     at android.app.ActivityThread.access$700(ActivityThread.java:140)
    03-03 21:21:20.224: E/CallWs.class(25304):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1237)
    03-03 21:21:20.224: E/CallWs.class(25304):     at android.os.Handler.dispatchMessage(Handler.java:99)
    03-03 21:21:20.224: E/CallWs.class(25304):     at android.os.Looper.loop(Looper.java:137)
    03-03 21:21:20.224: E/CallWs.class(25304):     at android.app.ActivityThread.main(ActivityThread.java:4935)
    03-03 21:21:20.224: E/CallWs.class(25304):     at java.lang.reflect.Method.invokeNative(Native Method)
    03-03 21:21:20.224: E/CallWs.class(25304):     at java.lang.reflect.Method.invoke(Method.java:511)
    03-03 21:21:20.224: E/CallWs.class(25304):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
    03-03 21:21:20.224: E/CallWs.class(25304):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
    03-03 21:21:20.224: E/CallWs.class(25304):     at dalvik.system.NativeStart.main(Native Method)
    Ultima modifica di wegawhite; 03-03-2014 a 23:00

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.