none
PLEASE HELP! Error al implementar WCF RRS feed

  • 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
    martes, 9 de abril de 2013 18:55

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
    miércoles, 10 de abril de 2013 21:23

Todas las respuestas