BasicNetwork.performRequest: Unexpected response code 500 for

0

I'm developing a mobile application that will consume services from my server, developed in the Play Framework. I already created the login service as below:

public class Services extends Controller {

public static void login(String login, String senha) throws Exception {
    Agente agente = new Agente();
    agente.login = login;
    agente.senha = senha;

    if (agente.autenticar()) {
        agente = Agente.find("login = ?", agente.login).first();
        Gson json = new Gson();
        renderJSON(json.toJson(agente));

    } else {
        String mensagem = "Usuário ou senha incorreto";
        JsonObject j = new JsonObject();
        j.addProperty("Erro", 404);
        j.addProperty("msg", mensagem);
        renderJSON(j);
    }
  }
}

My controller's route on Play: GET / Services / login / {login} / {password} Services.login

The AndroidManifestXML file:

<?xml version="1.0" encoding="utf-8"?>

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:largeHeap="true"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".PrincipalActivity" />
    <activity android:name=".FormPalhetasActivity" />
    <activity android:name=".ColetarActivity" />
    <activity android:name=".SobreActivity"></activity>
</application>

My dependency: compile 'com.android.volley:volley:1.1.0'

And the class responsible for my android login is:

package com.diego.agentesendemias;

import android.app.ProgressDialog;
import android.content.Intent;
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import com.android.volley.AuthFailureError;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import com.squareup.okhttp.OkHttpClient;

import java.io.BufferedReader;
import java.io.IOException;

import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;

import static android.widget.Toast.LENGTH_LONG;

public class MainActivity extends AppCompatActivity {

public static final String LOGIN_URL = "http://192.168.0.108:9000/Services/login";
public static final String KEY_USERNAME = "username";
public static final String KEY_PASSWORD = "password";
private String username;
private String password;
private EditText editTextUsername;
private EditText editTextPassword;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate( savedInstanceState );
    setContentView( R.layout.activity_main );

    editTextUsername = (EditText) findViewById(R.id.matricula);
    editTextPassword = (EditText) findViewById(R.id.senha);

    Button logar = (Button) findViewById( R.id.logar );


    logar.setOnClickListener( new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            userLogin();
        }
    } );
}

public void userLogin(){
    username = editTextUsername.getText().toString().trim();
    password = editTextPassword.getText().toString().trim();

    StringRequest stringRequest = new StringRequest( Request.Method.POST, LOGIN_URL, new Response.Listener<String>() {
        @Override
        public void onResponse(String response) {
            if (response.trim().equals( 200 )) {
                Intent intent = new Intent(MainActivity.this, PrincipalActivity.class);
                intent.putExtra(KEY_USERNAME, username);
                startActivity(intent);
            } else {
                Toast.makeText( MainActivity.this, response, Toast.LENGTH_LONG ).show();
            }
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Toast.makeText( MainActivity.this, error.toString(), Toast.LENGTH_LONG ).show();
        }
    }){
        @Override
        protected Map<String, String> getParams() throws AuthFailureError{
            Map<String, String> map = new HashMap<>();
            map.put(KEY_USERNAME, username);
            map.put(KEY_PASSWORD, password);
            return map;
        }
    };
    RequestQueue requestQueue = Volley.newRequestQueue(this);
    requestQueue.add(stringRequest);
}

}

However, when running my application and trying to login with a registration and password already registered on my server, it returns the error: Volley: [29824] BasicNetwork.performRequest: Unexpected response code 500 for link

Someone can help me, I'm learning now to consume services.

    
asked by anonymous 22.12.2017 / 13:51

1 answer

1

You are sending a post and your service is waiting for a get, change your route to: POST /Services/login/ Services.login

    
05.01.2018 / 16:15