Devolver un tipo object con un Web Services

10/01/2006 - 20:16 por Emanuel | Informe spam
Estoy desarrollando un fachada que invoca los distintos métodos de negocio
mediante un único método (utiliza reflextion). Esta fachada es un web service
cuyo parámetro de entrada es el nombre del método a invocar - con los
parametros de entrada del método a llamar - y la salida pueden ser entidades
(DataSet Tipados), DataSet o DataTable. El problema es el siguiente: al tener
esta diversidad de objetos de salida tengo que especificar la salida del web
metodo de tipo object pero los object no se puedes serializar o por lo menos
ese es el error que me tira. Ya intente pasarlo como base64 pero se va el
rendimiento a la mierda – 64 solicitudes por segundo.
Si a alguien se le ocurre una alternativa será de gran ayuda su comentario
 

Leer las respuestas

#1 CESAR DE LA TORRE [MVP]
11/01/2006 - 11:37 | Informe spam
Los parámetros y retornos de datos de un WebService solamente pueden ser
tipos de datos serializables, bien porque sean datos básicos (int, string,
etc.), bien porque sean DataSets y ahora también DataTables (.NET 2.0) o
porque sean clases tuyas 'custom' a las que les hayas implementado
serialización.
Por eso es imposible devolver un objeto de tipo simplemente 'obejct'. Es
lógico, la comunicación de un WebService está basada en SOAP y los mensajes
SOAP no es nada mas que XML, luego todos los objetos de datos tienen que
poder serializarse a XML.
CESAR DE LA TORRE
Software Architect
[Microsoft MVP - XML Web Services]
[MCSE] [MCT]

Renacimiento
[Microsoft GOLD Certified Partner]


"Emanuel" wrote:

Estoy desarrollando un fachada que invoca los distintos métodos de negocio
mediante un único método (utiliza reflextion). Esta fachada es un web service
cuyo parámetro de entrada es el nombre del método a invocar - con los
parametros de entrada del método a llamar - y la salida pueden ser entidades
(DataSet Tipados), DataSet o DataTable. El problema es el siguiente: al tener
esta diversidad de objetos de salida tengo que especificar la salida del web
metodo de tipo object pero los object no se puedes serializar o por lo menos
ese es el error que me tira. Ya intente pasarlo como base64 pero se va el
rendimiento a la mierda – 64 solicitudes por segundo.
Si a alguien se le ocurre una alternativa será de gran ayuda su comentario

Preguntas similares