如何解决使用UTL_HTTP
我正在尝试编写一个连接到供应商服务器并传输一些学生数据的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 举报,一经查实,本站将立刻删除。