Commentaires de didacticiel

Sur cette page vous pouvez commenter le didacticiel Web services SOAP avec Java 6 (JAX-WS).

Commentaire(s) :

  • oliv
    2007-11-20 14:55:25

    Je m'interroge sur l'appel asynchrone: L'appel est asynchrone coté client, émulé donc. Le service coté serveur est synchrone. Comment exposé en java un WS intrinsinquement asynchrone (dans un serveur d'appli les threads sont nécessairement gérés par celui ci) ? que dit JAX-WS la dessus ?

  • hyacinthe MENIET -- Site web
    2007-11-28 22:55:33

    Bonjour,

    Oui l'exemple explique comment consommer un web service de manière asynchrone (donc côté client). Le client initie une connexion sur le serveur et traite les données qu'il reçoit au fur et à mesure qu'elles arrivent, tout cela de manière non bloquante pour le client. De mon point de vue, il n'y a pas d'émulation dans la mesure où le client est robuste aux lenteurs du web service.

    J'avoue volontiers ne pas m'être penché sur les Web services asynchrones (donc côté serveur) en général et sur les capacités de JAX-WS à gérer de l'asynchrone côté serveur, en particulier. En revanche, je sais qu'Axis 2 permet d'économiser des ressources côté serveur (notamment les threads) et de fluidifier les échanges grâce à des API dédiées à l'asynchrone. Voir le site d'axis 2 ou un exemple chez IBM http://www.ibm.com/developerworks/library/ws-axis2/index.html

  • Nicolas BULTEAU
    2007-12-10 21:59:49

    Bonjour,

    J'ai un problème avec la génération des stbs client asynchrone. Le fichier bindings.xml semble être pri en compte, mais le client généré ne contient pas les méthodes asynchrones. Avez-vous une idée d'ou cela peut il provenir.

    D'avance merci

    Nicolas BULTEAU

  • hyacinthe MENIET -- Site web
    2007-12-16 01:20:55

    Bonjour,

    wsimport génère (entre autres) des interfaces pour les services endpoint et des beans qui mappent les objets retournés par le web services. Ces beans pouvant supporter des appels asynchrones si vous forcez le booléen enableAsyncMapping à true, comme je le fais dans l'exemple. En revanche, les clients, asynchrones ou synchrones sont à écrire par le développeur.

    Ceci dit, j'utilise dans mon exemple l'outil java sous Unix : wsimport, à la défaveur d'un classpath mal configuré ou d'une version trop ancienne ou bugguée, il est possible que votre wsimport nécessite de la configuration ou une mise à jour ? Autre piste, wsimport est très tatillon sur les namespaces, ainsi quelque soit le namespace de votre application il est souvent nécessaire de déclarer celui-ci xmlns=http://java.sun.com/xml/ns/jaxws comme je le fais dans l'exemple.

Insérer un commentaire :