Principales respuestas
PLEASE HELP! Error al implementar WCF

Pregunta
-
Buenas tardes. Estoy implementado un cliente servidor. Tengo los siguientes contratos y servicios:
namespace WcfLibreriaDeServicio { [ServiceContract] public interface IpServiceWcf { [OperationContract] Respuesta DevolverRespuesta(Solicitud sct); [OperationContract] string ProbarConexion(); } [DataContract] public class Respuesta { [DataMember] public string tipo { get; set; } [DataMember] public object obj { get; set; } [DataMember] public string respuestaStr { get; set; } [DataMember] public DataSet ds { get; set; } [DataMember] public DataTable dt { get; set; } } [DataContract] public class Solicitud { [DataMember] public string tipo { get; set; } [DataMember] public object obj { get; set; } [DataMember] public string consulta { get; set; } [DataMember] public int tipoOperacion { get; set; } [DataMember] public string filtro { get; set; } [DataMember] public string tabla { get; set; } } }
public class ServicioWcf : IpServiceWcf { public Respuesta DevolverRespuesta(Solicitud sct) { Respuesta rta = new Respuesta(); rta = ProcesoSolicitudWCF.ProcesarSolicitud(sct); return rta; } public string ProbarConexion() { return TareasComunesBOS.ProbarConexion(); } }
En este ultimo, ProcesarSolicitudWcf tiene todos los metodos para conectar a base de datos y devolverme una respuesta.
Tambien adjunto los App.config de cliente y servidor:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <system.serviceModel> <bindings> <wsHttpBinding> <binding name="WSHttpBinding_IpServiceWcf" /> </wsHttpBinding> </bindings> <client> <endpoint address="http://localhost:212/IpServer/IpService" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IpServiceWcf" contract="ServiceReference1.IpServiceWcf" name="WSHttpBinding_IpServiceWcf"> <identity> <userPrincipalName value="Damian-NTBK\Damian" /> </identity> </endpoint> </client> </system.serviceModel> </configuration>
<?xml version="1.0"?> <configuration> <appSettings> <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true"/> </appSettings> <system.web> <compilation debug="true"/> </system.web> <system.serviceModel> <bindings> <basicHttpBinding> <binding name="NewBindingBasic" /> </basicHttpBinding> </bindings> <services> <service name="WcfLibreriaDeServicio.ServicioWcf"> <endpoint address="http://localhost:8733/IpServert/WcfServiceLibrary/IpService/" binding="basicHttpBinding" bindingConfiguration="" name="BasicHttpBinding" contract="WcfLibreriaDeServicio.IpServiceWcf" /> </service> </services> </system.serviceModel> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> </startup> </configuration>
Ahora bien, al iniciar mi aplicación vi que conectaba y que podia ingresar del login y todo. SIn embargo, me tira un error y me di cuenta que es cuando transporto el tipo object que figura en la respuesta (O al menos eso creo yo). Me tira la siguiente excepcion:
En ese object mando clases con datos que despues casteo en el servidor para generar las consultas, y devuelvo lo mismo al cliente, y en este vuelvo a castear.
Alguien me puede ayudar por favor?!?!
Gracias anticipadas.
- Editado mdezequiel martes, 9 de abril de 2013 22:23
Respuestas
-
Bueno, para el que quiera saber, era porque me faltaba definir que tipos de objetos son los que puedo enviar con el DataContract.
Y el error que me tiraba en los DataTables, era porque tenia que asignarle un nombre a la tabla.
Gracias de todas formas.
- Marcado como respuesta mdezequiel jueves, 11 de abril de 2013 2:05
Todas las respuestas
-
-
Bueno, para el que quiera saber, era porque me faltaba definir que tipos de objetos son los que puedo enviar con el DataContract.
Y el error que me tiraba en los DataTables, era porque tenia que asignarle un nombre a la tabla.
Gracias de todas formas.
- Marcado como respuesta mdezequiel jueves, 11 de abril de 2013 2:05