Hoy ha caido en mis manos un buen ejemplo de como conectar un WebService con nuestra apli en Android:
instalar la libreria
Deberá bajar el archivo mas reciente de la librería ksoap2
http://code.google.com/p/ksoap2-android/
El sistema se probo con “ksoap2-android-assembly-2.5.8-jar-with-dependencies.jar” y funciona correctamente.
1- Seleccione el proyecto en el cual referenciará la librería, luego boton derecho
2- Selección propiedades
3- Seleccione [Java Build Path]
4- Seleccione [Add Externals JARs]
5- Seleccione la librería a referenciar en este caso “ksoap2-android-assembly-2.5.8-jar-with-dependencies.jar”
6- Seleccione [Abrir] y luego [OK]
ver imagen
Codigo
final String NAMESPACE = "http://tempuri.org/";
final String URL="http://186.XXX.XXX.79/Sincro_Mobile/Sincro.asmx";
final String METHOD_NAME = "Sincro_Maestros";
final String SOAP_ACTION ="http://tempuri.org/Sincro_Maestros";
ws_resultado.setText("");
//Se crea un objeto SoapObject para poder realizar la peticion
//para consumir el ws SOAP. El constructor recibe
//el namespace. Por lo regular el namespace es el dominio
//donde se encuentra el web service
request = new SoapObject(NAMESPACE, METHOD_NAME);
//Le agrega los parametros al request
request.addProperty("user", "qqqqq");
request.addProperty("pass", "qqqqqqqqqq");
request.addProperty("x", "0113143");
request.addProperty("Nombre_Tabla", "COMBUSTIBLE");
request.addProperty("Cant_Registros_Mobile", 0);
//Se crea un objeto SoapSerializationEnvelope para serealizar la
//peticion SOAP y permitir viajar el mensaje por la nube
//el constructor recibe la version de SOAP
envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true; //se asigna true para el caso de que el WS sea de dotNet
//Se envuelve la peticion soap
envelope.setOutputSoapObject(request);
//Objeto que representa el modelo de transporte
//Recibe la URL del ws
HttpTransportSE transporte = new HttpTransportSE(URL);
try {
//Hace la llamada al ws
transporte.call(SOAP_ACTION, envelope);
//Se crea un objeto SoapObject y se obtiene la respuesta
//de la peticion
resultado_xml =(SoapObject)envelope.getResponse();
ws_resultado.setText(resultado_xml.toString()) ;
}
catch (IOException e) {
ws_resultado.setText(e.toString());
}
catch (XmlPullParserException e) {
ws_resultado.setText(e.toString());
}
}
No hay comentarios:
Publicar un comentario