1

我正在尝试通过 Oracle ORDS 公开 oracle 打包过程,但出现 404 错误。

我的包裹

create or replace PACKAGE MY_PACKAGE AS  -- define the package spec
 TYPE userChanges IS RECORD
(
    id number(32,0),
    partner_id varchar2(256 byte),
    application_user varchar2(256 byte),
    application_name varchar2(256 byte),
    transaction_start timestamp(6) with local time zone, 
    transaction_end timestamp(6) with local time zone , 
    service_id varchar2(256 byte), 
    exec_time number(32,0), 
    error_code varchar2(256 byte),
    operation varchar2(256 byte), 
    type varchar2(512 byte), 
    name varchar2(256 byte),
    value varchar2(4000 byte)
);

TYPE userTable IS TABLE OF userChanges
INDEX BY BINARY_INTEGER;

PROCEDURE GetUserSnapShot(P_START_TIME in timestamp, 
                        P_END_TIME  in timestamp, 
                        P_MAX_ROWS  in int,
                        myTable in out userTable);
END MY_PACKAGE;

包体

create or replace PACKAGE BODY MY_PACKAGE AS  -- define the package body
 PROCEDURE getusersnapshot(P_START_TIME in timestamp, 
                        P_END_TIME  in timestamp, 
                        P_MAX_ROWS  in int,
                        myTable in out userTable)
 AS
   rec  userChanges; 
BEGIN
rec.id := 1;
rec.partner_id    := 'test';
rec.application_user   := 'ABCDEF';
rec.application_name := 'ddd';
rec.transaction_start   := SYSDATE;
rec.transaction_end   := SYSDATE;
rec.service_id   := 'ddd';
rec.exec_time   := 2;
rec.error_code   := 'dddd';
rec.operation   := 'ddd';
rec.type   := 'ddd';
rec.name   := 'ddd';
rec.value   := 'ddd';
myTable(1) := rec;
END;
END MY_PACKAGE;

该软件包通过执行以下 sql 的 SQL 开发人员启用了休息服务。

DECLARE
  PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN

ORDS.ENABLE_OBJECT(p_enabled => TRUE,
                   p_schema => 'TESTUSER',
                   p_object => 'MY_PACKAGE',
                   p_object_type => 'PACKAGE',
                   p_object_alias => 'my_package',
                   p_auto_rest_auth => FALSE);

commit;
END;

这样执行成功。

我的 POST 网址是 http://localhost:8083/ords/testuser/my_package/getusersnapshot,{}我在测试时带有正文。这给出了错误 404。但是当我使用没有参数的过程执行包时,它工作正常。我这里有什么问题?

4

0 回答 0