Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Jasper
Jasper Forum d'entraide sur Jasper Reports. Avant de poster --> FAQ Jasper, Tutoriels Jasper
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/04/2008, 14h50   #1
Membre habitué
 
Avatar de anayathefirst
 
Inscription : décembre 2006
Messages : 326
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : décembre 2006
Messages : 326
Points : 147
Points : 147
Par défaut [JasperServer]copie de resource ne fonctionne pas :(

Salut tout le monde
pour réaliser la migration de ressources sous jasperserver, j'ai essayé de développer une classe pour copier une ressource d'un serveur ver un autre. En voici le code source :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
 
    /**
     * Copies the given file resource from the outServer into the inServer
     * @param   outServer The server from which to retrieve the original resource
     * @param   inServer The server in which to copy the resource
     * @param   parent The parent folder in the inServer in which to copy 
     *          the respirce
     * @param   resource The resource to copy
     * @throws  java.io.IOException
     * @throws  java.lang.Exception
     */
    public static void copyFileResource(JServer outServer,
            JServer inServer,
            String parentFolder,
            ResourceDescriptor resource)
            throws IOException, Exception {
 
        File tempFile = new File("./temp/tempFile");
        if (!tempFile.exists()) {
            tempFile.createNewFile();
        }
        ResourceDescriptor newFileDescriptor = new ResourceDescriptor();
        newFileDescriptor = outServer.getWSClient().get(resource, tempFile);
 
        List children = newFileDescriptor.getChildren();
 
        newFileDescriptor.setParentFolder(parentFolder);
        newFileDescriptor.setUriString(parentFolder + "/" + newFileDescriptor.getName());
        //I don't know why I need to chage this field:
        //add OR modifies normaly means that if the resource is new it adds it and 
        //if it' not new, it modifies it!
        if (resourceExists(inServer, parentFolder, newFileDescriptor.getName())) {
            newFileDescriptor.setIsNew(false);
        } else {
            newFileDescriptor.setIsNew(true);
        }
        inServer.getWSClient().addOrModifyResource(newFileDescriptor, tempFile);
        //deleting the temporary file
        tempFile.delete();
        //if the file has children, we have to copy tehm AGAIN
        //actualy when we copy a file that has children using web services,
        //its children has no data!
        if (children.size() > 0) {
            Iterator childernIterator = children.iterator();
            while (childernIterator.hasNext()) {
                ResourceDescriptor child = (ResourceDescriptor) childernIterator.next();
                String outServerChildParentFolderURI = child.getParentFolder();
                if (outServerChildParentFolderURI != null && !outServerChildParentFolderURI.equals("")) {
                    String inServerchildParentFolderUri = parentFolder + "/" + outServerChildParentFolderURI.substring(outServerChildParentFolderURI.lastIndexOf("/") + 1);
                    copyFileResource(outServer, inServer, inServerchildParentFolderUri, child);
                }
            }
        }
    }
the problème, c'est que ça me renvoie l'erreur suivante :
Code :
1
2
3
4
5
6
 
java.lang.Exception: 2 - The resource was not found
        at com.jaspersoft.jasperserver.irplugin.wsclient.WSClient.modifyReportUnitResource(WSClient.java:502)
        at com.jaspersoft.jasperserver.irplugin.wsclient.WSClient.addOrModifyResource(WSClient.java:442)
        at util.RepositoryManager.copyChildResource(RepositoryManager.java:179)
        at util.RepositoryManager.copyFileResource(RepositoryManager.java:114)
cette exception n'est lancée que pour les ressources qui ont des enfants (report units et input controls)
ai-je mal fait quelque chose ou est-ce un bug dans les WS de jasper ?
anayathefirst est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2008, 10h37   #2
Membre éclairé
 
Inscription : avril 2007
Messages : 195
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 195
Points : 320
Points : 320
Tu as quoi comme erreur sur le serveur?
__________________
Cordialement,

*****************
Christopher André
Sales Engineer

Voir mon profil

Il est extrêmement rare que je réponde à un message privé.
Contribuez à la FAQ Jasper Reports & iReport
candre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2008, 10h44   #3
Membre habitué
 
Avatar de anayathefirst
 
Inscription : décembre 2006
Messages : 326
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : décembre 2006
Messages : 326
Points : 147
Points : 147
Mise à part la sortie d'erreur de java (jointe dans mon code), je ne saurais pas te dire.
on le trouve où le fichier de log de JasperServer ?
anayathefirst est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2008, 11h04   #4
Membre éclairé
 
Inscription : avril 2007
Messages : 195
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 195
Points : 320
Points : 320
Le fichier de log de JasperServer se situe par défaut dans le répertoire "<JasperServer webapp root>/WEB-INF/logs".
Tu peux configurer le fichier de log "<JasperServer webapp root>/WEB-INF/log4j.properties" pour avoir plus ou moins d'information affichées dans ton fichier.
__________________
Cordialement,

*****************
Christopher André
Sales Engineer

Voir mon profil

Il est extrêmement rare que je réponde à un message privé.
Contribuez à la FAQ Jasper Reports & iReport
candre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2008, 11h20   #5
Membre habitué
 
Avatar de anayathefirst
 
Inscription : décembre 2006
Messages : 326
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : décembre 2006
Messages : 326
Points : 147
Points : 147
je dois avouer que je ne comprends pas tout, et je ne sais pas ce qui pourrait t'intéresser dans ce que me dis le serveur. j'ai relancé jasperserver, puis mon apli, voici tout mon fichier de log en fichier joint.
sinon, l'erreur qu'il me donne dans la sortie d'erreur standard est :
Code :
1
2
3
java.lang.Exception: 2 - The resource was not found
        at com.jaspersoft.jasperserver.irplugin.wsclient.WSClient.modifyReportUnitResource(WSClient.java:502)
        at com.jaspersoft.jasperserver.irplugin.wsclient.WSClient.addOrModifyResource(WSClient.java:442)
anayathefirst est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2008, 11h27   #6
Membre habitué
 
Avatar de anayathefirst
 
Inscription : décembre 2006
Messages : 326
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : décembre 2006
Messages : 326
Points : 147
Points : 147
oups, il était trop gros, il n'est pas passé, je l'ai tronqué. j'en znlevé que des ligne d'autentification je ne sais plus quoi qui se répétaient ...
Fichiers attachés
Type de fichier : txt jasperserver.txt (13,8 Ko, 2 affichages)
anayathefirst est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2008, 11h49   #7
Membre éclairé
 
Inscription : avril 2007
Messages : 195
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 195
Points : 320
Points : 320
En fait, j'essaie de savoir si le problème vient de ton serveur ou de ton client.
Dans ce cas précis, il semblerait qu'il n'y ai pas de problèmes avec ton serveur (d'après les logs fournis) donc il doit y avoir un problème avec ton implémentation des webservices.
Je suspecte perso la façon dont tu tentes de récupérer les ressources dépendantes de tes rapports ou contrôles d'entrée.
__________________
Cordialement,

*****************
Christopher André
Sales Engineer

Voir mon profil

Il est extrêmement rare que je réponde à un message privé.
Contribuez à la FAQ Jasper Reports & iReport
candre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2008, 12h09   #8
Membre habitué
 
Avatar de anayathefirst
 
Inscription : décembre 2006
Messages : 326
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : décembre 2006
Messages : 326
Points : 147
Points : 147
vu qu'il me dit resource not found, il attends peut-être un fichier non vide. mais je suis sûr que le ficher que je lui passe en parametre n'est pas vide (j'ai vérifié dans mon dossier "./temp"
en plus la fonction hasData ne fonctionne pas comme je l'espérait . même pour des fichier pdf ou jrxml, elle me renvoie false des fois (pas toujours en plus)
comment doit-on s'en servir ?
la fonction addormodify est bizard aussi. si elle s'appelle comme ça elle devrait gérer toute seule le fait que le fichier existe ou pas et choisir la fonction a appeler en conséquence. elle a besoin de l'attribut isNew (qu'on doit définir par nous même en vérifiant si le fichier existe ou pas) pour décider de l'action à faire ! ou est l'intérêt ?
anayathefirst est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2008, 12h32   #9
Membre habitué
 
Avatar de anayathefirst
 
Inscription : décembre 2006
Messages : 326
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : décembre 2006
Messages : 326
Points : 147
Points : 147
ok, j'ai compris le fonctionnement pour les "enfant" des "report units"
en fait, lorsqu'on migre un "report units" en utilisant les web service, seul les fichier jrxml principaux sont migrés (mais sans données)
se qu'il faut donc faire, c'est tester si le fils a migrer est le rapport principal (ismainreport) et le déclarer isNew si il ne l'est pas.

maintenant, j'ai un autre problème dans la même lignée : la migration fonctionne parfaitement avec des fichier comme des images ou des jrxml ou des resourcebundel, mais pas avec les pdf. ce qui se passe, c'est que mon pdf es migré tout seul sans données pourtant j'utilise la même méthode que pour les images !
anayathefirst est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2008, 13h32   #10
Membre éclairé
 
Inscription : avril 2007
Messages : 195
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 195
Points : 320
Points : 320
Je suis pas très familier avec la bibliothèque Java pour accèder aux webservices, j'en ai peur.
Par contre, peux-tu capturer la réponse que renvoit le serveur à ton application (avec Ethereal par exemple) et nous le joindre afin que je vois ce qui est exactement renvoyé par celui-ci?
Merci d'avance.
__________________
Cordialement,

*****************
Christopher André
Sales Engineer

Voir mon profil

Il est extrêmement rare que je réponde à un message privé.
Contribuez à la FAQ Jasper Reports & iReport
candre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2008, 15h01   #11
Membre habitué
 
Avatar de anayathefirst
 
Inscription : décembre 2006
Messages : 326
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : décembre 2006
Messages : 326
Points : 147
Points : 147
ralala, un autre truc à apprendre à utiliser.
j'ai téléchargé wireshark, mais je ne sais pas comment voire mes paquets locaux, il faut définir une interface à "capturer", mais Lo n'apparait pas
anayathefirst est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/04/2008, 09h44   #12
Membre habitué
 
Avatar de anayathefirst
 
Inscription : décembre 2006
Messages : 326
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : décembre 2006
Messages : 326
Points : 147
Points : 147
Mauvaise nouvelle, la recopie de documents ne peut pas se faire dans la version que j'utilise de jasperserver. elle est prévue pour les release supérieurs à 2.1 uniquement. ma source peut être considérée comme sûr, c'est le forum officiel de JasperForge
Attendons !
Mais bon, c'est pas si grave que ça, JasperServer n'est pas fait pour partager les pdf...
anayathefirst est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h21.


 
 
 
 
Partenaires

Hébergement Web