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

Preguntas similare

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


Respuesta Responder a este mensaje
#2 Alejandro Mezcua
24/02/2004 - 13:05 | Informe spam
Ten cuidado con no volver a actualizar la referencia Web porque perderías
todas las modificaciones.

Un saludo,

Alejandro Mezcua
MVP .NET
Zaltor Soluciones Informáticas

"Ariel Popovsky" wrote in message
news:#GtMbys#
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
>
>


Respuesta Responder a este mensaje
#3 Ariel Popovsky
29/02/2004 - 23:43 | Informe spam
Si, ni hablar, lástima que no reconozca automáticamente las librerías que ya
tengo referenciadas.

Gracias!
Ariel Popovsky
Buenos Aires
"Alejandro Mezcua" <amezcua[nospam]@zaltor.com> wrote in message
news:eklNy5s%
Ten cuidado con no volver a actualizar la referencia Web porque perderías
todas las modificaciones.

Un saludo,

Alejandro Mezcua
MVP .NET
Zaltor Soluciones Informáticas

"Ariel Popovsky" wrote in


message
news:#GtMbys#
> 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
> >
> >
>
>


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