Olá,
Fiz um WebService e estou tentando chamar os dados dentro de uma aplicação android. Porém, dificuldade de saber qual problema existe para sempre a resposta ser “null” quando façoo chamado direto do android. Esse mesmo comando, quando executado por SoapUI dá certinho. Segue:
****classe DAO ***********************
public class EmpresaDAO {
private static final String URL = "http://192.168.0.116:8080/ExemploWS/services/EmpresaDAO?wsdl";
private static final String NAMESPACE = "http://exemploWS.webteste.com.br";
private static final String BUSCAR_POR_EMP = "buscarEmpresaPorNome";
public Empresa buscarEmpresaPorNome(String empresa){
Empresa usr = new Empresa();
SoapObject buscarEmpresa = new SoapObject(NAMESPACE, BUSCAR_POR_EMP);
buscarEmpresa.addProperty("empresa",empresa);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.setOutputSoapObject(buscarEmpresa);
envelope.implicitTypes = true;
HttpTransportSE http = new HttpTransportSE(URL);
try {
http.call("urn:" + BUSCAR_POR_EMP, envelope);
//SoapObject resposta = (SoapObject)envelope.getResponse(); já usei esse tb
SoapPrimitive resposta = (SoapPrimitive) envelope.getResponse();
//String result = resposta.toString(); já usei esse tb
usr.setEmpresa(resposta.getAttributeAsString(empresa).toString());
} catch (Exception e) {
e.printStackTrace();
return null;
}
return usr;
}
}
Chamada do método na Act_correspondente**
EmpresaDAO dao = new EmpresaDAO();
Empresa resp = dao.buscarEmpresaPorNome("EMPRESA_A");
Log.d("ExemploWS", resp + "");
Espero que alguém consiga decifrar.