Bonjour,
J'ai mis un fichier Xml dans une base Lotus sur un serveur dans les shared Resource Files. J'ai réussi après de nombreuses recherches à récupérer le contenu de ce fichier au moyen d'un agent écrit en Java. Cependant, avant en local, je faisais :
args était le chemin de mon fichier xml et tout fonctionnait nickel.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 DocumentBuilderFactory create = DocumentBuilderFactory.newInstance(); DocumentBuilder constructor; constructor = create.newDocumentBuilder(); /** reading of the XML file with DOM */ File xml = new File(args); Document document = constructor.parse(xml);
Aujourd'hui, étant que je récupère le contenu de mon fichier et non son chemin je compte faire :
args étant la chaîne de caractères contenant tout le contenu du fichier xml et voilà l'erreur que j'obtiens :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 DocumentBuilderFactory create = DocumentBuilderFactory.newInstance(); DocumentBuilder constructor; constructor = create.newDocumentBuilder(); Document document = constructor.parse(args);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 java.net.MalformedURLException: no protocol: <?XML version='1.0' standalone="yes" encoding="UTF-8"?> <!ELEMENT CONFIG ((SERVEUR|SERVEURSMTP|DESTINATAIRE|REPERTOIRE)*)> <!ELEMENT SERVEUR EMPTY> <!ATTLIST SERVEUR source CDATA #REQUIRED dest CDATA #REQUIRED tolerance CDATA #REQUIRED> <!ELEMENT SERVEURSMTP EMPTY> <!ATTLIST SERVEURSMTP nom CDATA #REQUIRED port CDATA #REQUIRED> <!ELEMENT DESTINATAIRE EMPTY> <!ATTLIST DESTINATAIRE mail CDATA #REQUIRED> <!ELEMENT REPERTOIRE EMPTY> <!ATTLIST REPERTOIRE nom CDATA #REQUIRED> <CONFIG> <SERVEUR source="un" dest="deux" tolerance="20"/> <REPERTOIRE nom="mail"/> <SERVEURSMTP nom="un.com" port ="25"/> <DESTINATAIRE mail="tck-lt@blabla.com"/> </CONFIG> at java.net.URL.<init>(URL.java:565) at java.net.URL.<init>(URL.java:462) at java.net.URL.<init>(URL.java:411) at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source) at org.apache.xerces.impl.XMLVersionDetector.determineDocVersion(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.DOMParser.parse(Unknown Source) at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source) at javax.xml.parsers.DocumentBuilder.parse(Unknown Source) at Comp_Legris1_Dolly.main(Comp_Legris1_Dolly.java:74) at JavaAgent.NotesMain(JavaAgent.java:105) at lotus.domino.AgentBase.runNotes(Unknown Source) at lotus.domino.NotesThread.run(Unknown Source)
J'ai essayé, à l'origine, sans tout le contenu de la DTD, ça ne marchait pas non plus. Je suis persuadé que ça vient d'un problème de ce genre. Les plus malins d'entre vous me diront que je n'ai qu'à récupérer le chemin du fichier sur le serveur mais c'est impossible, car quand j'appelle constructor.parse(xml), il va chercher le fichier en local dans c:/Program Files/lotus/notes/
Merci d'avance pour vos réponses.
PS:J'ai changé le sujet, le mot Lotus fait un peu peur apparemment.
Partager