La forma mas facil de hacerlo en .NET 2005 con C# es declarando un objeto DataSet y mandar llamar su metodo MyDataSet.GetXml(). Pero creanme que al momento de exponerlo tendran problemas. puesto que ni Jdeveloper , ni Aqualogic Service Bus reconocen el tipo de dato complejo que por default genera , asi que esta es mi solución a dicha situación.
Primeramente debemos crear la estructura de salida que contiene nuestro dataset , y lo haremos mediante una clase. Supongamos que nuestro dataset nos va arrojar la clave de nuestros clientes y en su caso un tag de mensaje en caso de algun error.
Agregamos la Clase wsElements a nuestro proyecto. y creamos la estructura
Aqui el codigo con la estructura de salida que vizualizaremos en XML.
Nos regresamos al codigo de nuestro servicio web llamado Clientes y declaramos un objeto de tipo array de nuestra clase qua acabamos de crear y lo asignamos a la variable wsResult
Ahora lo siguiente es obtener la informacion de nuestro dataset y de ahi obtener el numero total de registros, esto nos ayudará a dimensionar nuestro arreglo.
Por ultimo asignamos la informacion de nuestro DataSet a wsResult.
Y listo , procedemos a ejecutar el servicio web , el resultado debera ser un XML con la estructura que creamos en wsElements.
La ventaja de hacerlo de esta forma , es que no vas a tener ningun problema si tus WebServices seran consumidos por alguna aplicacion Java.
Espero que sea de ayuda.
Como exponer un WebService apartir de un DATASET en XML (Visual .NET 2005 & C#)
Publicado por
Atmorphius
Suscribirse a:
Entradas (Atom)