Serialización en Web Services

21/02/2004 - 19:25 por Ariel Popovsky | Informe spam
Hola! A ver si alguien puede ayudarme con este problema.

Estoy utilizando un servicio web para transmitir un objeto de una clase que
hice. El problema es que al llegar el objeto al cliente que llama al WS,
recibe una copia de mi clase pero no del mismo tipo.
Si mi clase era Test.Clase1 y mi web reference se llama Servicio1, en lugar
de transmitir un Test.Clase1 recibo un Servicio1.Clase1, con la misma
estructura, pero no es lo que quiero, quiero que el objeto deserializado
tenga el tipo original. Si en cambio transmito una clase propia del
Framework, como un XmlNode, recibo un XmlNode del otro lado.

Alguna idea??
Ariel Popovsky
Buenos Aires
 

Leer las respuestas

#1 Ariel Popovsky
24/02/2004 - 12:51 | Informe spam
Me contesto a mi mismo por si a alguno le sirve.
Cuando un WS utiliza una clase personalizada, el generador de proxies asume
que el cliente no tiene acceso a las mismas librerías que usa el servicio y
crea una versión local tanto de clases como de enums. Basta con modificar
manualmente el proxy generado, agregar la referencía a la librería que tiene
la clase personalizada y eliminar la copia que autogenerada para que utilice
la clase correcta. De esta forma, si el servicio retorna un objeto de tipo
Lib1.Clase1, en el cliente recibiremos una Lib1.Clase1 y no una
Servicio1.Clase1.

Saludos!
Ariel Popovsky
Buenos Aires

"Ariel Popovsky" wrote in message
news:%231DddgK%
Hola! A ver si alguien puede ayudarme con este problema.

Estoy utilizando un servicio web para transmitir un objeto de una clase


que
hice. El problema es que al llegar el objeto al cliente que llama al WS,
recibe una copia de mi clase pero no del mismo tipo.
Si mi clase era Test.Clase1 y mi web reference se llama Servicio1, en


lugar
de transmitir un Test.Clase1 recibo un Servicio1.Clase1, con la misma
estructura, pero no es lo que quiero, quiero que el objeto deserializado
tenga el tipo original. Si en cambio transmito una clase propia del
Framework, como un XmlNode, recibo un XmlNode del otro lado.

Alguna idea??
Ariel Popovsky
Buenos Aires


Preguntas similares