IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Services Web Java Discussion :

Limite d'envoi d'un message SOAP


Sujet :

Services Web Java

  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 121
    Par défaut Limite d'envoi d'un message SOAP
    Bonjour à tous,

    Nous allons surement avoir à compléter un web services axis2 existant tournant sous Tomcat.
    La modification va porter sur l'ajout de valeurs dans le message de requetes (plus de données envoyées).

    Cependant, on pense que la taille du message va grandement (plusieurs MO).
    Y-t-il des contres indications à utiliser des messages SOAP si volumineux? Axis2 supporte-t-il facilement des messages volumineux? N'est-il pas trop gourmant dans sa sérialisation/désérialisation des messages (ce qui pourrait entrainer des OutOfMemory)?

    Ma seconde question est sensiblement la même mais avec le serveur Weblogic 8.1 et 10.3.

    Merci pour vos retours !

  2. #2
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 210
    Par défaut
    1- Axis2 est un des meilleurs framework de webservices, et son databinding est bien plus rapide que jaxb2 (jax-ws).

    2- Axis2 serialise et deserialise directement des objets java vers les flux. Il n'y a pas de probleme mémoire dans le moteur Axis2 en soit.

    3- Tout dépend les données que tu veux renvoyer. Si les données proviennent d'une base de donnée, je suppose que tu vas d'abord tout charger dans des objets java. Le probleme de mémoire interviendra probablement à ce moment. Donc en dehors d'axis2.

    4- Si la donnée de plusieurs MO est un fichier, il faut alors utiliser un DataHandler d'Axis2 : le fichier n'est pas chargé en mémoire, il sera lu et écrit lors de la sérialisation de la réponse XML. La lecture du fichier est délégué. Et si le fichier doit être "construit", il faut que cette construction soit capable d'écrire directement dans un flux OutputStream sans rien garder en mémoire.

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 121
    Par défaut
    Ok merci pour ces infos/pistes !

  4. #4
    Membre Expert
    Avatar de alexismp
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 503
    Par défaut
    Citation Envoyé par bugsan Voir le message
    1- Axis2 est un des meilleurs framework de webservices, et son databinding est bien plus rapide que jaxb2 (jax-ws).
    jaxb 2 support XML Schema à 100%. ADB est plus limité.

    Avec Metro (implem JAX-WS de référence) le streaming en mémoire est intégré. J'ai effectué des test avec des payloads de 500Mo.

    Bien sûr s'il s'agit de données binaires, il faut utiliser MTOM pour éviter l'encodage en base64.

    WebLogic 10.x intègre une bonne partie de Metro. Je en sais pas si le streaming (qui date d'il y a un an environ) est dans la version weblog qui t'intéresse.

  5. #5
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 121
    Par défaut
    Si je comprend bien, il faut modifier le webservice existant pour qu'il reçoive des "pièces jointes" plutôt qu'un xml classique, comme actuellement utilisé pour envoyé mes données?

    Mais du coup, le webservice n'a plus les paramètres définies dans mon wsdl et donc les clients ne pourront pas connaitre la grammaire du xml désormais envoyé par pièce jointe?

  6. #6
    Membre Expert
    Avatar de alexismp
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 503
    Par défaut
    MTOM est utilisé différemment en fonction des stack web services.
    Avec Metro (JAX-WS), rien ne change coté développement, c'est une config du runtime (un enrichissement du WSDL avec une policy) qui indique l'utilisation de MTOM. Détails ici: https://metro.dev.java.net/guide/Bin...ts__MTOM_.html

  7. #7
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 121
    Par défaut
    Justement j'ai rapidement parcouru la doc axis2, et il semblerait que le code doit changé
    Merci pour vos infos !

  8. #8
    Membre Expert
    Avatar de alexismp
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 503
    Par défaut
    Toutes les API n'ont pas été conçues égales!

  9. #9
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 121
    Par défaut
    Citation Envoyé par alexismp Voir le message
    Toutes les API n'ont pas été conçues égales!
    Et comme par hasard Axis2 fait dans le compliqué...
    J'ai rarement vu un truc aussi infâme en Java

Discussions similaires

  1. Exception lors d'un envoi d'un message soap à un ws java
    Par Cixi dans le forum Services Web
    Réponses: 2
    Dernier message: 08/06/2007, 17h05
  2. Envoi de messages SOAP
    Par ep31 dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 13/12/2005, 12h58
  3. Envoie d'un message a TOUS les composant d'une form
    Par chddv dans le forum Composants VCL
    Réponses: 7
    Dernier message: 15/09/2003, 09h47
  4. A respecter lors de l'envoi d'un message (Version 2)
    Par Aurelien.Regat-Barrel dans le forum Windows
    Réponses: 0
    Dernier message: 04/01/2003, 15h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo