E aí pessoal! Beleza?
O retorno do WebService gerou esse erro:
java.lang.NumberFormatException: Invalid int: "2017000000000292"
O que pode ser? E como pode ser resolvido?
Retorno WebService
4 Respostas
poste o código pro completo para ser analisado
Essa classe onde estou pegando o retorno do web service:
public Object[] buscarHistoricoAtendimento(String chaveIntegracao, int codigoCliente)
throws IOException, XmlPullParserException {
//Namespace e nome para o objeto SOAP
SoapObject requestHistoricoAtendimento = new SoapObject(NAMESPACE, METHOD_NAME);
SoapObject requestAutenticacao = new SoapObject(NAMESPACE, METHOD_NAME_AUTENTICACAO);
SoapObject requestDadosHistoricoAtendimento = new SoapObject(NAMESPACE, METHOD_NAME_DADOS);
//Adiciona os parametros para a autenticação
requestAutenticacao.addProperty("ChaveIntegracao", chaveIntegracao);
//Adiciona os parametros para os dados do usuario
requestDadosHistoricoAtendimento.addProperty("CodigoCliente", codigoCliente);
//Adiciona os parametros para o login central
requestHistoricoAtendimento.addProperty(METHOD_NAME_AUTENTICACAO, requestAutenticacao);
requestHistoricoAtendimento.addProperty(METHOD_NAME_DADOS, requestDadosHistoricoAtendimento);
//Cria o envelope com o objeto SOAP
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.setOutputSoapObject(requestHistoricoAtendimento);
Log.d(TAG, "Chamado Web Service Histórico Atendimento: " + URL);
//Cria o HttpTransport para enviar os dados (soap)
HttpTransportSE httpTransport = new HistoricoPagamentosHttpTransport(URL);
try {
//Faz requisição
httpTransport.call("", envelope);
httpTransport.debug = true;
Log.d(TAG, "Transporte Histórico Atendimento: " + httpTransport.responseDump);
// Login e senha estão corretos - inicio
Vector logou = (Vector) envelope.getResponse();
//mResposta = new String[logou.size()];
Log.d(TAG, "Tamanho do logou: " + logou.size());
for (int i = 0; i < logou.size(); i++){
mResposta = logou.get(i);
}
atendimentos = ((Vector<SoapObject>) mResposta).toArray();
Log.d(TAG,"Vetor logou: " + logou);
Log.d(TAG,"Vetor resposta: " + mResposta);
//Log.d(TAG, "Histórico: " + atendimentos[1]);
} catch (Exception e){
Log.e(TAG, "Erro ao ler o envelope Atendimento: " + e);
e.printStackTrace();
return null;
}
return atendimentos;
}
Solucao aceita
Perceba que ‘2017000000000292’ é um valor maior do que o suportado pelo tipo inteiro. O WS foi configurado para devolver inteiro? Talvez trocar para long seja uma solução.
Valeu drsmachado! Deu certo 
Criado 9 de março de 2017
Ultima resposta 9 de mar. de 2017
Respostas 4
Participantes 3
Alura POO: o que é programação orientada a objetos? Aprenda os conceitos básicos da programação orientada a objetos, como classes, objetos, herança, encapsulamento e polimorfismo, com exemplos.
Casa do Codigo Desbravando SOLID: Praticas avancadas para codigos de... Por Alexandre Aquiles — Casa do Codigo