Thenon David wrote:

Bonjour � tous,

Voila, je travaille avec Aur�lien DEHAY sur un pseudo-CMS. Nous permettons dedans d'int�grer des feed (rss,atom..) dans le site.
Je passerais les d�tails, le plus important est qu'ils sont mis en cache � certaines p�riodes.


Seulement, on ne peut r�ellement se fier aux feeds vu que ce sont des ressources externes. Et nous en avons eu l'exemple avec un feed rss invalide comme document XML, du coup d�s qu'il �tait pars� en interne, on se retrouvait avec un message "Premature End of file".

Et de ce fait, toutes les ressources cocoon appelant le cache invalide, plante aussi avec le m�me message.

Je me suis donc orient� sur le <map:handle-error/> avec l'intention de m'en servir pour renvoyer un fichier xml bidon en cas d'erreur avec le cache du feed.

Cel� fonctionne si on apelle directement la ressource, mais si elle est appell�e depuis une autre ressource via un cocoon:/ ou cocoon:// , le map:handle-error n'est pas utilis�, on se retrouve donc avec le messsage d'erreur que j'essaye de bloquer avec mon handle-error.

De ce que j'ai compris sur la documentation, c'est le comportement normal.



Effectivement, le <handle-errors> n'est pas pris en consid�ration pour l'appel des URL internes ("cocoon:"). La raison initial (au tout d�but de cocoon 2.0) est que les URL internes sont consid�r�es comme faisant partie d'un ensemble plus grand, la requ�te externe, et que c'est � ce niveau que doivent �tre trait�es les erreurs.


Dans le cas de l'aggr�gation de ressources externes, le contexte est diff�rent et ce comportement est plut�t g�nant qu'autre chose. Si vous utilisez les transformers xinclude ou cinclude pour construire les pages, il est possible dans l'un comme dans l'autre de sp�cifier un fragment XML de remplacement en cas d'indisponibilit� (ou d'erreur) sur une ressource incluse.

Sylvain

--
Sylvain Wallez                                  Anyware Technologies
http://www.apache.org/~sylvain           http://www.anyware-tech.com
{ XML, Java, Cocoon, OpenSource }*{ Training, Consulting, Projects }


--------------------------------------------------------------------- Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/ Pour vous desinscrire : mailto:[EMAIL PROTECTED] Autres commandes : mailto:[EMAIL PROTECTED]



Répondre à