3

I can't execute following statement-

DECLARE
    lo_req  UTL_HTTP.req;
    lo_resp UTL_HTTP.resp;
  BEGIN
    UTL_HTTP.SET_WALLET ('file: C:\app\wallet','abcd@1234');
    lo_req := UTL_HTTP.begin_request('https://wordpress.org/');
    lo_resp := UTL_HTTP.get_response(lo_req);
    dbms_output.put_line(lo_resp.status_code);
   UTL_HTTP.end_response(lo_resp);
END;

My wallet path is C:\app\wallet and password is abcd@1234.
When execute this code, display following error:

ORA-29273: HTTP request failed
ORA-06512: at "SYS.UTL_HTTP", line 1130
ORA-28759: failure to open file

How can I solve that?

3
  • Can you check if the Oracle user has the read access to the file. Commented Nov 2, 2014 at 10:51
  • 1
    Remove the space between file: and C:\app\wallet. Best of luck. Commented Nov 2, 2014 at 15:22
  • How can i check that? @vishad Commented Nov 2, 2014 at 15:53

2 Answers 2

4

The documentation for UTL_HTTP.SET_WALLET() has two things to say about the path:

  1. The format is like this on Windows file:c:\WINNT\Profiles\username\WALLETS
  2. The wallet path must be accessible from the database server.

Clearly your code fails the first point, as you have a space between the file keyword and the drive letter.

Perhaps the second point applies too: is that a drive on your database server?

Sign up to request clarification or add additional context in comments.

2 Comments

I have removed <space> between file: and path. But still getting the same error message. I am not sure wither the path is accessible from the database user. Is there any way to make sure this or how to create a directory path for the wallet? Please explain.
Check that account which runs Oracle server has access rights on Wallet file in provided folder. I had a case where Oracle server was run by another user account and caused this error.
1

You need to add privileges for the appropriate user or group for your cwallet.sso and ewallet.p12 files.Privileges may not be present if you have used orakpi utility.

For Windows,

1.Select the file, right-click, and select Properties.

2.Select the Security tab and click Change Permissions.

3.Click Add > Locations, and select the appropriate location.

4.In the Select User or Group field, type ora_dba.Click the Check names button to verify that the ora_dba group exists.

5.Click OK and the Permission Entry dialog box displays.

6.Select the Allow check box next to Full Control and click OK.

7.In the Advanced Security dialog box click Apply.

8.Click OK to exit the dialogs.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.