2011-06-18 5 views
1

J'ai essayé de me connecter à mon serveur avec des champs tels que nom d'utilisateur, mot de passe, latitude et longitude. Déjà je me suis inscrit. mais en entrant ces champs j'obtiens la réponse du serveur comme 06-18 09: 02: 14.402: VERBOSE/TAG (275): LoginResponse {LoginResult = -1; } cela signifie qu'il manque quelques filds c'est ... quelqu'un peut-il vérifier ce qui ne va pas dans mon code? Ceci est mon code ...Android: Services Web utilisant le savon

package com.soap; 

import org.ksoap2.SoapEnvelope; 
import org.ksoap2.serialization.PropertyInfo; 
import org.ksoap2.serialization.SoapObject; 
import org.ksoap2.serialization.SoapSerializationEnvelope; 
import org.ksoap2.transport.HttpTransportSE; 

import android.app.Activity; 
import android.app.Dialog; 
import android.app.ProgressDialog; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 

public class Register extends Activity { 
/** Called when the activity is first created. */ 

// static Spinner operator = null; 
private static final String SOAP_ACTION = "http://tempuri.org/Login"; 
private static final String METHOD_NAME = "Login"; 
private static final String NAMESPACE = "http://tempuri.org"; 
private static final String URL = "My Server Link"; 
private static final String TAG = "HELLO"; 

Thread t; 
ProgressDialog dialog; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.loginpage); 
    Button signin = (Button) findViewById(R.id.logsigninbutton); 

    signin.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) { 
      showDialog(0); 
      t = new Thread() { 
       public void run() { 
        register(); 
       } 
      }; 
      t.start(); 
     } 
    }); 
} 

@Override 
protected Dialog onCreateDialog(int id) { 
    switch (id) { 
    case 0: { 
     dialog = new ProgressDialog(this); 
     dialog.setMessage("Please wait while connecting..."); 
     dialog.setIndeterminate(true); 
     dialog.setCancelable(true); 
     return dialog; 
    } 
    } 
    return null; 
} 

public void register() { 
    Log.v(TAG, "Trying to Login"); 
    SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(
      SoapEnvelope.VER11); 

    SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); 
    soapEnvelope.dotNet = true; 

    soapEnvelope.setOutputSoapObject(request); 
    request.addProperty("email", "[email protected]"); 
    request.addProperty("pwd", "ramg"); 
    request.addProperty("latitude", 72); 
    request.addProperty("longitude", 86); 

    HttpTransportSE androidHttpTransport = new HttpTransportSE(URL); 
    androidHttpTransport.debug = true; 
    try { 
     androidHttpTransport.call(SOAP_ACTION, soapEnvelope); 
     androidHttpTransport 
       .setXmlVersionTag("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); 

     SoapObject resultsRequestSOAP = (SoapObject) soapEnvelope.bodyIn; 

     Log.v("TAG", String.valueOf(resultsRequestSOAP)); 
     String resultData; 
     resultData = request.getProperty(0).toString(); 
    } catch (Exception e) { 

     e.printStackTrace(); 
    } 

} 

} 

Répondre

0

Si votre serveur rapporte que vous manquez certains champs vérifier les en-têtes ou d'autres pièces en plusieurs parties pour vous assurer incluez l'ensemble de la structure de votre serveur attend. Que se passe-t-il lorsque vous atteignez ce point de terminaison en utilisant un client de bureau par rapport à Android? Même chose?

+0

Flyer Même chose ... pouvez-vous me dire si ce code est bon ou mauvais ... –

+0

Non sans en savoir plus ... essentiellement en frappant le point final moi-même. Je fais des appels de service web tout le temps depuis Android, mais je gère ma propre logique de document XML - pas de SoapObjects - et j'utilise plutôt des classes HttpURLConnection ou HttpClient pour mes communications ... soit bien fonctionner pour les GETs, les POST, les services web en général , etc., etc. – BonanzaDriver

+0

pouvez-vous me montrer quelques exemples concernant une procédure claire pour faire des services Web dans android ... –

Questions connexes