Pular para o conteúdo
Visualizando 1 post (de 1 do total)
  • Autor
    Posts
  • #102958
    leonardoqu
    Participante

      Ola,

      Estou tendo problemas ao tentar conectar a um webservice. Estou usando ult_http, sendo que o webservice so recebo o xml, o login e senha não são enviado. Poderiam me ajudar.

      Abaixo query que estou utilizando.


      DECLARE
      req utl_http.req;
      resp utl_http.resp;
      name VARCHAR2(255);
      value VARCHAR2(1023);
      v_msg VARCHAR2(2000);
      v_url VARCHAR2(32767);
      begin
      v_url := 'aqui fica o host';
      v_msg:='XML=T2EA32';

      -- request that exceptions are raised for error status codes
      utl_http.set_response_error_check(enable => TRUE);
      -- allow testing for exceptions like Utl_Http.Http_Server_Error
      utl_http.set_detailed_excp_support(enable => TRUE);

      /*utl_http.set_proxy(
      proxy=>'www-proxy.psoug.org', no_proxy_domains=>'psoug.org');*/

      req := utl_http.begin_request(url => v_url, method => 'POST');
      -- Or use method => 'POST' and utl_http.write_text
      -- to create an arbitrarily long msg

      utl_http.set_header(r=>req,name=>'User-Agent',value=>'Mozilla/4.0');

      utl_http.set_header(req, 'Content-Type','application/x-www-form-urlencoded');

      utl_http.set_header(req, 'Content-Length', LENGTH(v_msg));

      utl_http.set_authentication(r => req, username => 'User=aqui passo o login',
      password => 'aqui passo a senha', scheme => 'Basic');

      utl_http.write_text(req, v_msg);

      resp := utl_http.get_response(req);

      dbms_output.put_line('Status code: ' || resp.status_code);
      dbms_output.put_line('Reason phrase: ' || resp.reason_phrase);

      FOR i IN 1..utl_http.get_header_count(r => resp)
      LOOP
      utl_http.get_header(r=>resp, n=>i, name=>name, value=>value);
      dbms_output.put_line(name || ' ' || i || ' ' || ': ' || value);
      END LOOP;

      BEGIN
      LOOP
      utl_http.read_text(r => resp, data => v_msg);
      dbms_output.put_line(v_msg);
      END LOOP;
      EXCEPTION
      WHEN utl_http.end_of_body THEN
      NULL;
      END;

      utl_http.end_response(r => resp);
      EXCEPTION
      WHEN utl_http.request_failed THEN
      dbms_output.put_line('Request Failed: ' || utl_http.get_detailed_sqlerrm);
      WHEN utl_http.http_server_error THEN
      dbms_output.put_line('Server Error: ' || utl_http.get_detailed_sqlerrm);
      WHEN utl_http.http_client_error THEN
      dbms_output.put_line('Client Error: ' || utl_http.get_detailed_sqlerrm);
      WHEN OTHERS THEN
      dbms_output.put_line(SQLERRM);
      END;

    Visualizando 1 post (de 1 do total)
    • Você deve fazer login para responder a este tópico.
    plugins premium WordPress