- Este tópico contém 0 resposta, 1 voz e foi atualizado pela última vez 12 anos, 10 meses atrás por leonardoqu.
Visualizando 1 post (de 1 do total)
Visualizando 1 post (de 1 do total)
- Você deve fazer login para responder a este tópico.
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=
-- 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;