Bonjour,

J'ai un problème avec une requête POST avec utl_http.write_text.

En paramètre, j'envoie un JSON avec une chaine de caractère contenant le caractère ':', ce qui provoque une erreur.

Je ne trouve pas comment échapper ce caractère.
J'ai essayer de remplacer avec chr(58) sans succès.

exemple:

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
 
declare
      req utl_http.req;
      res utl_http.resp;
      url varchar2(128) := 'http://myurl';
      buffer varchar2(8000);
      contentJSON varchar2(8000) :=
      '{
            "toto":"ABC:DEF"
       }';
begin
      req := utl_http.begin_request(url, 'POST');
      utl_http.set_header(req, 'user-agent', 'mozilla/4.0');
      utl_http.set_header(req, 'content-type', 'application/json');
      utl_http.set_header(req, 'Content-Length', length(contentJSON));
      utl_http.write_text(req, contentJSON);
      res := utl_http.get_response(req);
end;
/
Si quelqu'un a une idée.