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

Preguntas similare

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

Respuesta Responder a este mensaje
#2 Ronald Ricardo Ramirez Moran
06/02/2006 - 22:36 | Informe spam
Hola!

Bueno es claro, un Servicio Web no puede enviar un objeto del tipo object,
debido a que este no se puede serializar, de otra forma lo que podrias hacer
es definir un tipo generico serializable del cual puedes derivar los objetos
que necesitas devolver.

Sin embargo, existe algo muy claro y que es muy necesario al hacer esto y es
que tienes que saber que tipo de objeto envias y devuelves pues ¿como sabra
el cliente que objeto devolver?

¿Podrias explicarnos un poco sobre que es lo que estas tratando de enviar o
devolver y porque usas un objeto para hacerlo?

Saludos,

Ronald Ricardo Ramirez Moran

Blog:
http://dlanorok.blogspot.com
http://weblogs.foxite.com/DlanorOk

"Emanuel" escribió:

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

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida