Skip to Main Content

Oracle Database Discussions

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

ORA-28750 Unknown Error while trying to execute an external app's API call?

libranFeb 23 2011 — edited Feb 24 2011
New 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
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Mar 24 2011
Added on Feb 23 2011
2 comments
1,966 views