-1
http_req := utl_http.begin_request(t_url,'POST',
utl_http.http_version_1_1);
utl_http.set_header(http_req, 'Content-Type', t_content_type);
utl_http.set_header(http_req, 'Content-Length', length(soap_request));
utl_http.set_header(http_req, 'SOAPAction', 'http://tempuri.org/IService/GetActive');
utl_http.write_text(http_req, soap_request);http_resp := utl_http.get_response(http_req);
Utl_Http.read_text(http_resp, response_env,32767);dbms_lob.createtemporary(x_clob, false);
bms_lob.OPEN(x_clob, dbms_lob.lob_readwrite);
BEGIN
loop utl_http.read_text(http_resp, l_buffer);
dbms_lob.writeappend(x_clob, length(l_buffer) , l_buffer);
end LOOP;
EXCEPTION
WHEN others THEN
IF sqlcode <> -29266 then
raise;
ENDIF;
END;
IF(http_resp.status_code = 200) then
L_RESP_XML:= xmltype(response_env);
L_RESULTCODE:= l_resp_xml.extract('/s:Envelope/s:Body/GetResponse/GetResult/a:ResultHeader/b:ResultCode/text()', 'xmlns="http://tempuri.org/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/ xmlns:a="http://schemas.datacontract.org/2004/07/" xmlns:b="http://schemas.datacontract.org/2004/07/"').getstringval();
L_RESULTDESCRIPTION:= l_resp_xml.extract('/s:Envelope/s:Body/GetResponse/GetResult/a:ResultHeader/b:ResultDescription/text()', 'xmlns="http://tempuri.org/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/ xmlns:a="http://schemas.datacontract.org/2004/07/" xmlns:b="http://schemas.datacontract.org/2004/07/.CRM"').getstringval()
IF (l_resultcode = '0' AND l_resultdescription = 'Successful') then
siebel.idc_ir_xml_processing(response_env, err_code , err_mesg);
IF (err_code <> '00') then
error_code := err_code;error_desc := err_mesg;raise error_out;
ELSE
error_code := '00T';
error_desc := l_resultdescription;raise error_out
ENDIF;
ENDIF;
utl_http.end_response(http_resp);
error_code := '00';
error_desc := 'SUCCESS';
EXCEPTION
WHEN error_out THEN
error_code := error_code;error_desc := error_desc; ---SQLERRM||' Unhandled Exception';
WHEN others THEN
error_code := '91';error_desc := sqlerrm || ' Unhandled Exception';
dbms_output.put_line('Error desc:' || error_desc);
END;
上記の手順を複数回コールすると、HTTPリクエストがコールされ、レスポンスが返されます。我々はORA-29273:HTTPリクエストが失敗しました。ORA-29270:開いているHTTPリクエストが多すぎます
Error desc:ORA-29273: HTTP request failed
ORA-06512: at "SYS.UTL_HTTP", line 1130
ORA-29270: too many open HTTP requests
我々は、エラーの下に取得するほとんどの時間をトリガするときには、私たちは、上記の手順とどのように接続を閉じる必要があり、すべてのリクエストを処理するには問題が何であるかを知ってみましょう。その問題がアグゲンを起こさないようにするにはどうすればよいですか?
の可能性のある重複した[ORA-29270:あまりにも多くのオープンHTTPリクエスト](http://stackoverflow.com/questions/1235679/ora-29270-too-many-open-http-requests) –