CERCA
PER MODELLO
FullScreen Chatbox! :)

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

Visualizzazione dei risultati da 1 a 3 su 3
Discussione:

ClientwebServices su Android

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. #1
    Baby Droid


    Registrato dal
    Apr 2009
    Messaggi
    31

    Ringraziamenti
    0
    Ringraziato 1 volta in 1 Post
    Predefinito

    ClientwebServices su Android

    SALVE A TUTTI,
    ho bisogno del vostro aiuto esperto su Android.
    Spiego la questione per la mia tesi di Laurea stò sviluppando u framework di sviluppo client Web-services su Android.Il tool prende in input un wsdl si unservizio web, genera l'interfaccia e implementa i metodi per l'utilizzo del servizio. Successivamente dopo aver messo il servizio sul server (tomcat 6.0) tramite l'utilizzo di k2soap cerco di utilizzarlo con Android Ma l'emulatore mi termina il processo.

    ora vi posto il codice che non ho problemi a rendere publico sperando in una mano che mi permetta di laurearmi altrimenti avrò buttato 7 mesi della mia vita!!!

    Ho importato come Source Package le mie classi generate dal framework:
    package (Rubrica2)
    1)indirizzo.java
    /*
    * To change this template, choose Tools | Templates
    * and open the template in the editor.
    */

    package Rubrica2;

    /**
    *
    * @author Pc
    */
    public class indirizzo {

    private int numeroCiv;

    public void setnumeroCiv(int arg) {
    this.numeroCiv = arg;
    }

    public int getnumeroCiv() {
    return this.numeroCiv;
    }

    private java.lang.String strada;

    public void setstrada(java.lang.String arg) {
    this.strada = arg;
    }

    public java.lang.String getstrada() {
    return this.strada;
    }

    private java.lang.String citta;

    public void setcitta(java.lang.String arg) {
    this.citta = arg;
    }

    public java.lang.String getcitta() {
    return this.citta;
    }

    private java.lang.String provincia;

    public void setprovincia(java.lang.String arg) {
    this.provincia = arg;
    }

    public java.lang.String getprovincia() {
    return this.provincia;
    }

    private java.lang.String stato;

    public void setstato(java.lang.String arg) {
    this.stato = arg;
    }

    public java.lang.String getstato() {
    return this.stato;
    }

    private int zip;

    public void setzip(int arg) {
    this.zip = arg;
    }

    public int getzip() {
    return this.zip;
    }

    private Rubrica2.telefono telefono;

    public void settelefono(Rubrica2.telefono arg) {
    this.telefono = arg;
    }

    public Rubrica2.telefono gettelefono() {
    return this.telefono;
    }
    }
    2)telefono
    /*
    * To change this template, choose Tools | Templates
    * and open the template in the editor.
    */

    package Rubrica2;

    /**
    *
    * @author Pc
    */
    public class telefono {

    private int prefissoInt;

    public void setprefissoInt(int arg) {
    this.prefissoInt = arg;
    }

    public int getprefissoInt() {
    return this.prefissoInt;
    }

    private int prefissoArea;

    public void setprefissoArea(int arg) {
    this.prefissoArea = arg;
    }

    public int getprefissoArea() {
    return this.prefissoArea;
    }

    private int numero;

    public void setnumero(int arg) {
    this.numero = arg;
    }

    public int getnumero() {
    return this.numero;
    }
    }
    3)Rubrica.java(interfaccia)

    package Rubrica2;

    public interface Rubrica {
    public indirizzo aggiungiIndirizzo (indirizzo indirizzo, java.lang.String nome);

    public java.lang.String getIndirizzoByNome (java.lang.String nome);
    }
    4)RubricaSOAPBinding
    package Rubrica2;

    import org.ksoap2.SoapEnvelope;
    import org.ksoap2.serialization.SoapObject;
    import org.ksoap2.serialization.SoapSerializationEnvelope ;
    import org.ksoap2.transport.HttpTransport;

    public class RubricaSOAPBinding implements Rubrica {
    private String location;

    void setLocation(String location) {
    this.location = location;
    }

    public indirizzo aggiungiIndirizzo (indirizzo indirizzo, java.lang.String nome) {
    String _soapAction = "";
    String _namespace = "urn:Rubrica2";
    String _methodName = "aggiungiIndirizzo";
    String _url = this.location;
    Object _resultRequestSOAP = null;

    SoapObject request = new SoapObject(_namespace, _methodName);
    request.addProperty("indirizzo", indirizzo);
    request.addProperty("nome", nome);
    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
    envelope.setOutputSoapObject(request);
    HttpTransport androidHttpTransport = new HttpTransport(_url);

    try {
    androidHttpTransport.call(_soapAction, envelope);
    _resultRequestSOAP = envelope.getResponse();
    } catch(Exception ex) {
    System.out.println("Exception Message: " + ex.getMessage());
    ex.printStackTrace();
    return null;
    }

    return (indirizzo)_resultRequestSOAP;
    }

    public java.lang.String getIndirizzoByNome (java.lang.String nome) {
    String _soapAction = "";
    String _namespace = "urn:Rubrica2";
    String _methodName = "getIndirizzoByNome";
    String _url = this.location;
    Object _resultRequestSOAP = null;

    SoapObject request = new SoapObject(_namespace, _methodName);
    request.addProperty("nome", nome);
    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
    envelope.setOutputSoapObject(request);
    HttpTransport androidHttpTransport = new HttpTransport(_url);

    try {
    androidHttpTransport.call(_soapAction, envelope);
    _resultRequestSOAP = envelope.getResponse();
    } catch(Exception ex) {
    System.out.println("Exception Message: " + ex.getMessage());
    ex.printStackTrace();
    return null;
    }

    return (java.lang.String)_resultRequestSOAP;
    }
    }
    5)RubricaService (descrittore del servizio ,porta e webservices in attesa )
    package Rubrica2;

    /**
    *
    * @author Pc
    */
    public class RubricaService {


    public static Rubrica getRubricaSOAPBinding() {
    RubricaSOAPBinding tmp = new RubricaSOAPBinding();
    tmp.setLocation("http://127.0.0.1:8080/WebServer1Rubrica/");
    return tmp;
    }
    }


    Successivamente dopo aver creato un mio package ho modificato la classe MainActivity

    1)MainActivity.java
    package org.me.androidapplication;

    import android.app.Activity;
    import android.os.Bundle;
    import android.widget.TextView;

    import Rubrica2.*;

    /**
    *
    * @author Pc
    */
    public class MainActivity extends Activity {

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    // ToDo add your GUI initialization code here
    TextView tv = new TextView(this);
    setContentView(tv);


    try
    {
    Rubrica rubService = (Rubrica)RubricaService.getRubricaSOAPBinding();

    String indirizzo = rubService.getIndirizzoByNome("ciao");

    tv.setText(indirizzo);
    }
    catch(Exception ex)
    {
    tv.setText(ex.getMessage());
    System.out.println(ex.getMessage());
    }
    catch(Error er)
    {
    tv.setText(er.getMessage());
    System.out.println(er.getCause());
    System.out.println(er.getMessage());
    }
    }

    }
    ----------------
    ----------------
    Purtoppo la chiamata
    Rubrica rubService = (Rubrica)RubricaService.getRubricaSOAPBinding();

    non viene proprio eseguita, l'emulatore stoppa il processo ,facendo debug wsu questa classe la console di netBeans mi dà questo errore :


    Attaching to localhost:8614
    Not able to submit breakpoint LineBreakpoint MainActivity.java : 23, reason: No source root found for URL 'file:/C:/Documents%20and%20Settings/Pc/Documenti/NetBeansProjects/AndroidSWClient/src/org/luca/androidswclient/MainActivity.java'. Verify the setup of project sources.
    Invalid LineBreakpoint MainActivity.java : 23


    Vi prego AIUTATEMI A LAUREARMI

  2.  
  3. #2
    Baby Droid


    Registrato dal
    Apr 2009
    Messaggi
    31

    Ringraziamenti
    0
    Ringraziato 1 volta in 1 Post
    Predefinito

    Ciao a tutti ,
    rinnovo i vari problemi trovati nel creare Client per web-services per Android in particolare:

    1)problemi con l'interrogazione del servizio(topic aperto nel forum )


    2)Gestione delle eccezione di java.rmi che utilizzano molti WebServer (la libreria java.rmi non è stata inclusa in Android)


    Logicamente si accettano info e suggerimenti "utili" da tutti.

    Segnalo la rivista IOProgrammo sulla quale da questo mese in poi verrà publicato un articolo su Android e le sue potenzialità; in particolare questo mese si parla anche delle api di Twitter

    --------------Fatevi sentire------------------

  4. #3
    Baby Droid


    Registrato dal
    Dec 2011
    Messaggi
    2

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Ciao Luca ,
    potresti dirmi il tool che hai usato per generare le classi di interfacciamento col webservice?
    Grazie! Ciao

Tag per questa discussione

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