Skip to Main Content
  • Questions
  • Failed to set wallet path to system:

Breadcrumb

Question and Answer

Connor McDonald

Thanks for the question, SREEJU.

Asked: April 10, 2025 - 7:05 am UTC

Last updated: May 13, 2025 - 3:24 am UTC

Version: 19.3.0.0.0

Viewed 1000+ times

You Asked

Hi,

While listening through the video "Developer Coaching - Oracle Database 23ai - Zero Slides, Zero Marketing, 100% Live Demo" there mentioned that we can set the oracle wallet path to system: to access the windows level certificates, but when I tried the same using below PLSQL code, I couldn't succeed, I'm getting the error "ORA-29248: an unrecognized WRL was used to open a wallet".

Kindly let me know where I went wrong with the code? and how to use the system: as mentioned?

Oracle Database: 19.3.0.0.0
Error: ORA-29248: an unrecognized WRL was used to open a wallet
Command Used: utl_http.set_wallet('system:',null);

full code is given below:

declare
 p_url varchar2(200) := 'https://www.oracle.com';
 l_http_request utl_http.req;
 l_http_response utl_http.resp;
 l_text varchar2(32767);
begin
    utl_http.set_wallet('system:',null);

 l_http_request := utl_http.begin_request(p_url);
 l_http_response := utl_http.get_response(l_http_request);
 utl_http.read_text(l_http_response,l_text,32766);
 dbms_output.put_line(substr(l_text,1,100));
exception
 when utl_http.end_of_body then
  utl_http.end_response(l_http_response);
end;


Thanks for your support in advance.

and Connor said...

Not on 19.3, you need to be on one of the later release updates (we're currently up to 19.26)

I'm sorry I don't know the exact release update number, because UTL_HTTP is just a layer on top of low level C api's , so I can't see any references to the term "system:" in the PLSQL layer.

If I had to *guess*, I'd say around the 19.20 timeframe, but as always, if you were going to patch, you would patch to the latest anyway

Rating

  (1 rating)

Comments

Fabiano Matos, May 12, 2025 - 8:46 pm UTC

Here we are on release 19.14, we were successful but our experience was like this:

First I did a request test using the conventional wallet to ensure that the certificate was not in the wallet and, therefore, would return the error ORA-29024:Certificate Validation Failure.

select utl_http.request('https://web.whatsapp.com', null, 'file:/u1/oradata/dev/wallet') x from dual


Next, I tested the same request using the wallet based on the operating system "system:". At this point, we got "ORA-29248: an unrecognized WRL was used to open a wallet" error.

select utl_http.request('https://web.whatsapp.com', null, 'system:') x from dual


At that time, I also imagined that it was because we were not on a newer release of the database.

A few days later, luckily, I repeated the test. But this time, I didn't make the first request with the conventional wallet as before, I went straight to the wallet based on the operating system. And to my surprise, it worked!

I then made the request for the conventional wallet again and got ORA-29024 in the same session. After this error, any request in the same session with the "system:" wallet shows the error "ORA-29248: an unrecognized WRL was used to open a wallet."

With this, I was able to conclude that, since Oracle loads the conventional wallet into memory, it is not possible to use the wallet based on the operating system in the same session.

You may double check if you have the conventional wallet being set in some point in your session leading you to the ORA-29248 error.
Connor McDonald
May 13, 2025 - 3:24 am UTC

Thanks for passing this info on.

More to Explore

DBMS_OUTPUT

More on PL/SQL routine DBMS_OUTPUT here