ORA-28750 Unknown Error while trying to execute an external app's API call?
libranFeb 23 2011 — edited Feb 24 2011New to using web services in PLSQL
Environment
Database: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
PL/SQL Release 10.2.0.4.0 - Production
CORE 10.2.0.4.0 Production
TNS for Linux IA64: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - Production
App Server:
RedHat ES 3.0 and Oracle Application Server 9.0.4 (IAS release 1)
We are designing a plsql application, that is able to call an external application's webservice APIs. We have created an oracle wallet for this, where we have successfully imported the corrrect security certificate issued by the API provider.
All we are trying to do is to call one of the methods (LOGIN), which should login the provided user into the application and should return a valid session id. For this, I have a function, http_request, which first establishes the request to the URI. The code is failing at this call, with following error:
ORA-29273: HTTP request failed
ORA-06512: at "SYS.UTL_HTTP", line 1029
ORA-28750: unknown error
I could not find more information on ORA-28750..?
Here is the function cal, in our application package:
FUNCTION http_request(
p_uri IN VARCHAR2,
p_method IN VARCHAR2 DEFAULT 'GET',
p_http_version IN VARCHAR2 DEFAULT NULL
)
RETURN UTL_HTTP.req IS
v_request UTL_HTTP.req;
BEGIN
v_request := UTL_HTTP.begin_request(p_uri, p_method, p_http_version);
IF v_session_id IS NOT NULL THEN
UTL_HTTP.set_header(v_request, 'SessionID', v_session_id);
END IF;
RETURN v_request;
END http_request;
Here is my anonymous block, where I tested the function with the URI parameters
declare
v_request UTL_HTTP.req;
begin
UTL_HTTP.set_wallet('file:/etc/ORACLE/WALLETS/attask', '<pwdforattask>');
v_request := pkg_attask_api.http_request('https://streamsandbox.attask-ondemand.com/attask/api/login?username=<valid_user_name>&password=<valid_pwd>','GET',NULL);
end;
Please note that user name and passwords used for the above test have been tested to be correct. When I login to web interface of the URL, these values work fine.
Any help is appreciated as I am close to hitting the wall on this!
Thanks for your time and expertise,
Suma