Retroceder   Foros del Web > Programación para sitios web > .NET

Respuesta
 
Herramientas Desplegado
Antiguo 13-may-2008, 14:47   #1 (permalink)
HenrydeSousa ha deshabilitado el karma
 
Avatar de HenrydeSousa
 
Fecha de Ingreso: septiembre-2004
Ubicación: Venezuela
Mensajes: 283
Pocket PC + Web Service

Hola gente. Que tal!

Estoy desarrollando un smart device project con VS 2008 y programando con c# para una pocket pc
desde el cual intento conectarme a un web service, hasta ahora sin éxito.

He creado un web service muy sencillo, tiene un método que devuelve un string, es como el que sigue:

Cita:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;

namespace Servicio
{
/// <summary>
/// Summary description for Service1
/// </summary>
[WebService(Namespace = "http://localhost/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
// [System.Web.Script.Services.ScriptService]
public class Service1 : System.Web.Services.WebService
{

[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
}
}
Este web service lo llamo desde el navegador con la siguiente dirección: http://localhost:3123/Service1.asmx.
Hasta aquí todo bien, va perfecto, el web service está funcionando bien, creo!

Luego agrego este servicio web a mi aplicación de smart device, click derecho sobre el proyecto + Add Web Reference
copio la dirección http://localhost:3123/Service1.asmx y listo lo agrego, hasta ahora todo bien.

En mi form tengo tengo el siguiente codigo:

Cita:
using System;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using PocketPC.RefeWeb;

namespace PocketPC
{
public partial class clientes : Form
{
public clientes()
{
InitializeComponent();
}

private void cmd_aceptar_Click(object sender, EventArgs e)
{
Service1 ser = new Service1();
txt_nombre.Text = ser.HelloWorld();
}
}
}
La parte que me interesa es esta:

Cita:
private void cmd_aceptar_Click(object sender, EventArgs e)
{
Service1 ser = new Service1();
txt_nombre.Text = ser.HelloWorld();
}
Al ejecutar la siguiente línea, donde llamo al método HelloWorld del web service

Cita:
txt_nombre.Text = ser.HelloWorld();
obtengo un error que me dice

Cita:
Unable to connect to the remote server
Aquí más detalles del error

Cita:
System.Net.WebException was unhandled
Message="Unable to connect to the remote server"
StackTrace:
at System.Net.HttpWebRequest.finishGetResponse()
at System.Net.HttpWebRequest.GetResponse()
at System.Web.Services.Protocols.WebClientProtocol.Ge tWebResponse(WebRequest request)
at System.Web.Services.Protocols.HttpWebClientProtoco l.GetWebResponse(WebRequest request)
at System.Web.Services.Protocols.SoapHttpClientProtoc ol.doInvoke(String methodName, Object[] parameters, WebClientAsyncResult asyncResult)
at System.Web.Services.Protocols.SoapHttpClientProtoc ol.Invoke(String methodName, Object[] parameters)
at PocketPC.RefeWeb.Service1.HelloWorld()
at PocketPC.clientes.cmd_aceptar_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.ButtonBase.WnProc(WM wm, Int32 wParam, Int32 lParam)
at System.Windows.Forms.Control._InternalWnProc(WM wm, Int32 wParam, Int32 lParam)
at Microsoft.AGL.Forms.EVL.EnterMainLoop(IntPtr hwnMain)
at System.Windows.Forms.Application.Run(Form fm)
at PocketPC.Program.Main()
InnerException: System.Net.Sockets.SocketException
Message="No connection could be made because the target machine actively refused it"
ErrorCode=10061
NativeErrorCode=10061
StackTrace:
at System.Net.Sockets.Socket.ConnectNoCheck(EndPoint remoteEP)
at System.Net.Sockets.Socket.Connect(EndPoint remoteEP)
at System.Net.Connection.doConnect(IPEndPoint ep)
at System.Net.Connection.connect(Object ignored)
at System.Threading.ThreadPool.WorkItem.doWork(Object o)
at System.Threading.Timer.ring()
En resumen no puedo conectarme al web service desde la aplicación smart device que estoy desarrollando,
sin embargo el web service por sí solo está funcionando. He buscado por internet y lo poco que he encontrado
la verdad no me ha resultado.

Estoy usando el emulador USA Windows Mobile 5.0 Pocket PC R2 Emulator que viene con el VS 2008.


Muchas gracias por su tiempo y espero que me puedan ayudar.
Bye...
HenrydeSousa está desconectado   Responder Citando
Antiguo 13-may-2008, 16:36   #2 (permalink)
cesar_nava está en el buen camino
 
Fecha de Ingreso: enero-2004
Ubicación: Distrito Federal
Mensajes: 350
Re: Pocket PC + Web Service

Cita:
Iniciado por HenrydeSousa Ver Mensaje
at System.Net.HttpWebRequest.GetResponse()
at System.Web.Services.Protocols.WebClientProtocol.Ge tWebResponse(WebRequest request)
at System.Web.Services.Protocols.HttpWebClientProtoco l.GetWebResponse(WebRequest request)
El mensaje es claro, no puede obtener una respuesta del servicio web, o no puede conectarse.

Las posibles soluciones que veo son:

- Verifica los parametros de conexion de red del emulador.
- Verifica que puedas acceder al servicio web, desde el Internet Explorer del emulador.
- Asegurate que no tengas bloqueado el puerto que empleas para el servicio web (en este caso 3123), en tu Firewall.
cesar_nava está desconectado   Responder Citando
Antiguo 13-may-2008, 20:50   #3 (permalink)
HenrydeSousa ha deshabilitado el karma
 
Avatar de HenrydeSousa
 
Fecha de Ingreso: septiembre-2004
Ubicación: Venezuela
Mensajes: 283
Re: Pocket PC + Web Service

Hola. Gracias por tu respuesta.

Cita:
- Verifica los parametros de conexion de red del emulador.
He estado mirando en el emulador pero no veo donde puedo hacer esto.
Me imagino que de alguna forma tengo que conectar el emulador de mi pocket pc a mi pc
para poder tener acceso al web service que está en mi máquina y así poder llamarlo, pero
no sé realmente cómo puedo hacer esto.

Cita:
- Verifica que puedas acceder al servicio web, desde el Internet Explorer del emulador.
En efecto no puedo hacerlo, creo que tiene que ver con que el emulador y mi pc no están
conectados y por eso no puedo llamar al WS.

Intentaré conectar el emulador a mi pc a ver si logro algo y si logro solventar el error.

Bye...

Última edición por HenrydeSousa; 13-may-2008 a las 20:58.
HenrydeSousa está desconectado   Responder Citando
Antiguo 14-may-2008, 05:13   #4 (permalink)
HenrydeSousa ha deshabilitado el karma
 
Avatar de HenrydeSousa
 
Fecha de Ingreso: septiembre-2004
Ubicación: Venezuela
Mensajes: 283
Re: Pocket PC + Web Service

Hola.

Aquí en mi casa haciendo algunas pruebas ya logré conectar el emulador al pocket pc y por lo tanto ya pude llamar al web service. Déjenme hacer algunas pruebas cuando llegue al trabajo y les comento más en detalle que fue lo que hice. Para adelantar me descargue al AS para sincronizar el emulador y el pc.


Bye...
HenrydeSousa está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 15:42.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93