ayuda para conectar simulador de android a web service localhost

592 views
Skip to first unread message

Pepe Ballaga

unread,
Apr 14, 2015, 10:30:07 AM4/14/15
to desarrollad...@googlegroups.com
Hola amigos estoy haciendo para aprender (soy nuevo en esto de
programar Android)un proyecto sencillo donde la aplicacion android se
debe conectar al web service local de la pc y no logro esta conexion.
aca pongo el codigo completo a ver si me podeis ayudar a ver el error.
en la parte de la url del web service he probado con (10.0.2.2,
10.0.2.3, 10.0.2.15 y 127.0.0.1). ¿Que ip debo poner para que se
conecte al localhost de la pc? ¿debo hacer algo en el terminar virtual
del android? sin mas les dejo aca el codigo. Muchisimas Gracias.
Saludos

private static final String SOAP_ACTION =
"http://tempuri.org/RetornaContrato";
private static final String METHOD_NAME = "RetornaContrato";
private static final String NAMESPACE = "http://tempuri.org/";
private static final String URL =
"http://10.0.2.2/Webservice/Service1.asmx";



try {
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);

//request.addProperty("prop1", "myprop");
request.addProperty("Contrato",toConvert);

SoapSerializationEnvelope envelope = new
SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet=true;
envelope.setOutputSoapObject(request);

HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);

//aca en esta linea a continuacion es donde da el error que les
comentaba
androidHttpTransport.call(SOAP_ACTION, envelope);

Object result = (Object)envelope.getResponse();

String[] results = (String[]) result;
texto.setText(""+results[0]);

}
catch (Exception e) {
//tv.setText(e.getMessage());
String jj=e.getMessage();
}

Roger Isaac Navarro Perez

unread,
Apr 14, 2015, 2:53:50 PM4/14/15
to desarrollad...@googlegroups.com
Buenas tardes, me parece que te debe estar generando un error, nos
serviría ver el log del error, adicional te describo unos pasos para
validar y veas de donde puede estar el problema.

Cual es la ip? es la ip local de donde esta el servicio web es decir
del servidor, entras a cmd y pones ipconfig y veras la ip local, una
forma de ver si es correcto el dato es poner la direccion en el
navegador web de la pc donde tienes el emulador,
http://10.0.2.2/Webservice/Service1.asmx en el firefox o el que uses y
te debe salir la descripcion de los servicios, eso te ayuda a ver que
la url es correcta, y para verificar si la url se puede ver desde el
android, no desde tu programa que puede tener algún error, pones esa
misma url y debes ver la descripción de los servicios, si no lo ves es
un problema del emulador, si lo ves es un problema de tu código, si
estas ejecutando el servicio web desde el visual studio con el web
developer este te genera un puerto aleatorio, por ejemplo 25350,
entonces tu url debe contener ese puerto, por ejemplo
http://10.0.2.2:25350/Webservice/Service1.asmx, si ya tienes montado
el servicio web en el servidor con el puerto 80 te debe funcionar la
url como la describes.

saludos.


El día 14 de abril de 2015, 9:29, Pepe Ballaga
<pepe.b...@gmail.com> escribió:
> --
> Para participar es necesario que leas detenidamente las normas del grupo: http://goo.gl/8h8ez2
> ---
> Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
> Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a desarrolladores-a...@googlegroups.com.
> Para publicar una entrada en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
> Visita este grupo en http://groups.google.com/group/desarrolladores-android.
> Para ver este debate en la Web, visita https://groups.google.com/d/msgid/desarrolladores-android/CABcujLP4%3D-hidypJYgKDG9nhPu54MNkRD%3DqXEqfpkmGuUH-PyQ%40mail.gmail.com.
> Para obtener más opciones, visita https://groups.google.com/d/optout.



--
Ing. Roger Isaac Navarro Pérez, Desarrollador
Skype: roger.isaac.navarro.perez

AVISO DE CONFIDENCIALIDAD: Este correo electrónico, incluyendo en su
caso, los archivos adjuntos al mismo, pueden contener información de
carácter confidencial y/o privilegiada, y se envían a la atencion
única y exclusivamente de la persona y/o entidad a quien va dirigido.
La copia, revisión, uso, revelación y/o distribución de dicha
información confidencial sin la autorización por escrito esta
prohibida. Si usted no es el destinatario a quien se dirige el
presente correo, favor de contactar al remitente respondiendo al
presente correo y eliminar el correo original incluyendo sus archivos,
así como cualesquiera copia del mismo.

CONFIDENTIALITY NOTICE: This e-mail message including attachments, if
any, is intended only for the person or entity to which it is
addressed and may contain confidential and /or privileged material.
Any review, use, disclosure or distribution of such confidential
information without the written authorization is prohibited. If you
are not the intended recipient, please contact the sender by reply
e-mail and destroy all copies of the original message.

Pepe Ballaga

unread,
Apr 15, 2015, 9:03:45 AM4/15/15
to desarrollad...@googlegroups.com
Holaaa siguiendo tu consejo hice lo siguiente:

Desde el browser del terminal virtual llego al webservice de localhost
mediante la ip http://10.0.2.2/webservice1/service1.asmx

El error que me da dice lo siguiente:
android.os.NetworkOnMainThreadException. no se en que parte de mi
codigo entonces esta el error pues he seguido los pasos tal y como
salen los diferentes ejemplos. Se agradeceria mucho una ayuda. Gracias

El 14/4/15, Roger Isaac Navarro Perez <roger.nav...@gmail.com> escribió:
> https://groups.google.com/d/msgid/desarrolladores-android/CAKD%2BsbS3XjW6eGpgXDii3FSLYj4us5mrA6D2ytRTzuB5HXc-2w%40mail.gmail.com.

Isaac De La Cruz

unread,
Apr 15, 2015, 10:03:38 AM4/15/15
to desarrollad...@googlegroups.com
Hola podrias adjuntar todo el log de error ?


Para obtener más opciones, visita https://groups.google.com/d/optout.



--
Isaac De La Cruz

Roger Isaac Navarro Perez

unread,
Apr 15, 2015, 3:09:38 PM4/15/15
to desarrollad...@googlegroups.com
Buenas tardes, buscando el tipo de error en google, hacen referencia a
que estas haciendo el request en el hilo principal, android obliga a
que las llamadas a un request web, web service o rest sea en segundo
plano o genera una excepcion, posiblemente ese es el problema, prueba
con una AsyncTask.

https://www.google.com.mx/?gws_rd=ssl#q=android+NetworkOnMainThreadException

http://stackoverflow.com/questions/6343166/android-os-networkonmainthreadexception

http://www.androiddesignpatterns.com/2012/06/app-force-close-honeycomb-ics.html

saludos.


El día 15 de abril de 2015, 9:02, Isaac De La Cruz
<isaacdel...@gmail.com> escribió:
> Para publicar en este grupo, envía un correo electrónico a
> Para ver esta conversación en el sitio web, visita
> https://groups.google.com/d/msgid/desarrolladores-android/CAOTJNmNi9Lq-gk-Lr0xm%3DrtBFkX6aS_1Wiz%2BsC9byqD0yov0nA%40mail.gmail.com.
> Para acceder a más opciones, visita https://groups.google.com/d/optout.

Enrique Alejandro

unread,
Mar 29, 2016, 10:17:13 PM3/29/16
to desarrolladores-android
Me pasa el mismo error. me tira error al momento de hacer la llamada
Ht.Call()

y me tira error...

si sabes respuesta compartela
Reply all
Reply to author
Forward
0 new messages