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:
Este web service lo llamo desde el navegador con la siguiente dirección: http://localhost:3123/Service1.asmx.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";
}
}
}
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";
}
}
}
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:
La parte que me interesa es esta: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();
}
}
}
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();
}
}
}
Cita:
Al ejecutar la siguiente línea, donde llamo al método HelloWorld del web service private void cmd_aceptar_Click(object sender, EventArgs e)
{
Service1 ser = new Service1();
txt_nombre.Text = ser.HelloWorld();
}
{
Service1 ser = new Service1();
txt_nombre.Text = ser.HelloWorld();
}
Cita:
obtengo un error que me dicetxt_nombre.Text = ser.HelloWorld();
Cita:
Aquí más detalles del errorUnable to connect to the remote server
Cita:
En resumen no puedo conectarme al web service desde la aplicación smart device que estoy desarrollando,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()
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()
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...