Récupération après erreur
Si des erreurs surviennent au cours du traitement d'un script XML, le fichier de résultats XML contient un message d'erreur. Après avoir corrigé la cause de l'erreur, deux options s'offrent à vous pour continuer.
- Exécutez à nouveau l'intégralité du script XML.
- Supprimez toutes les ressources du script XML avant le point où l'erreur s'est produite et exécutez uniquement le reste du script XML.
Si l'erreur survient au cours de la validation du script XML et qu'aucune ressource n'a encore été traitée, vous pouvez simplement réexécuter l'intégralité du script. Vous pouvez vérifier ce point en examinant les commentaires de rapport d'avancement dans la réponse XML.
Si l'erreur survient après que certaines ressources aient été traitées, la meilleure option dépend de plusieurs conditions :
- Si vous avez utilisé le niveau de transaction request, vous devez exécuter encore une fois l'intégralité du script, car tous les changements ont été annulés.
- Si vous avez utilisé le niveau de transaction resource, la meilleure solution consiste à exécuter uniquement le reste du script XML et à ne pas répéter les modifications déjà effectuées ; dans le cas contraire, vous risqueriez de dupliquer les ressources déjà créées. Vous ne pouvez utiliser cette option que si le reste du script XML ne contient pas de référence aux ressources que vous supprimez, c'est-à-dire si vous ne vous référez pas aux ID objet symboliques de ces ressources. Pour plus d'informations, voir ID d'objet symbolique et Mode de génération d'ID. Vous pouvez toujours supprimer des ressources déjà traitées du script XML, si votre script utilise uniquement des ID objet codées pour les références, car dans ce cas, toutes les références peuvent être résolues par une recherche des ID objet dans la base de données du portail.
Pour simplifier la reprise après une erreur, utilisez des scripts pouvant être partiellement ou entièrement réexécutés sans risque de duplication des ressources. Pour ce faire, spécifiez un ID objet ou un autre attribut d'identification pour chaque ressource du script et utilisez uniquement des actions de mise à jour (update
). Ainsi, les ressources sont simplement remplacées avec la même configuration si elles ont déjà été créées. Pour plus d'informations sur la spécification des attributs, voir la rubrique Attributs obligatoires et facultatifs.