Plsql 使用UTL\U HTTP连接到供应商服务器时出现问题
我正在尝试编写一个PL/SQL过程,该过程连接到供应商服务器并传输一些学生数据 我一直在使用UTL_HTTP,但没有成功 下面是我的UTL_HTTP cpde。为了便于阅读,我剪切了大部分数据Plsql 使用UTL\U HTTP连接到供应商服务器时出现问题,plsql,plsql-package,Plsql,Plsql Package,我正在尝试编写一个PL/SQL过程,该过程连接到供应商服务器并传输一些学生数据 我一直在使用UTL_HTTP,但没有成功 下面是我的UTL_HTTP cpde。为了便于阅读,我剪切了大部分数据 var_data_body :='input_data=[{"School ID*":"B10011122","Class Code*":"MATH101","Location*":"CL
var_data_body :='input_data=[{"School ID*":"B10011122","Class Code*":"MATH101","Location*":"CLB223"},
{"School ID*":"B20022233","Class Code*":"BIOL101","Location*":"CLB123"}]';
var_body_combine:= 'input_type=JSON '||var_data_body ||
||' drop_not_passed_enrollments=false '
||' dry_run=true ';
var_body_length:= LENGTH(var_body_combine);
const_http_request := UTL_HTTP.BEGIN_REQUEST (temp_new_url, const_POST_method);
utl_http.set_header(const_http_request, 'Content-Type', 'application/x-www-form-urlencoded');
utl_http.set_header(const_http_request, 'Content-Length',var_body_length);
UTL_HTTP.set_header(const_http_request, 'Authorization','Bearer '|| var_token); --this is vendor authorization token that I got from earlier handshake process.
UTL_HTTP.set_header(const_http_request, 'X-TW-PersonId',const_userid); --this is my user_id
UTL_HTTP.write_text(const_http_request, var_body_combine);
DBMS_OUTPUT.put_line ('My full var_body is: '||var_body_combine);
const_http_response := UTL_HTTP.GET_RESPONSE (const_http_request);
供应商服务器向我发出一般错误消息,表示他们无法处理我的请求。
我请一位供应商代表上传数据主体部分,他们说他们可以很好地上传我的数据。
我在想我在语法上做错了什么
我一直在尝试将主体分割成不同的行(或添加/删除数据urlencode),如下所示。但还是给了我错误。
我做的一些步骤甚至给我错误的请求消息
UTL_HTTP.write_text(const_http_request, '--data-urlencode input_type=JSON');
UTL_HTTP.write_text(const_http_request, '--data-urlencode '|| var_data_body );
UTL_HTTP.write_text(const_http_request, '--data-urlencode drop_not_passed_enrollments=false');
UTL_HTTP.write_text(const_http_request, '--data-urlencode dry_run=true');
我阅读了一些关于UTL_HTTP的文档,不确定错过了什么,因为有些示例非常简单
以前是否有人使用过类似的过程
任何见解都值得赞赏
谢谢。它可能与您正在传递的内容类型有关。请看一看,它可能与您正在传递的内容类型有关。请看一看