Pocket PC + Web Service

14/05/2008 - 00:03 por Henry de Sousa | Informe spam
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:

[QUOTE]
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";
}
}
}
[/QUOTE]

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:

[QUOTE]
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();
}
}
}
[/QUOTE]

La parte que me interesa es esta:

[QUOTE]
private void cmd_aceptar_Click(object sender, EventArgs e)
{
Service1 ser = new Service1();
txt_nombre.Text = ser.HelloWorld();
}
[/QUOTE]

Al ejecutar la siguiente línea, donde llamo al método HelloWorld del web
service

[QUOTE]
txt_nombre.Text = ser.HelloWorld();
[/QUOTE]

obtengo un error que me dice

[QUOTE]
Unable to connect to the remote server
[/QUOTE]

Aquí más detalles del error

[QUOTE]
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.GetWebResponse(WebRequest
request)
at
System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest
request)
at
System.Web.Services.Protocols.SoapHttpClientProtocol.doInvoke(String
methodName, Object[] parameters, WebClientAsyncResult asyncResult)
at System.Web.Services.Protocols.SoapHttpClientProtocol.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"
ErrorCode061
NativeErrorCode061
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()

[/QUOTE]

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...
 

Leer las respuestas

#1 Carmelo J. Morales Muño
14/05/2008 - 21:24 | Informe spam
Verifica si desde el pocketPc puedes ver la página. me da la impresión
que el problema es que no estás conectado a red,

"Henry de Sousa" escribió en el
mensaje de noticias:
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:

[QUOTE]
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";
}
}
}
[/QUOTE]

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:

[QUOTE]
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();
}
}
}
[/QUOTE]

La parte que me interesa es esta:

[QUOTE]
private void cmd_aceptar_Click(object sender, EventArgs e)
{
Service1 ser = new Service1();
txt_nombre.Text = ser.HelloWorld();
}
[/QUOTE]

Al ejecutar la siguiente línea, donde llamo al método HelloWorld del web
service

[QUOTE]
txt_nombre.Text = ser.HelloWorld();
[/QUOTE]

obtengo un error que me dice

[QUOTE]
Unable to connect to the remote server
[/QUOTE]

Aquí más detalles del error

[QUOTE]
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.GetWebResponse(WebRequest
request)
at
System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest
request)
at
System.Web.Services.Protocols.SoapHttpClientProtocol.doInvoke(String
methodName, Object[] parameters, WebClientAsyncResult asyncResult)
at
System.Web.Services.Protocols.SoapHttpClientProtocol.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"
ErrorCode061
NativeErrorCode061
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()

[/QUOTE]

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...



Preguntas similares