Ciao a tutti,
ho cercato in altre discussioni ma non ho trovato un esempio di collegamento ad un web service con android.
Qualcuno può mostrarmi in esempio di codice di collegamento ad un web service?
Uso eclipse..
grazie
Ciao a tutti,
ho cercato in altre discussioni ma non ho trovato un esempio di collegamento ad un web service con android.
Qualcuno può mostrarmi in esempio di codice di collegamento ad un web service?
Uso eclipse..
grazie
Ultima modifica di genty; 24-11-11 alle 12:12
Innanzituto ti conviene verificare che ci sia
- un collegamento dati (linea telefonica) attivo
- oppure un collegamento WiFi attivo
Per fare quanto sopra, ricordati di abilitare nel file AndroidManifest.xml:
Poi, come fai il trasferimento dati? Xml, come faccio io?codice:<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
Ti conviene usare le classi
...e questo è un esempio di codice:codice:private ConnectivityManager conn_manager; private HttpClient http_client; private HttpPost http_post; private HttpResponse http_response;
...ricordati di NON usare i miei login+passwordcodice:public void onCreate(Bundle savedInstanceState) { conn_manager = (ConnectivityManager)getSystemService(getApplicationContext().CONNECTIVITY_SERVICE); http_client = new DefaultHttpClient(); } public void Connetti_A_WebService() { // variabili che mi serviranno tra poco String risultato = ""; String errore = ""; // devo creare l'Xml da inviare al server String xml_utente = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"; xml_utente += "<utente>"; xml_utente += "<login>" + login + "</login>"; xml_utente += "<password>" + password + "</password>"; xml_utente += "</utente>"; // proviamo l'invio try { http_post = new HttpPost( "http://www.microsoft.com/TheCopacabanaMan/WebService/login_to_sharepoint.aspx"); StringEntity string_entity = new StringEntity(xml_utente, HTTP.UTF_8); string_entity.setContentType("text/xml"); http_post.setEntity(string_entity); http_response = http_client.execute(http_post); HttpEntity res_Entity = http_response.getEntity(); risultato = EntityUtils.toString(res_Entity ); } catch(Exception ex) { // managgia! abbiamo ottenuto un errore! errore = ex.getMessage() + "\r\n" + risultato; } }
...e per permettere al tuo dispositivo di comunicare via internet, ricordati di abilitare nel file AndroidManifest.xml:
Quanto mi devi per la consulenza? Una cioccolata calda? Accettata!codice:<uses-permission android:name="android.permission.INTERNET" />![]()
Ultima modifica di TheCopacabanaMan; 24-11-11 alle 16:15
Non è meglio una buona birra??
Il tuo esempio funziona ma io voglio passare dal soap per varie ragioni come che dall'altra parte mi aspettano web service .net.
Per oggi però non ne ho più.. Domani mi metto sotto e ti aggiorno. Tu non lo usi il soap?
Ti è mai uscito quest'errore?
expected: START_TAG {http://schemas.xmlsoap.org/soap/envelope/}Envelope (position:START_TAG <head>@1.6 in java.io.InputStreamReader
Stai usando un WebServer scritto in Php?
In alternativa, sei sicuro che il file Xml sia ben formattato?
eh ti ho risp ma devo essere approvato dal moderatore..
cmq no e in aspx..
Se fornissi un esempio di risposta forse saremmo in grado di aiutarti meglio.
Twitter @veke87
Ciao anche a te Andrea.
La risposta del web service e quindi l'errore che mi da è proprio quello scritto in precedenza:
expected: START_TAG {http://schemas.xmlsoap.org/soap/envelope/}Envelope (position:START_TAG <head>@1.6 in java.io.InputStreamReader
Non è che per caso le classi 'web' devono star in un altro posto? Credo proprio di no...
In allegato c'è il mio project se gentilmente provate a caricarlo..
C'è solo una classe e il main.xml.
Il web service se lo provate dal browser risponde benissimo.
passando il cap della città restituisce il tempo, umidità e altre cose..
Non riesco proprio a capire cosa sbaglio, sono in crisi.
La libreria che ho scaricato è la ksoap2 e l'ho messa come external jar nel project.
Vi inserirei il codice come ha fatto copacabanaMan in una finestra, ma davvero è il primo forum in cui mi iscrivo e non so neanche come si faccia a inserire il testo così.. mi dai due dritte anche per questo così evito gli allegati la prox volta?
Posso darvi altre info??
Grazie mille
Non saprei che risponderti.
Ho compilato il tuo codice, e ottengo un errore diverso.
Alla linea
ottengo l'eccezionecodice:androidHttpTransport.call(SOAP_ACTION, envelope);
java.net.SocketException: Permission denied
Andrea, che ne pensi?
...Andrea? Andreeeee-aaaaaaaaaahhhhh!
(si, quello dorme, a quest'ora...)