Oracle BI Publisher ne veut pas uploader un Etat ?

Que ce soit en version 10g ou 11g, nous pouvons un jour, rencontrer ce message d’erreur : « the request was rejected because its size exceeds allowed range », après avoir soumis un état via la console Oracle BI Publisher.
Ah bon ?! Mon état rejeté parce qu’il est trop gros ?
Bien évidemment la taille des états varie en fonction des besoins, et force est de constater que rares sont les états gigantesques … et pourtant : cela arrive !

Et pourquoi cette erreur ?

Parce que cela arrive inéluctablement si une précaution n’a pas été prise. Un problème de configuration sans doute !
D’autant plus que si on essaye sur la version 10g et la version 11g de Oracle BI Publisher, et en tentant l’insertion, nous avons le même comportement des deux côtés. Nous noterons au passage qu’aucune modification des fichiers de configurations n’a été apportée.

Un problème de configuration ?

Effectivement, il suffit de visualiser le fichier « reportaction.jsp » pour s’en rendre compte.
Sur la version 10g, vous le trouverez dans le répertoire suivant :

/oracle/product/10.1.3.4/oc4j_bi/j2ee/home/applications/xmlpserver/xmlpserver/

Sur la version 11g il sera ici :

/oracle/product/bip11g/mid/user_projects/domains/bifoundation_domain/servers/bi_server1/tmp/_WL_user/bipublisher_11.1.1.3.0/{instance_bipublisher}/war

Si nous regardons d’un peu plus près cette servlet, elle contient une méthode nommée upload:

public void upload(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
  DiskFileUpload upload = new DiskFileUpload();
  upload.setHeaderEncoding("UTF-8");
  upload.setSizeThreshold(1000000);
  upload.setSizeMax(10000000);
  List items = null;
  try {
    items = upload.parseRequest(request);
  }
  catch (FileUploadException e) {
     throw new ServletException(e);
  }
}

Notons la méthode setSizeMax plutôt intéressante dans notre cas, elle affecte à la procédure upload la taille maximale du fichier à uploader.
Ici la taille est en octets, nous avons une taille maximale de téléchargement de fichier de 10 mégaoctets. L’état que nous essayons en vain d’intégrer est de … 16 mégaoctets … tout s’explique !
Modifions la valeur, portons la à 20 mégaoctets (ça laissera de la marge ! :))

upload.setSizeMax(20000000);

Enregistrons le fichier et testons …
Ca marche ! Mon état est enfin uploadé.

1 réflexion sur “Oracle BI Publisher ne veut pas uploader un Etat ?”

  1. Cédric Rapiera

    J’ai encore jamais eu cette erreur mais l’astuce est bonne à savoir 😉
    Heureusement que c’est du code source (Et pas le .class compilé d’une servlet)

Les commentaires sont fermés.