Hola buen dia, el dia de hoy vengo con una consulta que me esta dando vueltas el problema es que ya he podido crear los servicios WCF para poder consumirlas desde un aplicativo en Xamarin estoy tratando de de devolver la lista de los objetos pero estos no me los reconoce al consumirlo, ya he tratado de todo no se si me puedan ayudar a encontrar mi error.
Mi Interfaz del Servicio
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using System.Web.Script.Services;
using System.ServiceModel.Web;
namespace ServicesWCF
{
[ServiceContract]
public interface IServiceProductos
{
[OperationContract]
List<Productos> GetProductosFindByID(Productos InObject);
}
[DataContract]
public class Productos
{
[DataMember]
public int id { get; set; }
[DataMember]
public String IdProducto { get; set; }
[DataMember]
public String CodigoBarras { get; set; }
[DataMember]
public String Descripcion { get; set; }
[DataMember]
public String DescripcionLarga { get; set; }
[DataMember]
public String TipoProducto { get; set; }
[DataMember]
public String TipoGrupo { get; set; }
[DataMember]
public int IdTalla { get; set; }
[DataMember]
public String ClaveParteBase { get; set; }
[DataMember]
public String ClaveParteTalla { get; set; }
[DataMember]
public int IdUnidad { get; set; }
[DataMember]
public decimal Empaque { get; set; }
[DataMember]
public decimal Peso { get; set; }
[DataMember]
public decimal Volumen { get; set; }
[DataMember]
public String ManejaLotes { get; set; }
[DataMember]
public String TipoCosteo { get; set; }
[DataMember]
public int IdFamilia { get; set; }
[DataMember]
public int IdGrupo { get; set; }
[DataMember]
public int Caracteristica1 { get; set; }
[DataMember]
public int Caracteristica2 { get; set; }
[DataMember]
public int Caracteristica3 { get; set; }
[DataMember]
public int Caracteristica4 { get; set; }
[DataMember]
public int Caracteristica5 { get; set; }
[DataMember]
public int Caracteristica6 { get; set; }
[DataMember]
public int EnlaceSIMAC { get; set; }
[DataMember]
public String RutaImagen { get; set; }
[DataMember]
public String IdClienteProveedor { get; set; }
[DataMember]
public decimal Empaqueint { get; set; }
[DataMember]
public bool CalcularPrecio { get; set; }
[DataMember]
public int IdUnidadFactor { get; set; }
[DataMember]
public int IdFactorConsumo { get; set; }
[DataMember]
public decimal Alto { get; set; }
[DataMember]
public decimal Ancho { get; set; }
[DataMember]
public int Mascara { get; set; }
}
}
El Codigo de mi clase implementadora
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using Entities;
using Business;
using Commun;
using System.Data;
using System.Linq;
using System.ServiceModel.Web;
namespace ServicesWCF
{
// NOTA: puede usar el comando "Rename" del menú "Refactorizar" para cambiar el nombre de clase "ServiceProductos" en el código, en svc y en el archivo de configuración a la vez.
// NOTA: para iniciar el Cliente de prueba WCF para probar este servicio, seleccione ServiceProductos.svc o ServiceProductos.svc.cs en el Explorador de soluciones e inicie la depuración.
public class ServiceProductos : IServiceProductos
{
public List<Productos> GetProductosFindByID(Productos InObject)
{
Transactions buTransact = new Transactions();
DataTable dtAdapter = new DataTable();
dtAdapter = buTransact.SelectAll(InObject);
IEnumerable<Productos> listItems = dtAdapter.DataTableToList<Productos>();
List<Productos> js = listItems.ToList();
return js;
}
}
}
Y mi metodo para consumirlo
public void ConsumeServiceProducts(){
ServiceProducts.ServiceProductos SrvProductos = new ServiceProducts.ServiceProductos ();
ServiceProducts.Productos SendItem = new Estratega.Droid.ServiceProducts.Productos ();
SendItem.IdProducto = (string)_inputSearch.Text;
SrvProductos.GetProductosFindByIDAsync (SendItem);
SrvProductos.GetProductosFindByIDCompleted += SrvProductos_GetProductosFindByIDCompleted;
}
Y el lugar donde no sale lo esperado es aqui:
private void SrvProductos_GetProductosFindByIDCompleted(object sender, ServiceProducts.GetProductosFindByIDCompletedEventArgs e)
{
throw new System.NotImplementedException();
}
ya que en el argumento de "e" me marca un error como si no se estuviera resolviendo bien el transporte de los datos ¿Alguna idea? :S