Problema con WS y Espacio de Nombres

15/09/2004 - 16:00 por David Romero Hernández | Informe spam
Saludos, mi pregunta es la siguiente:
Creo un proyecto de libreria de clases dentro del cual
tengo una clase llamada Articulo, la cual se encuentra en
el espacio de nombres CC.Datos .
Despues creo un nuevo proyecto de servicio web en el
cual un metodo web recibe como parametro la clase
Articulo. Dentro del proyecto de servicio web agrego una
referencia a la dll que contiene dicha clase.
Por ultimo creo un proyecto de aplicacion de windows,
dentro del cual agrego una referencia a la dll de la
clase Articulo y una referencia web a la aplicacion de
servicio web previamente realizada.
El problema viene aqui, yo creo una instancia de la
clase: CC.Datos.Articulo ; la cual planeo enviar como
parametro al metodo del servicio web, pero cual es mi
sorpresa que el metodo solicita: ¡WS.CC.Datos.Articulo!
Esta englobando dentro del espacio de nombres del
servicio web la clase del articulo.
¿Como puedo evitar esto? ¿Como puedo hacer que me
respete los espacios de nombres?
De antemano muchas gracias.
David

Preguntas similare

Leer las respuestas

#1 Daniel Mazzini
16/09/2004 - 08:40 | Informe spam
David:
El web service cuando se compila pone en el WSDL los tipos
creados por ti, en este caso Articulo, y cuando lo usas
desde el cliente el tipo de la clase Articulo es
NombreWS.Articulo. Asi que no seria necesaria tener la
referencia en local (formulario Windows) al proyecto donde
esta la clase articulo. Piensa que eso es un poco la
gracia del WS, que quien lo use no necesita nada de
referencias.

Para hacerlo desde el formulario seria algo asi

NombreWS.Articulo oArt = new NombreWS.Articulo()
oArt.Prop1«C;
NombreWS.GrabaArticulo(oArt);

Saludos,
Daniel
Saludos, mi pregunta es la siguiente:
Creo un proyecto de libreria de clases dentro del cual
tengo una clase llamada Articulo, la cual se encuentra en
el espacio de nombres CC.Datos .
Despues creo un nuevo proyecto de servicio web en el
cual un metodo web recibe como parametro la clase
Articulo. Dentro del proyecto de servicio web agrego una
referencia a la dll que contiene dicha clase.
Por ultimo creo un proyecto de aplicacion de windows,
dentro del cual agrego una referencia a la dll de la
clase Articulo y una referencia web a la aplicacion de
servicio web previamente realizada.
El problema viene aqui, yo creo una instancia de la
clase: CC.Datos.Articulo ; la cual planeo enviar como
parametro al metodo del servicio web, pero cual es mi
sorpresa que el metodo solicita: ¡WS.CC.Datos.Articulo!
Esta englobando dentro del espacio de nombres del
servicio web la clase del articulo.
¿Como puedo evitar esto? ¿Como puedo hacer que me
respete los espacios de nombres?
De antemano muchas gracias.
David
.

Respuesta Responder a este mensaje
#2 David Romero Hernández
17/09/2004 - 16:15 | Informe spam
Saludos Daniel:
Gracias por tú comentario. Sin embargo debo insistir
un poco, he observado que en clases como el DataSet de
System.Data; cuando se coloca como parametro de un método
WS y después en otro proyecto agregas la referencia a
dicho WS el tipo del parámetro sigue siendo
System.Data.DataSet. Entiendo lo que comentas de la
gracia del WS y me parece muy acertado, pero me gustaría
preguntarte: ¿Es posible evitarlo? O ¿Porqué en el caso
del DataSet no sucede?.
De antemano muchas gracias.
David
David:
El web service cuando se compila pone en el WSDL los


tipos
creados por ti, en este caso Articulo, y cuando lo usas
desde el cliente el tipo de la clase Articulo es
NombreWS.Articulo. Asi que no seria necesaria tener la
referencia en local (formulario Windows) al proyecto


donde
esta la clase articulo. Piensa que eso es un poco la
gracia del WS, que quien lo use no necesita nada de
referencias.

Para hacerlo desde el formulario seria algo asi

NombreWS.Articulo oArt = new NombreWS.Articulo()
oArt.Prop1«C;
NombreWS.GrabaArticulo(oArt);

Saludos,
Daniel
Saludos, mi pregunta es la siguiente:
Creo un proyecto de libreria de clases dentro del




cual
tengo una clase llamada Articulo, la cual se encuentra




en
el espacio de nombres CC.Datos .
Despues creo un nuevo proyecto de servicio web en el
cual un metodo web recibe como parametro la clase
Articulo. Dentro del proyecto de servicio web agrego




una
referencia a la dll que contiene dicha clase.
Por ultimo creo un proyecto de aplicacion de windows,
dentro del cual agrego una referencia a la dll de la
clase Articulo y una referencia web a la aplicacion de
servicio web previamente realizada.
El problema viene aqui, yo creo una instancia de la
clase: CC.Datos.Articulo ; la cual planeo enviar como
parametro al metodo del servicio web, pero cual es mi
sorpresa que el metodo solicita: ¡WS.CC.Datos.Articulo!
Esta englobando dentro del espacio de nombres del
servicio web la clase del articulo.
¿Como puedo evitar esto? ¿Como puedo hacer que me
respete los espacios de nombres?
De antemano muchas gracias.
David
.



.

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