none
Tipo de Variable RRS feed

  • Pregunta

  • Buen Dia , quiero  molestarlos con un problemita en en el code behind de un formulario aspx, y la informacion traida de un servicio wcf

    instancio

    WCFconsultar.clase1.Vehiculo objVehiculo = new WCFconsultar.clase1.Vehiculo ();

    int var = 123;

    Dataset ds;

    ds = objVehiculo.ConsultaVehiculo(var);      

    Error  'The best overloaded method for WCFconsultar.clase1.Vehiculo.CosultarVehiculo(var)' has some invalid arguments

    a ds  le he puesto muchos tipos de variable pero no funciona 

    Lo Agradezco


     

    domingo, 19 de febrero de 2017 16:37

Respuestas

  • Hola Fernando Velasquez,

    Un detalle, el siguiente código te funciona ?

    WCFconsultar.Vehiculo = new objVehiculo WCFconsultar.Vehiculo();

    Ya que si estás creando la instancia a la clase tendría que ser :

    WCFconsultar.Vehiculo objVehiculo = new WCFconsultar.Vehiculo();


    El error indica que el método 'ConsultaVehiculo' está retornándo un arreglo de RespuestaConsulta, por lo que al asignar el valora la lista de tipo int muestra el error que no puede convertirse.

    Intenta cambiando por :

    WCFconsultar.Vehiculo.RespuestaConsulta[] respuesta = objVehiculo.ConsultaVehiculo(var);

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    domingo, 19 de febrero de 2017 20:23
  • hola

    si tienes problemas entre un List<> y un array esto es por la forma en que se definio el proxy al servicio

    cuando realizas el "service reference" debes cambiar en ese codigo para que el proxy defina listas

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 20 de febrero de 2017 14:04
  • También, prueba a definir variables de tipo var para que sea el compilador el que infiera el tipo correcto 

    var recibe = objVehiculo.ConsultaVehiculo(var);

    Con esto te aseguras de tener siempre el tipo correcto en las variables.


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    lunes, 20 de febrero de 2017 9:47
    Moderador

Todas las respuestas

  • Hola Fernando Velasquez,

    Éstas seguro de que tu método 'ConsultaVehiculo' recibe un valor de tipo int ?

    Veo que llamas al método objVehiculo.ConsultaVehiculo(var);  pero en el error muestra CosultarVehiculo(var) lo cual son métodos diferentes.

    objVehiculo.ConsultaVehiculo(var) =/= CosultarVehiculo(var)

    [-] ... a ds  le he puesto muchos tipos de variable pero no funciona 

    Pero tu método retorna un DataSet, no sería mejor retornar un List ?

    Puedes mostrar el código de ese método.

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    domingo, 19 de febrero de 2017 17:02
  • Hola Joel , si tienes razon es    

    en el intelisence 

    List<int> recibe = new List<int>();

    int var = 123;

    WCFconsultar.Vehiculo = new objVehiculo WCFconsultar.Vehiculo();

    recibe =   objVehiculo.ConsultaVehiculo(var);

    pero luego me sale el siguiente

    "   

     WCFconsultar.Vehiculo.RespuestaConsulta[] Vehiculo.ConsultaVehiculo

    error  Cannot implicit convert type' WCFconsultar.Vehiculo.RespuestaConsulta[]'

    to 'Systen.colelection.Generic.List<int>'         "  pienso que ahi problema en la respuesta pero no hay metodos que tengan que ver con Respuestas a la consulta

    y no se como solucionarlo

    agradezco mucho su ayuda



    domingo, 19 de febrero de 2017 20:04
  • Hola Fernando Velasquez,

    Un detalle, el siguiente código te funciona ?

    WCFconsultar.Vehiculo = new objVehiculo WCFconsultar.Vehiculo();

    Ya que si estás creando la instancia a la clase tendría que ser :

    WCFconsultar.Vehiculo objVehiculo = new WCFconsultar.Vehiculo();


    El error indica que el método 'ConsultaVehiculo' está retornándo un arreglo de RespuestaConsulta, por lo que al asignar el valora la lista de tipo int muestra el error que no puede convertirse.

    Intenta cambiando por :

    WCFconsultar.Vehiculo.RespuestaConsulta[] respuesta = objVehiculo.ConsultaVehiculo(var);

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    domingo, 19 de febrero de 2017 20:23
  • También, prueba a definir variables de tipo var para que sea el compilador el que infiera el tipo correcto 

    var recibe = objVehiculo.ConsultaVehiculo(var);

    Con esto te aseguras de tener siempre el tipo correcto en las variables.


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    lunes, 20 de febrero de 2017 9:47
    Moderador
  • hola

    si tienes problemas entre un List<> y un array esto es por la forma en que se definio el proxy al servicio

    cuando realizas el "service reference" debes cambiar en ese codigo para que el proxy defina listas

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 20 de febrero de 2017 14:04
  • Amigos estuve probando todas las formas y todas se acomodan perfectamente a la solucion de mi problema,

    Gracias

    Saludo

    miércoles, 22 de febrero de 2017 3:10