Des erreurs ou des avertissements s'affichent lors de la génération d'un fichier IRX d'analyse statique

Symptôme

Lorsque vous générez un fichier IRX, vous pouvez recevoir des erreurs ou des avertissements, ou la génération du fichier IRX peut échouer. Lorsque la génération du fichier IRX échoue, le nom du fichier obtenu est suivi de _failed (par exemple, my_irx_file_failed.irx). Dans ce cas, vous disposez de plusieurs options pour résoudre le problème de génération du fichier IRX.

Résolution

  • Utiliser un fichier de configuration pour résoudre le problème de génération du fichier IRX

    Si vous générez un fichier IRX sans utiliser de fichier de configuration et que la génération échoue (ou que le fichier est généré mais avec une erreur), l'Utilitaire de ligne de commande Static Analyzer génère un fichier de configuration temporaire que vous pourrez utiliser pour des examens ultérieurs. Ce fichier ressemble au modèle de fichier de configuration dans le sens où il contient un élément Targets avec les informations connues concernant vos cibles. Cependant, le fichier contient également un élément <TargetSettings> que vous pouvez modifier en ajoutant des informations qui permettront à l'Utilitaire de ligne de commande de générer un fichier IRX complet. Ce fichier est intitulé appscan-config.xml et il est enregistré dans le répertoire actuel. Cela signifie que le fichier sera automatiquement utilisé pour le prochain examen.

    Par exemple, lors de la génération d'un fichier IRX pour une cible contenant des dépendances externes qui ne peuvent pas être localisées, vous pouvez recevoir un message tel que celui-ci :

    C:\myTargetDirectory>appscan prepare
                  An IRX file was created, but it may be incomplete.
    C:\myTargetDirectory\myTarget.jar requires the following packages:
          org.apache.jasper.*
    An appscan-config.xml file was created in: C:\myTargetDirectory\appscan-config.xml
    Please update the file and rerun the command.

    Le fichier appscan-config.xml qui est généré est similaire à ceci :

    <Configuration>
      <Targets>
        <Target outputs-only="true" path="C:\myTargetDirectory"/>
      </Targets>
      <Settings/>
      <TargetSettings>
        <Target path="C:\myTargetDirectory\myTarget.jar"/>
          <!--Please add the path of the following dependencies to the attribute "additional_classpath" below, separated by semi-colon.
    			  org.apache.jasper.*-->
          <CustomBuildInfo additional_classpath=""/>
        </Target>
      </TargetSettings>
    </Configuration> 

    Pour résoudre le problème, mettez à jour <CustomBuildInfo additional_classpath=""/> pour inclure les classes org.apache.jasper.* dans le chemin des classes, enregistrez le fichier appscan-config.xml, puis réexécutez la commande appscan prepare (Windows) ou la commande appscan.sh prepare (Linux et macOS). Lorsque vous indiquez le chemin d'accès aux fichiers JAR, la syntaxe standard des chemins d'accès aux classes Java est prise en charge (par exemple, les caractères génériques sont reconnus).

    Si vous rencontrez des problèmes similaires tandis que vous utilisez un fichier de configuration, vous recevez un message qui fait part de ces problèmes. Utilisez ce message pour mettre à jour votre fichier de configuration existant, puis exécutez à nouveau la commande.

    Le fichier de configuration est décrit dans Configuration de la génération de fichier IRX avec l'interface de ligne de commande.

  • Générer des fichiers IRX en mode de débogage

    Si vous générez un fichier IRX à partir de l'interface de ligne de commande, vous pouvez utiliser la commande appscan prepare (Windows) ou la commande appscan.sh prepare (Linux et macOS) avec une option de débogage. Cela donne lieu à la génération de fichiers journaux supplémentaires.

  • Fichiers journaux associés à la génération de fichier IRX

    Pour afficher des erreurs ou des avertissements, vous pouvez consulter les fichiers journaux qui sont également générés. Les fichiers journaux sont sauvegardés dans un fichier d'archive .zip. Par défaut, le fichier est enregistré au même emplacement que votre fichier IRX. Vous pouvez également spécifier un autre emplacement en utilisant l'option -l de la commande appscan prepare (Windows) ou de la commande appscan.sh prepare (Linux et macOS). Le nom du fichier .zip se base sur le nom du fichier IRX généré.

  • Problèmes avec la compilation JSP

    En cas de problème au moment de la compilation JSP, consultez le fichier compile.log dans <file_name>_logs.zip pour y rechercher les éventuelles erreurs de compilation.