CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: 9mm con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 12 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 35 Thanks ricevuti nell'ultimo mese

Pagina 2 di 3 primaprima 123 ultimoultimo
Ultima pagina
Visualizzazione dei risultati da 11 a 20 su 23
Discussione:

Passare data a web service .net

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #11
    Baby Droid


    Registrato dal
    Jul 2012
    Messaggi
    22

    Ringraziamenti
    1
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Quote Originariamente inviato da frank17next Visualizza il messaggio
    Il mio terrore piuttosto è che il formato Date del webservice .Net accetti escusivamente valori memorizzati anch'essi in variabili .net, e quindi quando nella chiamata soap fai l' request.addProperty('nomeparametrowebservice', variabile Date java);
    hai un reject...
    Speriam bene

    Inviato dal mio GT-N7000 con Tapatalk 2
    ho l'impressione che è il mio caso avevo già fatto qualche test ma andava sempre male XD comunque appen provo ti mando il logcat magari aiuta

  2.  
  3. #12
    Senior Droid L'avatar di frank17next


    Registrato dal
    Jan 2010
    Località
    Campobasso
    Messaggi
    739
    Smartphone
    GNexus, Galaxy Note, GT 10.1

    Ringraziamenti
    16
    Ringraziato 143 volte in 102 Posts
    Predefinito

    Quote Originariamente inviato da skolidspeak Visualizza il messaggio
    scusa in che senso non riesco a capire cosa intendi mi sfugge qualcosa
    grazie ciao
    Eheh, beh intendo questo. Se tu in Java dichiari una variabile:

    Date lamiadata;

    Puoi assegnarle il valore:
    lamiadata = "2012-07-19 ecc"

    La parte destra la ricostruisci manipolando la stringa
    Dai 1 occhio qui per esempio http://www.jondev.net/articles/Strin...Java_(Android)
    E a queste specifiche ovviamente http://developer.android.com/referen...ateFormat.html

    Inviato dal mio GT-N7000 con Tapatalk 2
    Ultima modifica di frank17next; 19-07-12 alle 11:00
    Nexus 6 - 5.0.1 Stock
    Nexus 5 - 5.0.1 Stock + Root
    Galaxy Note 3 GT-N9005 - 4.4.4 Stock + Root
    Galaxy Tab 10.1 Slim P7500 - [JB] CyanogenMod 10 4.1.2 Pershoot (Nightly 20121013)
    ------------------------------------------------------------------------
    https://sites.google.com/site/frank17next/

  4. #13
    Senior Droid L'avatar di frank17next


    Registrato dal
    Jan 2010
    Località
    Campobasso
    Messaggi
    739
    Smartphone
    GNexus, Galaxy Note, GT 10.1

    Ringraziamenti
    16
    Ringraziato 143 volte in 102 Posts
    Predefinito

    Sisi, il logcat è necessario analizzarlo

    Inviato dal mio GT-N7000 con Tapatalk 2
    Ultima modifica di frank17next; 19-07-12 alle 11:10
    Nexus 6 - 5.0.1 Stock
    Nexus 5 - 5.0.1 Stock + Root
    Galaxy Note 3 GT-N9005 - 4.4.4 Stock + Root
    Galaxy Tab 10.1 Slim P7500 - [JB] CyanogenMod 10 4.1.2 Pershoot (Nightly 20121013)
    ------------------------------------------------------------------------
    https://sites.google.com/site/frank17next/

  5. #14
    Baby Droid


    Registrato dal
    Jul 2012
    Messaggi
    22

    Ringraziamenti
    1
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Quote Originariamente inviato da frank17next Visualizza il messaggio
    Eheh, beh intendo questo. Se tu in Java dichiari una variabile:

    Date lamiadata;

    Puoi assegnarle il valore:
    lamiadata = "2012-07-19 ecc"

    La parte destra la ricostruisci manipolando la stringa
    Dai 1 occhio qui per esempio String to Date Formatting Using Java (Android)
    E a queste specifiche ovviamente DateFormat | Android Developers

    Inviato dal mio GT-N7000 con Tapatalk 2
    mi sfuggiva la parte da stringa a dete grazie

  6. #15
    Baby Droid


    Registrato dal
    Jul 2012
    Messaggi
    22

    Ringraziamenti
    1
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Quote Originariamente inviato da frank17next Visualizza il messaggio
    Sisi, il logcat è necessario analizzarlo

    Inviato dal mio GT-N7000 con Tapatalk 2
    cmq dovrei riuscire a postare il logcat a breve eclipse permettendo

  7. #16
    Baby Droid


    Registrato dal
    Jul 2012
    Messaggi
    22

    Ringraziamenti
    1
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Ecco il logcat questo però mi sembra più che altro un problema di un istanza a null...

    07-19 12:34:31.817: W/System.err(1187): SoapFault - faultcode: 'soap:Server' faultstring: 'Impossibile elaborare la richiesta. ---> Riferimento a un oggetto non impostato su un'istanza di oggetto.' faultactor: 'null' detail: org.kxml2.kdom.Node@4057a668
    07-19 12:34:31.847: W/System.err(1187): at org.ksoap2.serialization.SoapSerializationEnvelope .parseBody(SoapSerializationEnvelope.java:141)
    07-19 12:34:31.856: W/System.err(1187): at org.ksoap2.SoapEnvelope.parse(SoapEnvelope.java:14 0)
    07-19 12:34:31.877: W/System.err(1187): at org.ksoap2.transport.Transport.parseResponse(Trans port.java:100)
    07-19 12:34:31.887: W/System.err(1187): at org.ksoap2.transport.HttpTransportSE.call(HttpTran sportSE.java:214)
    07-19 12:34:31.887: W/System.err(1187): at org.ksoap2.transport.HttpTransportSE.call(HttpTran sportSE.java:96)
    07-19 12:34:31.899: W/System.err(1187): at skolidspeak.test.test.webservicesync$1.onClick(web servicesync.java:189)
    07-19 12:34:31.907: W/System.err(1187): at android.view.View.performClick(View.java:2485)
    07-19 12:34:31.917: W/System.err(1187): at android.view.View$PerformClick.run(View.java:9080)
    07-19 12:34:31.927: W/System.err(1187): at android.os.Handler.handleCallback(Handler.java:587 )
    07-19 12:34:31.936: W/System.err(1187): at android.os.Handler.dispatchMessage(Handler.java:92 )
    07-19 12:34:31.957: W/System.err(1187): at android.os.Looper.loop(Looper.java:123)
    07-19 12:34:31.967: W/System.err(1187): at android.app.ActivityThread.main(ActivityThread.jav a:3683)
    07-19 12:34:31.977: W/System.err(1187): at java.lang.reflect.Method.invokeNative(Native Method)
    07-19 12:34:31.988: W/System.err(1187): at java.lang.reflect.Method.invoke(Method.java:507)
    07-19 12:34:31.998: W/System.err(1187): at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:839)
    07-19 12:34:32.007: W/System.err(1187): at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:597)
    07-19 12:34:32.007: W/System.err(1187): at dalvik.system.NativeStart.main(Native Method)

  8. #17
    Senior Droid L'avatar di frank17next


    Registrato dal
    Jan 2010
    Località
    Campobasso
    Messaggi
    739
    Smartphone
    GNexus, Galaxy Note, GT 10.1

    Ringraziamenti
    16
    Ringraziato 143 volte in 102 Posts
    Predefinito

    Mi posteresti il metodo java che fa la chiamata soap?

    Inviato dal mio Galaxy Nexus con Tapatalk 2
    Nexus 6 - 5.0.1 Stock
    Nexus 5 - 5.0.1 Stock + Root
    Galaxy Note 3 GT-N9005 - 4.4.4 Stock + Root
    Galaxy Tab 10.1 Slim P7500 - [JB] CyanogenMod 10 4.1.2 Pershoot (Nightly 20121013)
    ------------------------------------------------------------------------
    https://sites.google.com/site/frank17next/

  9. #18
    Baby Droid


    Registrato dal
    Jul 2012
    Messaggi
    22

    Ringraziamenti
    1
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Certo eccolo:
    public class webservicesync extends Activity {




    //dichiarazione soap
    private static String SOAP_ACTION1 = "http://tempuri.org/GetAnagrafiche";
    private static String SOAP_ACTION6 = "http://tempuri.org/Autentica";
    // private static String SOAP_ACTION2 = "http://tempuri.org/GetAttivita";
    // private static String SOAP_ACTION3 = "http://tempuri.org/GetGruppiAttivita";
    // private static String SOAP_ACTION4 = "http://tempuri.org/GetUtenti";
    // private static String SOAP_ACTION5 = "http://tempuri.org/GetGruppiAnagrafici";
    private static String NAMESPACE = "http://tempuri.org/";
    private static String METHOD_NAME1 = "GetAnagrafiche";
    private static String METHOD_NAME6 = "Autentica";
    // private static String METHOD_NAME2 = "GetAttivita";
    // private static String METHOD_NAME3 = "GetGruppiAttivita";
    // private static String METHOD_NAME4 = "GetUtenti";
    // private static String METHOD_NAME5 = "GetGruppiAnagrafici";
    private static String URL = "webserver:8282/INFO5WebService.asmx";

    //?WSDL

    java.util.Date datStr;
    // DateTime prova;
    // DateTimeFormatter format = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss.SSSZ");


    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.wstest);

    // final SimpleDateFormat sdf = new SimpleDateFormat();

    Button b = (Button) findViewById(R.id.syncb);

    final EditText Ut = (EditText)this.findViewById(R.id.uten);
    final EditText pass = (EditText)this.findViewById(R.id.pass);
    final DatePicker dat = (DatePicker)this.findViewById(R.id.dat);













    b.setOnClickListener(new OnClickListener(){
    private String pas=new String();
    private String Utente=new String();;


    @SuppressWarnings("deprecation")
    public void onClick(View v) { Date dateObj = null;Date dateObj1 = null;
    final Calendar cal = GregorianCalendar.getInstance();
    cal.set( dat.getYear(),dat.getMonth(),dat.getDayOfMonth());
    final Date d= new Date(dat.getYear()-1900,dat.getMonth(),dat.getDayOfMonth());
    final SimpleDateFormat curFormater = new SimpleDateFormat("dd mmm yyyy HH:mm:ss Z");
    final String dateStr=d.toLocaleString();

    /* try {
    dateObj = (Date) curFormater.parse(dateStr);
    } catch (ParseException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
    }
    SimpleDateFormat postFormater = new SimpleDateFormat("dd/mm/yyyy");

    String newDateStr = postFormater.format(dateObj);
    final SimpleDateFormat curFormater2 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.Z");
    try {
    dateObj1 = (Date) curFormater2.parse(newDateStr);
    } catch (ParseException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
    }
    */

    //Initialize soap request + add parameters
    //final SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME6);
    // SoapObject request1 = new SoapObject(NAMESPACE, METHOD_NAME2);
    //SoapObject request2 = new SoapObject(NAMESPACE, METHOD_NAME3);
    // SoapObject request3 = new SoapObject(NAMESPACE, METHOD_NAME4);
    // SoapObject request4 = new SoapObject(NAMESPACE, METHOD_NAME5);
    final SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME1);

    Utente =Ut.getText().toString();
    pas = pass.getText().toString();
    PropertyInfo pi = new PropertyInfo();
    pi.setName("DallaDataOraModifica");
    pi.setValue("19/07/2012");
    pi.setType(Date.class);

    //Use this to add parameters per get anagrafiche
    request.addProperty("Login",//Utente);
    request.addProperty("Password",//pas);
    request.addProperty("FiltroTipo","A");
    request.addProperty("FiltroCodice","0000000839");
    request.addProperty("RestituisciDettagli","false") ;
    request.addProperty(pi);



    //Declare the version of the SOAP request

    final SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);

    envelope.dotNet = true;
    envelope.implicitTypes=true;


    envelope.setOutputSoapObject(request);


    //Needed to make the internet call
    final HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
    try {androidHttpTransport.debug=true;

    //this is the actual part that will call the webservice
    androidHttpTransport.call("http://tempuri.org/Autentica", envelope);
    ;

    } catch (Exception e) {
    e.printStackTrace();}


    SoapObject result = null;
    try {
    result = (SoapObject) envelope.getResponse();
    } catch (SoapFault e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

    write ("1 -"+result.toString());

    // if(result != null){

    //TextView t = (TextView)this.findViewById(R.id.risult);
    //write ("\n"+ result.toString());

    //Get the first property and change the label text
    // t.setText("SOAP response:" ); //se funziona
    Toast.makeText(getBaseContext(), "sincronizzazione completata",Toast.LENGTH_SHORT).show();
    // result.getProperty(0);
    // write ("\n2 -"+ result.getProperty("RagioneSociale").toString());
    // }else write ("\n non va nell'if");
    write ("\n");













    }});

    }
    private File sd = Environment.getExternalStorageDirectory();
    private File f = new File(sd, "log.txt");

    public void write (String Data){
    FileWriter fw = null;
    BufferedWriter bw = null;
    try{
    fw = new FileWriter(f, true);
    bw = new BufferedWriter(fw);
    bw.write(Data);
    bw.close();
    fw.close();
    }
    catch (IOException e) {
    e.printStackTrace();
    }
    }


    }
    Ultima modifica di skolidspeak; 20-07-12 alle 09:45

  10. #19
    Senior Droid L'avatar di frank17next


    Registrato dal
    Jan 2010
    Località
    Campobasso
    Messaggi
    739
    Smartphone
    GNexus, Galaxy Note, GT 10.1

    Ringraziamenti
    16
    Ringraziato 143 volte in 102 Posts
    Predefinito

    Aaargh, ti prego usa i tag [ CODE ] e [ /CODE ] , per aumentare la leggibilità del codice!!

    l'errore che mi hai postato in realtà è un warning. più in basso nel logcat c'è anche l'error?

    Siccome le chiamate webservice possono andare storto, devi irrobustire il codice il più possibile per evitare di assegnare valori null a variabili che non lo consentono. ad esempio, quando fai:

    codice:
    SoapObject result = null;
    try {
    result = (SoapObject) envelope.getResponse();
    } catch (SoapFault e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    trasformalo in qualcosa del genere (sfruttando l'attributo 'bodyIn', che altro nn è che l'oggetto stesso. Se è null non farlo continuare...)
    codice:
    Object objTestNull = null;//in intestazione
    
    objTestNull = envelope.bodyIn; 
    if (objTestNull!=null){
    result = envelope.getResponse(); //il risultato del webservice è memorizzato in un oggetto generic
    objTestNull = null;
      if (result != null){
      risultato = result.toString();						
     }
    }
    l'errore che mi hai postato in realtà è un warning. più in basso nel logcat c'è anche l'error? Quali sono le linee di codice corrispondenti indicate nel W e nell E? Puoi postarle? Grazie
    Ultima modifica di frank17next; 20-07-12 alle 10:51
    Nexus 6 - 5.0.1 Stock
    Nexus 5 - 5.0.1 Stock + Root
    Galaxy Note 3 GT-N9005 - 4.4.4 Stock + Root
    Galaxy Tab 10.1 Slim P7500 - [JB] CyanogenMod 10 4.1.2 Pershoot (Nightly 20121013)
    ------------------------------------------------------------------------
    https://sites.google.com/site/frank17next/

  11. #20
    Baby Droid


    Registrato dal
    Jul 2012
    Messaggi
    22

    Ringraziamenti
    1
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Aaargh, ti prego usa i tag [ CODE ] e [ /CODE ] , per aumentare la leggibilità del codice!!
    sarà fatto .
    L'errore che mi hai postato in realtà è un warning. più in basso nel logcat c'è anche l'error?
    Quello è tutto quello che mi esce nel logcat, però result è vuoto.

    L'eccezione viene generata da questo frammento di codice:
    [ CODE ]
    SoapObject result = null;
    try {
    result = (SoapObject) envelope.getResponse();
    } catch (SoapFault e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } [ /CODE ]

    di seguito il ti posto ancora il logcat completo:

    07-20 09:08:43.656: D/dalvikvm(374): GC_EXTERNAL_ALLOC freed 83K, 51% free 2671K/5379K, external 1625K/2137K, paused 93ms
    07-20 09:08:51.798: W/KeyCharacterMap(374): No keyboard for id 0
    07-20 09:08:51.798: W/KeyCharacterMap(374): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
    07-20 09:09:05.817: W/System.err(374): SoapFault - faultcode: 'soap:Server' faultstring: 'Impossibile elaborare la richiesta. ---> Riferimento a un oggetto non impostato su un'istanza di oggetto.' faultactor: 'null' detail: org.kxml2.kdom.Node@40577890
    07-20 09:09:05.826: W/System.err(374): at org.ksoap2.serialization.SoapSerializationEnvelope .parseBody(SoapSerializationEnvelope.java:141)
    07-20 09:09:05.826: W/System.err(374): at org.ksoap2.SoapEnvelope.parse(SoapEnvelope.java:14 0)
    07-20 09:09:05.836: W/System.err(374): at org.ksoap2.transport.Transport.parseResponse(Trans port.java:100)
    07-20 09:09:05.836: W/System.err(374): at org.ksoap2.transport.HttpTransportSE.call(HttpTran sportSE.java:214)
    07-20 09:09:05.836: W/System.err(374): at org.ksoap2.transport.HttpTransportSE.call(HttpTran sportSE.java:96)
    07-20 09:09:05.836: W/System.err(374): at skolidspeak.test.test.webservicesync$1.onClick(web servicesync.java:196)
    07-20 09:09:05.846: W/System.err(374): at android.view.View.performClick(View.java:2485)
    07-20 09:09:05.846: W/System.err(374): at android.view.View$PerformClick.run(View.java:9080)
    07-20 09:09:05.856: W/System.err(374): at android.os.Handler.handleCallback(Handler.java:587 )
    07-20 09:09:05.856: W/System.err(374): at android.os.Handler.dispatchMessage(Handler.java:92 )
    07-20 09:09:05.856: W/System.err(374): at android.os.Looper.loop(Looper.java:123)
    07-20 09:09:05.867: W/System.err(374): at android.app.ActivityThread.main(ActivityThread.jav a:3683)
    07-20 09:09:05.867: W/System.err(374): at java.lang.reflect.Method.invokeNative(Native Method)
    07-20 09:09:05.867: W/System.err(374): at java.lang.reflect.Method.invoke(Method.java:507)
    07-20 09:09:05.876: W/System.err(374): at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:839)
    07-20 09:09:05.876: W/System.err(374): at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:597)
    07-20 09:09:05.886: W/System.err(374): at dalvik.system.NativeStart.main(Native Method)

    Grazie ancora dell'aiuto
    Ciaooooo

Pagina 2 di 3 primaprima 123 ultimoultimo
Ultima pagina

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy