web service consejo porfavor

31/10/2006 - 11:39 por Eduardo Silva | Informe spam
Hola a todos,

Estoy aca en inglaterra tierra ajena y estrana intentando
sobrevivir, en el trabajo me encomendaron a hacer un webservice (el primero
que hago) una parate se supone que la tengo que hacer yo y otra una empresa.
Cada uno lo desarrollo de la forma que le parecio mejor. Los dos estamos
trabajando con .net

Primero construi dos funciones que entregaban el codigo de error y
un dataset pero no les gusto porque repietia dos campos y querian
optimizarlo con elementos y un atributo de xml.
Yo despues de volverme loco intentando que funcione como xml opte
por hacer una jerarquia de clases a las cuales las cargo con los datos que
quiero enviar. Expongo una funcion con los parametros y retorno la clase en
cuestion:

<WebMethod()> _
Public Function GetCandidateAchievement(ByVal candidateNumber As String, _
ByVal
firstName As String, ByVal
lastName As String, ByVal passportNo As String) As AchievementSubmission

A mi me gusta este metodo porque es bien claro a la hora de ir a buscar
datos a la base sin tener que pensar mucho en convertir a xml.

Todo funciona bien pero la empresa que esta haciendo la otra parte dice que
esta mal que lo que deveria estar entregandoles es un xmlDocument y de hecho
cuando yo llamo a la funcion de ellos no tengo parametros para llenar sino
un solo parametro que espera un xmlDocument.


Mi pregunta es como se supone que se hace esto para mi encapsular los datos
en un xmlDocument me saca la posibilidad de llamar a la funcion directamente
sin tener que validar el xmlDocument y me parece mucho mas facil de usar
pero ellos dicen que esta es la forma de hacerlo correcto y como hablan en
ingles y rapido no les entiendo mucho.

Que les parece es mala practica en web services entregar directamente la
funcion con los parametros? es mejor mandar un xmlDocument?


Ayuda por favor estoy perdido no tengo a quien preguntar estube 3 semanas
leyendo libros y no encontre una respuesta clara sobre el camino a seguir,


Muchas Gracias,


Eduardo
 

Leer las respuestas

#1 Javier Reséndiz C.
06/11/2006 - 21:43 | Informe spam
Hola Eduardo:

El atributo <WebMethod>, permite publicar tu método como WebService. Esto
permite que .Net, genere el resultado como un documento xml cuya descripción
está disponible como parte de generación del webservice (wsdl). Esto es, si
ellos tienen claro el concepto de Web Services no deberían tener problemas
para invocar la funcionalidad del tuyo.

Asp.Net, permite que te evites crear todo el código requerido para devolver
la respuesta xml.

Si te piden un xmlDocument, entonces creo que ellos están trabajando de más,
al tener que analizar el documento de respuesta a mano (cuando .Net te
permite transparentar eso).

Saludos.

"Eduardo Silva" wrote:

Hola a todos,

Estoy aca en inglaterra tierra ajena y estrana intentando
sobrevivir, en el trabajo me encomendaron a hacer un webservice (el primero
que hago) una parate se supone que la tengo que hacer yo y otra una empresa.
Cada uno lo desarrollo de la forma que le parecio mejor. Los dos estamos
trabajando con .net

Primero construi dos funciones que entregaban el codigo de error y
un dataset pero no les gusto porque repietia dos campos y querian
optimizarlo con elementos y un atributo de xml.
Yo despues de volverme loco intentando que funcione como xml opte
por hacer una jerarquia de clases a las cuales las cargo con los datos que
quiero enviar. Expongo una funcion con los parametros y retorno la clase en
cuestion:

<WebMethod()> _
Public Function GetCandidateAchievement(ByVal candidateNumber As String, _
ByVal
firstName As String, ByVal
lastName As String, ByVal passportNo As String) As AchievementSubmission

A mi me gusta este metodo porque es bien claro a la hora de ir a buscar
datos a la base sin tener que pensar mucho en convertir a xml.

Todo funciona bien pero la empresa que esta haciendo la otra parte dice que
esta mal que lo que deveria estar entregandoles es un xmlDocument y de hecho
cuando yo llamo a la funcion de ellos no tengo parametros para llenar sino
un solo parametro que espera un xmlDocument.


Mi pregunta es como se supone que se hace esto para mi encapsular los datos
en un xmlDocument me saca la posibilidad de llamar a la funcion directamente
sin tener que validar el xmlDocument y me parece mucho mas facil de usar
pero ellos dicen que esta es la forma de hacerlo correcto y como hablan en
ingles y rapido no les entiendo mucho.

Que les parece es mala practica en web services entregar directamente la
funcion con los parametros? es mejor mandar un xmlDocument?


Ayuda por favor estoy perdido no tengo a quien preguntar estube 3 semanas
leyendo libros y no encontre una respuesta clara sobre el camino a seguir,


Muchas Gracias,


Eduardo








Preguntas similares