Bonjour,
Je me pose une question fondamentale concernant les webservices. N'ayant pas assez d'expérience dans le domaine, je n'ai pas la réponse.
Aujourd'hui pour gérer les pièces jointes - et notamment les grosses pièces jointes comme des fichiers de taille >50Mo - en webservices il existe un standard reconnu par l'ensemble des technologies: MTOM. Grâce à elle, on peut, j'ai déjà expérimenté avec Axis2 en Java, utiliser un DataHandler pour récupérer les pièces jointes MTOM du webservices et streamer les fichiers attachés et ainsi éviter les montées en mémoire lors du parsing XML. C'est nickel.
Mais comment fait-on quand c'est la requête XML qui est intrinsèquement grosse ? je m'explique: si dans mon wsdl, j'ai défini un argument de type collection (par exemple une collection de Livres) et qu'un client appelle le webservice avec une collection de Livres énorme (exemple 1.000.000 de Livres induisant un XML de 1Go) comment le webservice peut-il gérer cette requête sans que ca monte en mémoire ? comment les webservices gèrent-ils pour traiter ce genre de requêtes et ainsi éviter des attaques de type out of memory ? je pose la question, car aujourd'hui j'ai récupéré une application qui expose des webservices avec Axis 1, et ce dernier monte tout en mémoire et donc explose lors de l'envoi de larges requêtes. Quelle est la stratégie habituelle pour mettre en place un webservice qui serait insensible à la taille de la requête XML ?