2010-10-02 21 views
5

Sto lavorando su uno SMS Invio di applicazione e per scopo login voglio inviare il nome utente e la password utilizzando il metodo POST dal mio Applicazione Android per il server web.Internal Server Error

Quando clicco sul pulsante lo-gin l'applicazione non risponde e la console stampa il seguente messaggio in risposta della richiesta Post.

HTTP/1.1 500 Internal Server Error

Mentre la mia applicazione in esecuzione bene con il metodo GET.

non sono in grado di capire perché questo sta causando ...

l'intero codice è qui:

package com.vikas.httplogin; 

import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStreamReader; 
import java.util.ArrayList; 
import java.util.List; 

import org.apache.http.HttpResponse; 
import org.apache.http.NameValuePair; 
import org.apache.http.client.ClientProtocolException; 
import org.apache.http.client.HttpClient; 
import org.apache.http.client.entity.UrlEncodedFormEntity; 
import org.apache.http.client.methods.HttpPost; 
import org.apache.http.impl.client.DefaultHttpClient; 
import org.apache.http.message.BasicNameValuePair; 

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

public class HttpLogin extends Activity { 
    TextView tv; 

    private static final String tag ="FATAL_ERROR"; 

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

    private void connecttoServer() 
    { 
     BufferedReader br = null; 
     try 
     { 
      HttpClient client = new DefaultHttpClient(); 
      HttpPost request = new HttpPost("url of my site"); 

      List<NameValuePair> params = new ArrayList<NameValuePair>(3); 

      params.add(new BasicNameValuePair("username","vikaspatidar")); 
      params.add(new BasicNameValuePair("password", "patidar")); 
      UrlEncodedFormEntity entity = new UrlEncodedFormEntity(params); 

      request.setEntity(entity); 

      Log.v(tag,request.getMethod().toString()); 
      HttpResponse response = client.execute(request); 


      Log.v(tag, response.getStatusLine().toString()); 
      br = new BufferedReader(new InputStreamReader(response.getEntity().getContent())); 
      StringBuffer sb = new StringBuffer(""); 
      String line = ""; 
      String NL = System.getProperty("line.separator"); 
      while ((line = br.readLine()) != null) { 
       sb.append(line + NL); 
      } 
      br.close(); 
      String result = sb.toString(); 
      Log.v(tag, result); 


    } catch (ClientProtocolException e) 
    { 

     Log.v(tag, e.getMessage()); 
    } 
    catch (IllegalStateException e) { 

     Log.v(tag, e.getMessage()); 
    } catch (IOException e) { 

     Log.v(tag, e.getMessage()); 
    } 
    } 
} 

risposta

1

che è sicuramente assomiglia errore sul lato server, non è problema di Android. Guarda i file di log del server.

Il modo in cui si sta impostando i parametri di richiesta sembra strano, impostare alcun parametro in questo modo:

HttpPost post = new HttpPost("url of my site"); 
    BasicHttpParams basicHttpParams = new BasicHttpParams(); 
    basicHttpParams.setParameter("username", "vikaspatidar"); 
    basicHttpParams.setParameter("password", "patidar"); 
    post.setParams(basicHttpParams); 
    //... 
+0

sto ottenendo questo strano errore perché il parametro del metodo post ha valori nulli sul server, non so perché questi parametri non vengono aggiunti in questo metodo di post, –

+0

puoi dirmi perché questo sta causando? –

+0

Prova lo snippet di codice. –

Problemi correlati