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