Bonjour,

Je cherche à intégrer la technologie FIANET dans mes fonctions.

Pour cela, je dois envoyer un flux xml à l'aide d'un url et on me renvoi un flux pour me dire si je n'ai pas d'erreurs.

Voici mon code:
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
 
CREATE OR REPLACE PROCEDURE p_envoifianet (
   p_codsoc   IN   NUMBER,
   p_siteid   IN   NUMBER                  -- identifiant de site pour FIA-NET
)
IS
   wa_xmldoc        CLOB;
   wa_url_envoi     CLOB;
   wa_xmlresponse   xmldom.domdocument;
   wa_xmltest		CLOB;
   wa_retval        VARCHAR2 (15);
   wa_deterror      VARCHAR2 (30);
   fichier_dbase    UTL_FILE.file_type;
   w_repertoire     VARCHAR2 (15);
   fic_dbase        VARCHAR2 (15);
   WebPageURL HttpUriType;
 
BEGIN
   wa_xmldoc := f_generexmlfianet (p_codsoc, p_siteid);
 
   --url de test
WebPageURL := HttpUriType.createUri('http://secure.fia-net.com/pprod/engine/stacking.cgi?siteid='
      || p_siteid
      || '&controllcallback='
      || wa_xmldoc);
 
 
 wa_xmltest:=WebPageURL.getCLOB();
 
   --On vérifie si FIA-NET a validé le format de notre flux XML
   IF xpath.TEST (wa_xmltest, 'validstack/result/@avancement="en cours"')
   THEN
      wa_retval := 'valide';
   ELSE
      wa_retval := 'error';
      wa_deterror :=
                   xpath.valueof (wa_xmlresponse, 'validstack/result/detail');
   END IF;
   xmldom.freedocument (wa_xmlresponse);
EXCEPTION
   WHEN OTHERS
   THEN
      xmldom.freedocument (wa_xmlresponse);
END;
/
Or cela ne fonctionne pas, lorsque je vais voir sur mon interface fianet, ils n'ont pas reçu mon flux.

Ma fonction "f_generexmlfianet" me renvoie bien un CLOB (car chaine de caractères trop petit) et je l'ai testé, elle fonctionne.

Apparemment, le souci vient lorsque j'effectue le "wa_xmltest:=WebPageURL.getCLOB();"

Après je ne sais pas si j'utilise vraiment la bonne méthode.

Si quelqu'un a déjà envoyé des flux xml en utilisant cette méthode ou intégré fianet,....