Openness@Microsoft

Openness@Microsoft es el medio para mantener una comunicación sana y continua entre la comunidad de código abierto, donde se permite hablar abierta y honestamente acerca de los diferentes temas de interoperabilidad, como son UNIX, Linux, Windows, entre ot

Pasar un conjunto de datos por Web Service entre Java y DotNet - Fuente DevTroce.com

Pasar un conjunto de datos por Web Service entre Java y DotNet - Fuente DevTroce.com

  • Comments 1
  • Likes

Tomado de DevTroce.com

Navegando en foros, blogs y otros me di cuenta que hay demasiada gente que busca información de como pasar un c0njunto de datos, la mayoría intenta pasar un DataSet o DataReader de dotnet y hacerlo compatible con Java u otros lenguajes, otros intentan pasar un ResultSet de Java por el mismo medio.

Recordemos que los tipos de datos que se traficaran deben ser serializables, es decir, se tiene que poder componer y descomponer los datos originales para su transporte, normalmente se utiliza un conjunto de bytes o cadenas base64, aunque puede utilizarse otras técnicas.

Es por ello que los ResultSet y DataReader no podemos transportarlos, en cambio el DataSet si es posible traficarlospor que el mismo puede serializarse en XML finalmente.

Ahora bien, traficar un DataSet normalmente puede ser servido y consumido por dotNet sin problemas, pero al mezclar lenguajes surge el problema de la tipificación. Aunque no descarto que sea posible hacerlo, sería más complejo que la solución que expondré aquí.

Para el ejemplo crearemos un WS server con Java, y lo consumiremos con C#. Para pasar el conjunto de datos crearemos una clase compuesta por varios tipos de datos nuevamente y los serializaremos, haciendo que la misma implemente de java.io.Serializable

image
image
Ahora creamos el lado servidor del web service de este modo, por cierto los datos los cargaré manualmente en el código, ustedes lo pueden ir poblando a partir de otras fuentes como una BD, ficheros, etc. Si se fijan el método retorna un list de la clase base que hemos creado 

image

image

Finalmente, una vez agregado en Visual Studio el WSDL como referencia web, podemos consumir los datos. Vale resaltar que si lo consumimos con VS el nos generará la clase persona, si lo consumimos con java, php, u otro lenguaje debemos volver a mapear el tipo de objeto persona serializandolo.

El código en C# se vería semejante a esto el código:

image

Articulos Relacionados: 
  1. Autenticarse contra un Web Service con Autenticación con Java y Visual Basic
  2. Crear un Web Service con Java y consumirlo con .Net
  3. Leer datos de una base de datos con java

 

Ver original..

Comments
  • Thanks a lot. It works correctly.

    Do you know how to use a EJB as a Web Service?

    Thanks in advance.

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment