Tipos y Webservices

01/08/2008 - 10:51 por jlgordo | Informe spam
Hola a todos.

Tengo una DLL que implementa tipos de datos que se utilizan en 2
webservices
diferentes. Por ejemplo:

Datos.DLL:
namespace Datos;
public class Mensaje{
public int codigo{get;set;}
public object parametro{get;set;}
}

Los 2 Webservices utilizan esta dll y ambos tienen webmethods que
aceptan y
devuelven valores de tipo Mensaje


Cuando añado referencias a los webservices en mi proyecto, VS me crea
un
namespace para cada uno de los dos webservices, y en cada uno de
ellos
existe una definición de la clase Mensaje.

En algunos casos, necesito pasar el mismo parámetro a ambos servicios
web,
pero el sistema no me deja usar la misma instancia de Parametro porque
me
dice que son tipos distintos.

Lo que me gustaría hacer es poder usar indistintamente instancias de
Mensajes en llamadas a los 2 servicios web, porque la verdad es que
así es
bastante incómodo.

Esto es lo que hago ahora:

WebService1 ws1 = new Servicio1.WebService1();
WebService2 ws2 = new Servicio2.WebService2();

Mensaje msg = new Servicio1.Mensaje();
msg.codigo = 1;
msg.objeto="prueba";

ws1.ProcesaMensaje(msg);

Mensaje msg2 = new Servicio2.Mensaje();
msg2.codigo = 1;
msg2.objeto="prueba";

ws2.ProcesaMensaje(msg2);




Y esto como creo que debería poder hacerse:

WebService1 ws1 = new WebService1();
WebService2 ws2 = new WebService2();

Mensaje msg = new Mensaje();
msg.codigo = 1;
msg.objeto="prueba";

ws1.ProcesaMensaje(msg);
ws2.ProcesaMensaje(msg);



¿Alguna ayudita?


Gracias
 

Leer las respuestas

#1 Bela Istok
01/08/2008 - 19:58 | Informe spam
Simplemente quita la definición que te pone Visual Studio de la clase
mensaje (cuando creas la referencia) y deberías poder usarlo sin problemas
el que tienes definido en el DLL.

Una pregunta es Web Service normal o estas usando WCF?

Saludos,

Bela Istok

wrote in message
news:
Hola a todos.

Tengo una DLL que implementa tipos de datos que se utilizan en 2
webservices
diferentes. Por ejemplo:

Datos.DLL:
namespace Datos;
public class Mensaje{
public int codigo{get;set;}
public object parametro{get;set;}
}

Los 2 Webservices utilizan esta dll y ambos tienen webmethods que
aceptan y
devuelven valores de tipo Mensaje


Cuando añado referencias a los webservices en mi proyecto, VS me crea
un
namespace para cada uno de los dos webservices, y en cada uno de
ellos
existe una definición de la clase Mensaje.

En algunos casos, necesito pasar el mismo parámetro a ambos servicios
web,
pero el sistema no me deja usar la misma instancia de Parametro porque
me
dice que son tipos distintos.

Lo que me gustaría hacer es poder usar indistintamente instancias de
Mensajes en llamadas a los 2 servicios web, porque la verdad es que
así es
bastante incómodo.

Esto es lo que hago ahora:

WebService1 ws1 = new Servicio1.WebService1();
WebService2 ws2 = new Servicio2.WebService2();

Mensaje msg = new Servicio1.Mensaje();
msg.codigo = 1;
msg.objeto="prueba";

ws1.ProcesaMensaje(msg);

Mensaje msg2 = new Servicio2.Mensaje();
msg2.codigo = 1;
msg2.objeto="prueba";

ws2.ProcesaMensaje(msg2);




Y esto como creo que debería poder hacerse:

WebService1 ws1 = new WebService1();
WebService2 ws2 = new WebService2();

Mensaje msg = new Mensaje();
msg.codigo = 1;
msg.objeto="prueba";

ws1.ProcesaMensaje(msg);
ws2.ProcesaMensaje(msg);



¿Alguna ayudita?


Gracias

Preguntas similares