Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/05/2008, 14:47
Avatar de HenrydeSousa
HenrydeSousa
 
Fecha de Ingreso: septiembre-2004
Ubicación: Venezuela
Mensajes: 300
Antigüedad: 19 años, 8 meses
Puntos: 2
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...