gpt4 book ai didi

oracle - APEX_WEB_SERVICE.MAKE_REST_REQUEST 结果为 ORA-29248 : an unrecognized WRL was used to open a wallet

转载 作者:行者123 更新时间:2023-12-04 00:34:46 25 4
gpt4 key购买 nike

我正在尝试使用 APEX_WEB_SERVICE.MAKE_REST_REQUEST 通过 SSL/TLS 访问休息网络服务在 Oracle 12c/Apex 5.1 上。这会导致错误消息 ORA-29248: an unrecognized WRL was used to open a wallet .我已将必要的证书放入 oracle 钱包中,并将其存储在代码中指定的位置。 oracle 用户可以访问它。完整代码和错误消息如下。

DECLARE
l_clob CLOB;
l_param_names apex_application_global.vc_arr2;
l_param_values apex_application_global.vc_arr2;
BEGIN

apex_web_service.g_request_headers(1).name := 'Content-Type';
apex_web_service.g_request_headers(1).VALUE := 'application/x-www-form-urlencoded';

apex_web_service.g_request_headers(2).name := 'apikey';
apex_web_service.g_request_headers(2).VALUE := 'this_is_the_api_key';

l_param_names(1) := 'fist_param_name';
l_param_values(1) := 'first_param_value';

l_param_names(2) := 'second_param_name';
l_param_values(2) := 'second_param_value';

-- Get the XML response from the web service.
l_clob :=
APEX_WEB_SERVICE.make_rest_request(
p_url => 'https://example.com/rest/webservice',
p_http_method => 'POST',
p_parm_name => l_param_names,
p_parm_value => l_param_names,
p_wallet_path => '/path/to/wallet/dir',
p_wallet_pwd => 'walletpassword');

-- Display the whole document returned.
DBMS_OUTPUT.put_line(l_clob);

END;

错误信息:
ORA-29273: HTTP-Anforderung nicht erfolgreich
ORA-29248: Ein nicht erkannter WRL wurde zum Öffnen eines Wallets verwendet
ORA-06512: in "SYS.UTL_HTTP", Zeile 368
ORA-06512: in "SYS.UTL_HTTP", Zeile 1118
ORA-06512: in "APEX_050100.WWV_FLOW_WEB_SERVICES", Zeile 666
ORA-06512: in "APEX_050100.WWV_FLOW_WEB_SERVICES", Zeile 880
ORA-06512: in "APEX_050100.WWV_FLOW_WEBSERVICES_API", Zeile 236
ORA-06512: in Zeile 20

ORA-29248 的英文意思是:
ORA-29248: an unrecognized WRL was used to open a wallet

最佳答案

我找到了非常简单的解决方案。钱包路径必须以 file: 为前缀像这样:

-- Get the XML response from the web service.
l_clob :=
APEX_WEB_SERVICE.make_rest_request(
p_url => 'https://example.com/rest/webservice',
p_http_method => 'POST',
p_parm_name => l_param_names,
p_parm_value => l_param_names,
p_wallet_path => 'file:/path/to/wallet/dir',
p_wallet_pwd => 'walletpassword');

关于oracle - APEX_WEB_SERVICE.MAKE_REST_REQUEST 结果为 ORA-29248 : an unrecognized WRL was used to open a wallet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45618917/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com