Kategorie szkoleń | Egzaminy | Kontakt
  • 0
  • 0
  • 49

Dzień dobry.

Mam problem z funkcją, która czyta plik xml. Oryginał pliku xml jest umieszczony na serwerze Apache i funkcja działa poprawnie. Po skopiowaniu i skonfigurowaniu pliku xml na IIS (inny serwer) dostaję poniższą odpowiedź:

 

l_resp: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Length Required</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
<BODY><h2>Length Required</h2>
<hr><p>HTTP Error 411. The request must be chunked or have a content length.</p>
</BODY></HTML>

 

Kod funkcji:

 

declare
  l_http_req UTL_HTTP.REQ;
  l_http_resp UTL_HTTP.RESP;
  l_response XMLTYPE;
  l_value CLOB;
  l_resp VARCHAR2(32000);
  i int := 1;
BEGIN

  UTL_HTTP.SET_PERSISTENT_CONN_SUPPORT(TRUE);
  
  l_http_req := UTL_HTTP.BEGIN_REQUEST(Pck_Gfis_Common_Util.pv_config_url, 'POST', 'HTTP/1.0');
  
  -- Sets up proper HTTP headers.
  --
  
  UTL_HTTP.SET_HEADER(l_http_req, 'Content-Type', 'application/x-www-form-urlencoded');
  UTL_HTTP.SET_HEADER(l_http_req, 'Host', Pck_Gfis_Common_Util.pv_tomcat_server);
  UTL_HTTP.SET_HEADER(l_http_req, 'Port', Pck_Gfis_Common_Util.pv_tomcat_port);
  --
  
  l_http_resp := UTL_HTTP.GET_RESPONSE(l_http_req);
  
  BEGIN
    while i < 2 LOOP
      UTL_HTTP.READ_TEXT(l_http_resp, l_resp);
      l_value := l_value || l_resp;
      dbms_output.put_line('l_resp: ' || l_resp);
      i := i + 1;
    END LOOP;
  EXCEPTION
  WHEN UTL_HTTP.END_OF_BODY
  THEN NULL;
  END;
  
  UTL_HTTP.END_RESPONSE(l_http_resp);
  exception
    WHEN UTL_HTTP.TOO_MANY_REQUESTS THEN
    UTL_HTTP.END_RESPONSE(l_http_resp);

END;

 

Co i jak powinienem ustawić, by móc czytać plik xml?

Z góry dziękuję za pomoc.

Pozdrawiam.
Artur.

Artur_Kozłowski_tulq
  • Zapytał
  • @ Artur_Kozłowski_tulq | 17.05.2016
    • 1
    • 0
    • 0