style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

Web Service asincrono

Hola javeros!

En el trabajo que han encargado la tarea de realizar un web service asincrono, aunque me parece que la a sincronia debe estar del lado del cliente, no se que tengo que agregar a mi Web Service (Desarrollado con JAX-WS) para que le de soporte a los clientes asincronos, que dicho sea de paso serán programados en .NET . Aunque he encontrado en varios documentos que JAX-WS da soporte a los clientes asincronos, no se que sucede cuando los clientes no son clientes Java ...

Cualquier información que me puedan hacer llegar es bienvenida ªuª

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Thread

No se de WS asíncronos, no me suena que esto sea posible pues se usa petición-respuesta y en el momento de esperar respuesta se pierde lo asincrono. La solución mas "fácil" es crear un nuevo hilo en tu aplicación que se encargue de hacer el proceso que quieras (invocar el WS). De esa forma al despertar el hilo devuelves inmediatamente el control a tu aplicación sin importar el tiempo que tarde

El problema se genera en que ahora debes tener un MUY BUENA administración de los hilos que estas despertando pues ahí ya entraríamos a un problema de concurrencia

Imagen de ezamudio

más info

no entendí bien tu duda. El web service como tal pues debe poder atender muchas peticiones de manera concurrente, pero si el protocolo que usas es HTTP, ese es un protocolo síncrono, por lo que cada petición será atendida de manera síncrona.

En el cliente, puedes manejarlo de manera asíncrona usando notificaciones: en vez de que el método que lanza la petición bloquee al hilo que lo invoca hasta que se obtenga una respuesta, la petición HTTP se lanza en un hilo separado y cuando se reciba la respuesta, se le notifica a algún objeto que generalmente debe implementar una interfaz con un método que va a recibir como parámetro la respuesta.

En el server no hay diferencia alguna para atender a ambos tipos de clientes porque finalmente es lo mismo, recibes peticiones y las despachas y envias respuesta y ya. La diferencia es totalmente del lado del cliente.

Apache Axis te genera clientes síncronos y asíncronos.

Imagen de WinDoctor

Plugin de Axis2

Puedes generar el WS con el Plugin de Axis2 para Eclipse. De hecho, me parece que lo que comenta ezamudio, lo puedes indicar si quieres el cliente síncrono, asíncrono o ámbos,

http://axis.apache.org/axis2/java/core/tools/eclipse/wsdl2java-plugin.html

Imagen de clau_botas

Gracias

Hola :)

Supongo que esa era la forma bonita, pero :D lo que tuve que hacer fue desde el cliente de .NET, le puse la opcion de que sea asincrono y listo!
No hubo problema y todo jao bien :)

Pero lo que comentas creo que es lo mas adecuado

att: clau_botas

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">