Analisis de la creacion de un web service con JAX-WS 2.0 Netbeans 6.1 Metro

Analisis de la creacion de un web service ...

Definir el problema:
Que?
1.- Conexion con clases a bases de datos de manera local
2.- Que se publique un metodo para acceso a bases de datos en un webservice que pida
parametros de entrada y regrese un objeto Resultado
3.- Que se conecte desde un cliente al metodo del webservice
4.- Que el metodo del cliente se llame desde jsps y consulte la base de datos en el servidor, y obtenga el resultado

Actualmente estoy desarrollando con tecnologia netbeans 6.1 - jax-ws 2.0 - metro -grassfish V2 un web service para la empresa donde laboro, despues de una ardua investigacion y muchos ejercicios he logrado publicar mi webservice con un metodo que me pedian, dejenme comentarles que en este web service tengo las clases divididas en 3 paquetes

1.-Conexion
2.-Servidor
3.-Tipos de datos

En el 1er paquete tengo clases para acceder a 2 bases de datos hechas en mysql donde tambien tengo las consultas que envian los resultados de tipo entero o string al webmethod del webservice

En el 2o paquete tengo el Metodo del Web Service

En el 3er paquete tengo clases que definen el tipo de dato que sera devuelto al usuario

La cuestion que se me presento es que me era necesario regresar un tipo de dato al cliente en donde vaya un entero y un string, lo he implementado mediante una clase llamada Resultado y me ha funcionado bien, acerca de como podra acceder el cliente es sencilla mediante su codigo fuente

String strdescripcion = Resultado.getString(strcadena);

En este caso, teniendo en cuenta que, dado que estamos en un ambiente de Arquitectura Orientada a Servicios, mi Servicio proporciona en la parte cliente las clases propias (desde la que accedas al port,hasta las clases que permiten usar los tipos de datos de vuelta

Al devolver un tipo compuesto por un String y un entero, bien. Se crea una clase, Resultado añadiendole campos de esos tipos y se trata como objeto en mi webservice a todos los efectos, el cliente al hacer uso de estas clases mediante el webservice de jax-ws puede hacer utilizarlo en su código fuente

*********

En la actualidad el proceso del webservice esta de la siguiente manera:
*****

@Webmethod
int intNremesa
int intNMensajeria
EscanelInicial lstEscaneoInicial
String strUsuario
String strClave

En donde lstEscaneoInicial es un arreglo de tipo objeto que recibire de parte del cliente con un string dentro este parametro es parte de una clase EscaneoInicial tipo Serializable, la clase la tengo declarada en mi Servidor
*****

El servidor:
Procesa parametros
y realiza consultas,
updates,inserts
*****

Responde con un objeto
de tipo Resultado:
*****
Resultado result;

result tiene:

int intNstatus
String strDescripcion
Cuentas lstCuentas(array)

el arreglo lstCuentas es un arreglo de tipo objeto que pertenece a la clase Cuentas la cual esta declarada de la siguiente forma:

Cuentas: strCuenta intNstatusCta

Entonces lstCuentas contendria: lstCuentas={1,.,.,.,.n}

es decir:
lstCuentas[1]: strCuenta intNstatusCta
lstCuentas[2]: strCuenta intNstatusCta
lstCuentas[3]: strCuenta intNstatusCta
lstCuentas[n]: strCuenta intNstatusCta
***

Como veran se esta utilizando Arreglos de tipo objeto en los cuales npaso el arreglo de tipo objeto de Clase Resultado result enviandole el arreglo al metodo de acceso de Resultado,

Marco Antonio Trejo Lemus

Mas informacion:



Continuara...