Hello All,
Yes its here once more. Surely this has been around dozens of times, but this time I've just hit a dead-end. I've checked threads, sites, read through the documentation and more. Nothing though seems to be working.
I'm trying to access a procedure I created called FF and owned by APEX_030200. I'm running EPG on database ver. 11.1.0.7 Enterprise Ed.
I'm hoping someone can see something that I might be doing wrong.
I've include the output of the error, epgstat, the registered packages and procedures with wwv_flow_epg_include_modules.authorize, and I just can't see anything wrong.
Thanks in advance for any assistance, can't seem to crack this one. The only thing I can see is that authorize might not be reading/executing the function
wwv_flow_epg_include_mod_local (located at the bottom). I've recompiled all the wwv_flow_epg_include... pkgs,pkg body and functions, and something is preventing it from being read;
Jan
Here is the output of epgstat.sql
+--------------------------------------+
| XDB protocol ports: |
| XDB is listening for the protocol |
| when the protocol port is non-zero. |
+--------------------------------------+
HTTP Port FTP Port
--------- --------
8080 8021
1 row selected.
+---------------------------+
| DAD virtual-path mappings |
+---------------------------+
Virtual Path DAD Name
-------------------------------- --------------------------------
/apex/* APEX
1 row selected.
+----------------+
| DAD attributes |
+----------------+
DAD Name DAD Param DAD Value
------------ ------------------------ ----------------------------------------
APEX database-username ANONYMOUS
authentication-mode Basic
default-page apex
document-table-name wwv_flow_file_objects$
request-validation-funct wwv_flow_epg_include_modules.authorize
ion
document-procedure wwv_flow_file_mgr.process_download
nls-language american_america.al32utf8
error-style DebugStyle
document-path docs
9 rows selected.
+---------------------------------------------------+
| DAD authorization: |
| To use static authentication of a user in a DAD, |
| the DAD must be authorized for the user. |
+---------------------------------------------------+
DAD Name User Name
-------------------------------- --------------------------------
APEX ANONYMOUS
APEX_PUBLIC_USER
2 rows selected.
+----------------------------+
| DAD authentication schemes |
+----------------------------+
DAD Name User Name Auth Scheme
-------------------- -------------------------------- ------------------
APEX ANONYMOUS Anonymous
1 row selected.
+--------------------------------------------------------+
| ANONYMOUS user status: |
| To use static or anonymous authentication in any DAD, |
| the ANONYMOUS account must be unlocked. |
+--------------------------------------------------------+
Database User Status
--------------- --------------------
ANONYMOUS OPEN
1 row selected.
+-------------------------------------------------------------------+
| ANONYMOUS access to XDB repository: |
| To allow public access to XDB repository without authentication, |
| ANONYMOUS access to the repository must be allowed. |
+-------------------------------------------------------------------+
Allow repository anonymous access?
----------------------------------
true
Here is the output of the error from the EPG trace:
It is forbidden to call this procedure directly from the browser!
DAD name: apex
PROCEDURE : !apex_030200.ff
URL : http://XDB HTTP Server:8080/apex/!apex_030200.ff?App=700&Page=1&Session=3672478919249563&Request=APPLICATION_PROCESS=ONDEMAND_PROCESS
PARAMETERS :
===========
NAME_ARRAY:
App
Page
Session
Request
x01
VALUE_ARRAY:
700
1
3672478919249563
APPLICATION_PROCESS=ONDEMAND_PROCESS
Global Variable from External App Window
ENVIRONMENT:
============
PLSQL_GATEWAY=WebDb
GATEWAY_IVERSION=2
SERVER_SOFTWARE=Oracle Embedded PL/SQL Gateway/11.1.0.7.0
GATEWAY_INTERFACE=CGI/1.1
SERVER_PORT=8080
SERVER_NAME=XDB HTTP Server
REQUEST_METHOD=POST
QUERY_STRING=App=700&Page=1&Session=3672478919249563&Request=APPLICATION_PROCESS=ONDEMAND_PROCESS
PATH_INFO=/!apex_030200.ff
SCRIPT_NAME=/apex
REMOTE_HOST=
REMOTE_ADDR=11.1.1.1
SERVER_PROTOCOL=HTTP/1.1
REQUEST_PROTOCOL=HTTP
REMOTE_USER=ANONYMOUS
ORACLE_SSO_USER=
OSSO_IDLE_TIMEOUT_EXCEEDED=
OSSO_USER_GUID=
HTTP_CONTENT_LENGTH=54
HTTP_CONTENT_TYPE=application/x-www-form-urlencoded; charset=UTF-8
HTTP_USER_AGENT=Mozilla/5.0 (Windows; U; en-US) AppleWebKit/531.9 (KHTML, like Gecko) AdobeAIR/2.0
HTTP_HOST=11.1.1.1:8080
HTTP_ACCEPT=text/xml
HTTP_ACCEPT_ENCODING=
HTTP_ACCEPT_LANGUAGE=
HTTP_ACCEPT_CHARSET=
HTTP_COOKIE=WWV_CUSTOM-F_1044621606123154_700=625AD371DC492039; LOGIN_USERNAME_COOKIE=admin
HTTP_IF_MODIFIED_SINCE=
HTTP_REFERER=app:/iApplication.html
HTTP_SOAPACTION=
HTTP_ORACLE_ECID=
HTTP_ORACLE_CACHE_VERSION=
HTTP_AUTHORIZATION=
WEB_AUTHENT_PREFIX=
DAD_NAME=apex
DOC_ACCESS_PATH=docs
DOCUMENT_TABLE=wwv_flow_file_objects$
PATH_ALIAS=
REQUEST_CHARSET=AL32UTF8
REQUEST_IANA_CHARSET=UTF-8
SCRIPT_PREFIX=
HTTP_IF_MATCH=
HTTP_CACHE_CONTROL=
SOAP_BODY=
HTTP_X_ORACLE_DEVICE_CLASS=
HTTP_X_ORACLE_DEVICE_ORIENTATION=
HTTP_X_ORACLE_DEVICE_MAXDOCSIZE=
HTTP_X_ORACLE_DEVICE=
HTTP_X_ORACLE_ORIG_ACCEPT=
HTTP_X_ORACLE_ORIG_USER_AGENT=
HTTP_X_ORACLE_USER_LOCALE=
HTTP_X_ORACLE_USER_NAME=
HTTP_X_ORACLE_USER_DISPLAYNAME=
HTTP_X_ORACLE_USER_USERKIND=
HTTP_X_ORACLE_USER_AUTHKIND=
HTTP_X_ORACLE_USER_DEVICEID=
HTTP_X_ORACLE_USER_LOCATION_ADDRESSLINE1=
HTTP_X_ORACLE_USER_LOCATION_ADDRESSLINE2=
HTTP_X_ORACLE_USER_LOCATION_ADDRESSLASTLINE=
HTTP_X_ORACLE_USER_LOCATION_BLOCK=
HTTP_X_ORACLE_USER_LOCATION_CITY=
HTTP_X_ORACLE_USER_LOCATION_COMPANYNAME=
HTTP_X_ORACLE_USER_LOCATION_COUNTY=
HTTP_X_ORACLE_USER_LOCATION_STATE=
HTTP_X_ORACLE_USER_LOCATION_POSTALCODE=
HTTP_X_ORACLE_USER_LOCATION_POSTALCODEEXT=
HTTP_X_ORACLE_USER_LOCATION_COUNTRY=
HTTP_X_ORACLE_USER_LOCATION_TYPE=
HTTP_X_ORACLE_USER_LOCATION_X=
HTTP_X_ORACLE_USER_LOCATION_Y=
HTTP_X_ORACLE_SERVICE_HOME_URL=
HTTP_X_ORACLE_SERVICE_PARENT_URL=
HTTP_X_ORACLE_HOME_URL=
HTTP_X_ORACLE_MODULE_CALLBACK_URL=
HTTP_X_ORACLE_MODULE_CALLBACK_LABEL=
HTTP_X_ORACLE_CACHE_USER=
HTTP_X_ORACLE_CACHE_SUBID=
HTTP_X_ORACLE_CACHE_AUTH=
HTTP_X_ORACLE_CACHE_DEVICE=
HTTP_X_ORACLE_CACHE_LANG=
HTTP_X_ORACLE_CACHE_ENCRYPT=
HTTP_X_ORACLE_ASSERT_USER=
And finally here are all the packages registered with the authorize function. I used the following thread to get this information
890567
AUTHORIZED OBJECT_TYPE
------------------------------------------------------------- -------------------
APEX PROCEDURE
APEXWS PACKAGE
APEX_030200.APEX_LOGIN PROCEDURE
APEX_ADMIN PROCEDURE
F PROCEDURE
HTMLDB PROCEDURE
HTMLDB_ADMIN PROCEDURE
HTMLDB_CUSTOM_AUTH PACKAGE
HTMLDB_LOGIN PROCEDURE
HTMLDB_UTIL PACKAGE
P PROCEDURE
WWV_CALCULATOR PACKAGE
WWV_FLOW PACKAGE
WWV_FLOW_CUSTOMIZE PACKAGE
WWV_FLOW_CUSTOM_AUTH_STD PACKAGE
WWV_FLOW_FILE_MGR PACKAGE
WWV_FLOW_HELP PACKAGE
WWV_FLOW_IMAGE_GENERATOR PACKAGE
WWV_FLOW_ITEM_HELP PACKAGE
WWV_FLOW_UTILITIES PACKAGE
WWV_SPELING PACKAGE
Z PROCEDURE
Here is the pl/sql function for wwv_flow_epg_include_mod_local:
CREATE OR REPLACE function wwv_flow_epg_include_mod_local(
procedure_name in varchar2)
return boolean
is
begin
if upper(procedure_name) in ('APEX_030200.FF','FF') then
return TRUE;
else
return FALSE;
end if;
end wwv_flow_epg_include_mod_local;
Edited by: jstem1177 on Jan 28, 2010 2:32 PM
Edited by: jstem1177 on Jan 28, 2010 2:46 PM