1.3.1.9, WebUtil Version 1.0.2(Beta), window xp service pack 2 build 2600, Internet Explorer 8
I created a form called read_web_file.fmb
this form has
a- block called METAR_BLOCK under which a text item called metar_code with initial values airport code (OLBA, LCLK )
b- block called Button under which a button PASS_VAUES is created and a procedure p993_GET_Qry_To_avia_weather has been called
After executing the following procedure an error is happened: ORA-06508 PL/SQL: could not find program unit being called.
Expand|Select|Wrap|Line Numbers
- PROCEDURE p993_GET_Qry_To_avia_weather
- IS
- l_http_request UTL_HTTP.req;
- l_http_response UTL_HTTP.resp;
- l_buffer_size NUMBER(10) := 512;
- l_line_size NUMBER(10) := 70;
- l_lines_count NUMBER(10) := 10;
- l_string_request VARCHAR2(512);
- l_url VARCHAR2(512);
- l_line VARCHAR2(128);
- l_raw_data RAW(512);
- l_clob_response CLOB;
- BEGIN
- /*
- send HTTP request depending on the html file structure fount at the url : http:/aviationweather.gov/adds/metars/ :
- ...
- < FORM name="textForm" method="GET" action="">
- <INPUT SIZE=14 NAME="station_ids" TYPE="text">
- ............
- <INPUT NAME="submitmet" TYPE="submit" VALUE="Submit">
- <INPUT TYPE="reset" VALUE="Reset FORM"></FORM>
- ....... ...
- */
- l_url := 'http://aviationweather.gov/adds/metars?station_ids='||:METAR_BLOCK.metars;
- l_http_request := UTL_HTTP.begin_request(url =>l_url ,method => 'GET');
- UTL_HTTP.set_header(r => l_http_request, name => 'User-Agent', value => 'IE8');
- UTL_HTTP.set_header(l_http_request, 'Host', 'aviationweather.gov');
- l_http_response := UTL_HTTP.get_response(l_http_request);
- DBMS_OUTPUT.put_line('Response> status_code: "' || l_http_response.status_code || '"');
- DBMS_OUTPUT.put_line('Response> reason_phrase: "' ||l_http_response.reason_phrase || '"');
- DBMS_OUTPUT.put_line('Response> http_version: "' ||l_http_response.http_version || '"');
- BEGIN -- response block
- <<response_loop>>
- LOOP
- UTL_HTTP.read_raw(l_http_response, l_raw_data, l_buffer_size);
- l_clob_response := l_clob_response || UTL_RAW.cast_to_varchar2(l_raw_data);
- END LOOP response_loop;
- EXCEPTION
- WHEN UTL_HTTP.end_of_body THEN
- UTL_HTTP.end_response(l_http_response);
- END; -- Response Block
- DBMS_OUTPUT.put_line('Response> length: "' || LENGTH(l_clob_response) || '"');
- DBMS_OUTPUT.put_line(CHR(10) || '=== Print first ' || l_lines_count || ' lines of HTTP response... ===' || CHR(10) || CHR(10));
- <<print_response>>
- FOR i IN 0..CEIL(LENGTH(l_clob_response) / l_line_size) - 1 LOOP
- l_line := SUBSTR(l_clob_response, i * l_line_size + 1, l_line_size);
- DBMS_OUTPUT.put_line('[' || LPAD(i, 2, '0') || ']: ' || SUBSTR(TRIM(l_line),1,50) || '...');
- EXIT WHEN i > l_lines_count - 1;
- END LOOP print_response;
- IF l_http_request.private_hndl IS NOT NULL THEN
- UTL_HTTP.end_request(l_http_request);
- END IF;
- IF l_http_response.private_hndl IS NOT NULL THEN
- UTL_HTTP.end_response(l_http_response);
- END IF;
I would like to clarify that UTL_HTTP specification is opened and compiled under the Program Unit in the object navigator .
any one Can help me how I can using and wrap oracle supplied packages (just as utl_url or utl_http) through my own stored procedures and call them from my forms??
Thank you and i appreciate any support.