You are on page 1of 3

PROGRAMACINEXTREMA.COM (HTTP://PROGRAMACIONEXTREMA.COM/) | Tutoriales de programaci n!

(https://www.facebook.com/Programaci%C3%B3nextremacom-1660876794124988/) (https://plus.google.com/+Programacionextremapuntocom/posts)

INICIO (/) PHP (HTTP://PROGRAMACIONEXTREMA.COM/CATEGORY/PHP/) JAVA SCRIPT JAVA (HTTP://PROGRAMACIONEXTREMA.COM/CATEGORY/JAVA/)

NODEJS (HTTP://PROGRAMACIONEXTREMA.COM/CATEGORY/NODEJS/) ANDROID (HTTP://PROGRAMACIONEXTREMA.COM/CATEGORY/ANDROID/)

WORDPRESS (HTTP://PROGRAMACIONEXTREMA.COM/CATEGORY/WORDPRESS/) HERRAMIENTAS CONTACTO (HTTP://PROGRAMACIONEXTREMA.COM/CONTACTO/)

ANDROID (HTTP://PROGRAMACIONEXTREMA.COM/CATEGORY/ANDROID/) / JAVA (HTTP://PROGRAMACIONEXTREMA.COM/CATEGORY/JAVA/)


2 (HTTP://PROGRAMACIONEXTREMA.COM/2015/11/04/CONSUMIR-UN-WEB-SERVICE-NUSOAP-EN-ANDROID-USANDO-KSOAP2/#COMMENTS)

Consumir un Web Service NuSOAP en Android usando KSOAP2


POSTED BY JOS DI MEGLIO (HTTP://PROGRAMACIONEXTREMA.COM/AUTHOR/JGDIMEGLIO/) 4 NOVIEMBRE, 2015 (HTTP://PROGRAMACIONEXTREMA.COM/2015/11/04/CONSUMIR-UN-WEB-

SERVICE-NUSOAP-EN-ANDROID-USANDO-KSOAP2/)

Anteriormente aprendimos a crear un Web Service NuSOAP en PHP (/2015/11/03/web-service-con-nusoap-en-php/), en este tutorial veremos cmo consumir un
Web Service NuSOAP en Android usando KSOAP2. Para realizar esta tarea es muy importante leer el anterior tutorial ya mencionado.
Ya hemos visto que NuSOAP sirve para crear un Web Service en PHP, ahora para crear nuestro cliente vamos a utilizar la librera para android llamada KSOAP2. Esta
misma se la pueden descargar desde el sitio: https://oss.sonatype.org/content/repositories/ksoap2-android-releases/com/google/code/ksoap2-
android/ksoap2-android-assembly/3.5.0/ksoap2-android-assembly-3.5.0-jar-with-dependencies.jar
android/ksoap2-android-assembly/3.5.0/ksoap2-android-assembly-3.5.0-jar-with-dependencies.jar
(https://oss.sonatype.org/content/repositories/ksoap2-android-releases/com/google/code/ksoap2-android/ksoap2-android-assembly/3.5.0/ksoap2-
android-assembly-3.5.0-jar-with-dependencies.jar target=).
Una vez que descargamos el JAR lo debemos incluir en la carpeta libs de nuestro proyecto y agregarlo como dependencia haciendo click derecho en el proyecto ->
Properties -> Java Build Path -> Add JARs.

Cmo consumir un Web Service NuSOAP en Android?


El primer paso que vamos a realizar en nuestra aplicacin es agregar el permiso para poder conectar a internet:

1 <uses-permission android:name="android.permission.INTERNET" />

Luego de realizar esto podemos empezar a programar. En este caso vamos a crear una clase llamada ClienteWS, la cual va a ejecutar la funcin saludar (de nuestro
Web Service) con un parmetro (nombre) y recibir una respuesta:

1 import java.io.IOException;
2
3 import org.ksoap2.SoapEnvelope;
4 import org.ksoap2.serialization.SoapObject;
5 import org.ksoap2.serialization.SoapPrimitive;
6 import org.ksoap2.serialization.SoapSerializationEnvelope;
7 import org.ksoap2.transport.HttpTransportSE;
8 import org.xmlpull.v1.XmlPullParserException;
9
10 import android.content.Context;
11 import android.os.AsyncTask;
12 import android.util.Log;
13 import android.widget.Toast;
14
15 public class ClienteWS extends AsyncTask<String, Integer, String> {
16
17 private Context context;
18
19 private static final String SOAP_ACTION = "SaludoXMLwsdl#Saludar";
20 private static final String OPERATION_NAME = "Saludar";
21 private static final String WSDL_TARGET_NAMESPACE = "SaludoXMLwsdl";
22 public static final String SOAP_ADDRESS = "http://midominio.com/path/to/servicio.php (http://midominio.com/path/to/servicio.ph
23
24 public ClienteWS(Context context) {
25 this.context = context;
26 }
27
28 @Override
29 protected String doInBackground(String... params) {
30
31 String result = null;
32
33 SoapObject request = new SoapObject(WSDL_TARGET_NAMESPACE,
34 OPERATION_NAME);
35
36 SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
37 SoapEnvelope.VER10);
37 SoapEnvelope.VER10);
38
39 // Con esta opcin indicamos que el web service no es .net
40 envelope.dotNet = false;
41
42 envelope.setOutputSoapObject(request);
43
44 HttpTransportSE httpTransport = new HttpTransportSE(SOAP_ADDRESS);
45
46 // Enviando un parmetro al web service
47 request.addProperty("nombre", params[0]);
48
49 try {
50
51 // Enviando la peticin al web service
52 httpTransport.call(SOAP_ACTION, envelope);
53
54 // Recibiendo una respuesta del web service
55 SoapPrimitive resultsRequestSOAP = (SoapPrimitive) envelope
56 .getResponse();
57
58 result = resultsRequestSOAP.toString();
59
60 httpTransport.getServiceConnection().disconnect();
61 } catch (IOException | XmlPullParserException e) {
62 Log.v("Error", e.getMessage());
63 result = e.getMessage();
64 }
65
66 return result;
67 }
68
69 @Override
70 protected void onPostExecute(String result) {
71 // Mostramos la respuesta del web service
72 Toast.makeText(context, result, Toast.LENGTH_LONG).show();
73 }
74
75 }

Luego para probar este cliente solamente tenemos que ejecutar el siguiente cdigo en nuestra Activity:

1 new ClienteWS(this).execute("ProgramacinExtrema.com");

Eso es todo por hoy, espero que les sea de gran utilidad. Ante cualquier problema no duden en dejar un comentario.

Compartilo en

(http://www.facebook.com/sharer.php?u=http://programacionextrema.com/2015/11/04/consumir-un-web-service-nusoap-en-android-usando-

ksoap2/) (http://twitter.com/share?url=http://programacionextrema.com/2015/11/04/consumir-un-web-service-nusoap-en-android-usando-

ksoap2/&text=Consumir+un+Web+Service+NuSOAP+en+Android+usando+KSOAP2+) (https://plus.google.com/share?

You might also like