2010-10-02 26 views
5

Estoy trabajando en una aplicación de envío de SMS y para el propósito de inicio de sesión quiero enviar el nombre de usuario y la contraseña utilizando el método POST desde mi aplicación Android al servidor web.Error interno del servidor

Cuando hago clic en el botón lo-gin, la aplicación no responde y la consola imprime el siguiente mensaje en respuesta a la solicitud de publicación.

HTTP/1.1 500 Error interno del servidor

Mientras mi aplicación que se ejecuta bien con el método GET.

no soy capaz de entender por qué esto está causando ...

todo el código está aquí:

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()); 
    } 
    } 
} 

Respuesta

1

Eso es sin duda se parece a errores del lado del servidor, no un problema androide. Mira los archivos de registro del servidor.

La forma en que está configurando los parámetros de la petición se ve raro, intente establecer parámetros de la siguiente manera:

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

estoy recibiendo este extraño error porque el parámetro del método de publicación tiene valores nulos en el servidor, no entiendo por qué estos parámetros no se están agregando en este método de publicación, –

+0

¿puede decirme por qué esto está causando? –

+0

Pruebe el fragmento de código. –

Cuestiones relacionadas