cocoon-users-fr mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sylvain Wallez <sylv...@apache.org>
Subject Re: handle-error
Date Sun, 20 Feb 2005 18:11:10 GMT
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:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org


Mime
View raw message