Quero consumir um webservice desenvolvido em .NET que retorna um JSON, quero consumir o mesmo e apresentar em um ListView porem meu condigo esta dando erro no metodo"invocaweb".
`public class Principal extends AppCompatActivity {
ListView lista;
private ProgressDialog dialogo;
private static String SOAP_ACTION = "http://10.10.10.28/ServiceFeol.asmx/ListarAlunos";
private static String NAMESPACE = "http://feol/";
private static String METHOD_NAME= "ListarAlunos";
private static String URL = "http://10.10.10.28/ServiceFeol.asmx?WSDL";
private String []nome;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_principal);
lista= (ListView) findViewById(R.id.lista);
new asynAlunos().execute();
}
class asynAlunos extends AsyncTask<String,String,String>{
@Override
protected void onPreExecute(){
dialogo = new ProgressDialog(Principal.this);
dialogo.setMessage("Carregando alunos...");
dialogo.setIndeterminate(false);
dialogo.setCancelable(false);
dialogo.show();
}
@Override
protected String doInBackground (String... strings){
if (invocaWs())
{return "ok";
}else {return "erro";}
}
@Override
protected void onPostExecute(String s){
dialogo.dismiss();
if(s.equals("ok")){
carregaAlunos();
}else {
Log.e("Script","DeuErrado" + s.toString());}
}
}
public Boolean invocaWs(){
Boolean re = true;
try{
SoapObject resposta = new SoapObject(NAMESPACE,METHOD_NAME);
SoapSerializationEnvelope sobre = new SoapSerializationEnvelope(SoapEnvelope.VER11);
sobre.implicitTypes= true;
sobre.dotNet = true;
sobre.setOutputSoapObject(resposta);
HttpTransportSE transportSE = new HttpTransportSE(URL);
transportSE.call(SOAP_ACTION,sobre);
//SoapObject res = (SoapObject) sobre.getResponse();
String resultado = sobre.getResponse().toString();
JSONArray json = new JSONArray(resultado);
nome = new String[json.length()];
for (int i =0 ; i<json.length(); i++){
JSONObject jsonObj = json.getJSONObject(i);
String IdAluno = jsonObj.getString ("IdAluno");
nome[i]= IdAluno;
}
} catch (IOException e){
e.printStackTrace();
re=false;
}catch (XmlPullParserException e){
e.printStackTrace();
re=false;
}catch (JSONException e){
e.printStackTrace();
}
return re;
}
public void carregaAlunos(){
ArrayAdapter<String> adapter = new ArrayAdapter<>(this,android.R.layout.simple_list_item_1, nome );
lista.setAdapter(adapter);
}
}
`