Web Service no Netbeans, App no Android Studio não retorna resultado

0 respostas
webservicenetbeansandroidjava
LolSan

Eu tenho os seguintes códigos, de um app no Android Studio, que consome um Web Service que já vem pré-pronto no Netbeans, ele deveria enviar dois valores digitados pelo usuário, somar e retornar o resultado. Aparentemente não aponta nenhum erro no código, mas quando faço a soma no app ele processa e não retorna nenhum resultado.

Código da classe do Web Service:

public CalculatorWS () {
}
public int add(int i, int j) throws IOException, XmlPullParserException {
SoapObject soap = new SoapObject("http://calculator.me.org/", "add");
    soap.addProperty("i", i);
    soap.addProperty("j", j);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
    envelope.setOutputSoapObject(soap);
HttpTransportSE httpTrans = new HttpTransportSE("http://192.168.0.100:8080/CalculatorApp/CalculatorWSService");
httpTrans.call("add", envelope);
Object resultado = envelope.getResponse();
return Integer.parseInt(resultado.toString());
}

Código da classe MainActivity:

public class MainActivity extends AppCompatActivity implements Runnable {

private EditText edtValor1;
private EditText edtValor2;
private Button botaoCalcular;
private TextView txtResultado;
private Handler handler = new Handler();
private ProgressDialog dialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
edtValor1 = (EditText) findViewById(R.id.edtValor1);
    edtValor2 = (EditText) findViewById(R.id.edtValor2);
    botaoCalcular = (Button) findViewById(R.id.btnCalcular);
    txtResultado = (TextView) findViewById(R.id.txtResultado);
botaoCalcular.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
dialog = new ProgressDialog(MainActivity.this);
            dialog.setMessage("Processando...");
            dialog.setTitle("Web Service");
            dialog.show();
Thread t = new Thread(MainActivity.this);
            t.start();
}
    });
}
@Override
public void run() {
int valor1 = Integer.parseInt(edtValor1.getText().toString());
    int valor2 = Integer.parseInt(edtValor2.getText().toString());
try {
CalculatorWS ws = new CalculatorWS();
final int resultado = ws.add(valor1, valor2);
handler.post(new Runnable() {
            @Override
            public void run() {
txtResultado.setText("Resultado: " + resultado);
}
        });
} catch (IOException e) {
        e.printStackTrace();
Log.e("MainActivity", "Erro", e);
} catch (XmlPullParserException e) {
        e.printStackTrace();
    }
finally {
        dialog.dismiss();
    }
}

}

Alguém pode me dar alguma dica do porque isso acontece?

Criado 18 de outubro de 2017
Respostas 0
Participantes 1