NAO CONECTA EM SERVICO REST

JOAOBENEVIDES 26/09/2017 21:24:19
#476792
ola pessoal estou enfretando um erro estranho tenho uma aplicação simples em rest o servico esta funcionando normal no programa POSTMAN, porem quando mando conectar via depuração no meu celular esta dando o erro Bad Request , segue como estou fazendo a coneção
using (var client = new HttpClient())
{

using (var tokenResponse = await client.PostAsync([Ô]http://euroribeirao.ddns.net:1200/Api_escola/api/token[Ô], CreateContent()))
{
HttpStatusCode Status = tokenResponse.StatusCode;
if (Status.ToString() != [Ô]404[Ô])
{
var tokenBody = await tokenResponse.Content.ReadAsStringAsync();
parsedTokenBody = JsonConvert.DeserializeObject(tokenBody);
}
}


private static FormUrlEncodedContent CreateContent()
{
return new FormUrlEncodedContent(new[]
{
new KeyValuePair<string, string>([Ô]grant_type[Ô], [Ô]password[Ô]),
new KeyValuePair<string, string>([Ô]username[Ô], Usuario),
new KeyValuePair<string, string>([Ô]password[Ô], senha)
});
}
KERPLUNK 26/09/2017 22:47:32
#476793
Resposta escolhida
Esquisito, eu testei aqui e recebo:

{[Ô]error[Ô]:[Ô]Usuario[Ô],[Ô]error_description[Ô]:[Ô]usuario ou senha Invalidos[Ô]}
KERPLUNK 26/09/2017 22:53:16
#476794
Você está usando Xamarim?
JOAOBENEVIDES 27/09/2017 09:01:35
#476795
Sim estou usando ele
KERPLUNK 27/09/2017 10:12:01
#476798
Bad Request, significa que o pacote não foi entendido no server. Isso pode ser algum problema de thread específico do Android, que não está formando o pacote corretamente. Tente:
- Rodar não em debug, mas em release
- Utilizar métodos síncronos e não assíncronos
- Logar as requests no servidor, para ver o que está chegando
JOAOBENEVIDES 27/09/2017 14:19:20
#476813
kerplunk o metodo que estou logando no android esta certo ne ? , eu testei todo o processo , e vi que na no content ele nao esta levando nada eu mudei e fiz assim

var postData = new List<KeyValuePair<string, string>>();
postData.Add(new KeyValuePair<string, string>([Ô]grant_type[Ô], [Ô]password[Ô]));
postData.Add(new KeyValuePair<string, string>([Ô]username[Ô], Usuario));
postData.Add(new KeyValuePair<string, string>([Ô]password[Ô], senha));

var httpContent = new StringContent(postData.ToString(), Encoding.UTF8, [Ô]application/json[Ô]);

mesmo assim deu o mesmo erro
KERPLUNK 27/09/2017 14:29:26
#476815
Não importa se é android ou qualquer outra coisa, o framework é o mesmo, então o método é o mesmo. E sim, me parece certo.
JOAOBENEVIDES 27/09/2017 14:32:34
#476816
sim eu mesmo consumi numa aplicação minha e ele me mostra certinho fiz um get numa tabela e ele me retornou tudo so o metodo de autenticação mesmo
o que posso ta fazendo de errado?
JOAOBENEVIDES 27/09/2017 14:40:18
#476817
eu acabei de criar uma aplicação windows forms e consumi normal nela
ate deu acesso ao token
o que poderia estar fazendo de errado?
OCELOT 27/09/2017 15:20:47
#476818
Testei o código que postou tanto no Android com o Xamarin quanto no Windows e o resultado foi exatamente o mesmo do KERPLUNK nos dois casos

Detalhe que em ambos os casos a resposta é HTTP 400, Bad Request, e no corpo da resposta vem o JSON igual o que o KERPLUNK postou, tem certeza que o nome de usuário e senha está correto no Android?
KERPLUNK 27/09/2017 15:30:34
#476819
Tente também usando uma WebRequest, só pra ter certeza que o problema não é relacionado à rede.
Página 1 de 2 [13 registro(s)]
Tópico encerrado , respostas não são mais permitidas