问题描述
我正在尝试编写一个连接到供应商服务器并传输一些学生数据的PL / sql过程。
我一直在使用UTL_HTTP,但没有成功。
下面是我的UTL_HTTP cpde。我剪切了大部分数据以便于阅读。
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的文档,由于某些示例非常简单,因此我不确定会错过什么。
以前有没有人从事过类似的工作?
任何见识都会受到赞赏。
谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)