Galera, boa tarde!
É o seguinte, criei um WebService bem simples, que soma dois números e retorna o resultado em Java (no Netbeans).
Trecho do meu código do WS:
@WebMethod(operationName = "add")
public int add(@WebParam(name = "num1") int num1, @WebParam(name = "num2") int num2) {
int resultado = num1 + num2;
return resultado;
Aí criei uma aplicação pra Android no Eclipse, onde o usuário digita os dois números que deseja somar. Ao clicar no botão “soma”, a aplicação teria que chamar o WS e retornar o valor da soma num edittext no emulador. Mas, infelizmente, estou com um problema e não consigo chamar o WS na aplicação Android.
Estou usando a biblioteca ksoap2.
Trecho da Activity:
[code]private static String SOAP_ACTION = “http://calculator.me.org/add”;
private static String NAMESPACE = “http://calculator.me.org/CalculatorWS”;
private static String METHOD_NAME= “add”;
private static String URL = “http://localhost:8080/CalculatorWSApplication/CalculatorWS?wsdl”;
Button btSomar;
EditText etNum1, etNum2, etResultado;
double num1, num2 , resultado;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test_main);
etNum1 = (EditText) findViewById(R.calculo.numero1);
etNum2 = (EditText) findViewById(R.calculo.numero2);
etResultado = (EditText) findViewById(R.calculo.resultado);
btSomar = (Button) findViewById(R.botao.btSoma);
btSomar.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
request.addProperty("num1", num1 = Double.parseDouble(etNum1.getText().toString()));
request.addProperty("num2", num2 = Double.parseDouble(etNum2.getText().toString()));
envelope.setOutputSoapObject(request);
envelope.dotNet = false;
try {
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
androidHttpTransport.call(SOAP_ACTION, envelope);
SoapObject result = (SoapObject)envelope.bodyIn;
etResultado.setText(String.valueOf(resultado));
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
}[/code]
Alguém poderia me ajudar com essa dúvida?
Desde já, agradeço!