2016-04-02 17 views
0

オラクル12cを12.1.0.2、オンラインチュートリアル後のSQL Developer 4.1.3.20オラクルORDSはPOST PL/SQLプロシージャを3.0.4 400不正な要求

がインストールさORDS(なしAPEX)を持って、自動有効化機能は、以下を含む正常に動作します有効な(emp)テーブルにPOSTして、環境が正常に見えるようにします。しかし、POSTでPL/SQLサービスを定義しようとするとどこにも見えないようです。ここでは、サービス定義があります:郵便配達中

-- ORDS has been started in Standalone mode in SQL developer here 

CREATE OR REPLACE PROCEDURE test_proc IS 
BEGIN 
    INSERT INTO emp (empno, ename) VALUES (10, 'TEST'); 
END test_proc; 
/

BEGIN 
    ORDS.DEFINE_SERVICE(
     p_module_name => 'test' , 
     p_base_path => 'test/', 
     p_pattern  => 'simple_insert/', 
     p_method  => 'POST', 
     p_source_type => ords.source_type_plsql, 
     p_source => 'BEGIN 
    hr.test_proc; 
END;'); 
COMMIT; 
END; 
/

-- At this point the service is defined and running, testing with Postman yields "400 Bad Request" 

GRANT EXECUTE ON hr.test_proc TO APEX_PUBLIC_USER; -- Despite being decoupled from APEX this  username still remains in ORDS 3.0.4, appears in .\ords\conf\apex.xml 

-- Same error as before, having the priv makes no difference 

エラーメッセージ:

400 Bad Request 
mapped request using: /hr/* to: ORDS:apex_pu.HR 
BadRequestException [statusCode=400, reasons=[Expected one of: <<{,[>> but got: <>]] 

答えて

3

私はこれとは専門家だが、私はちょうどこの問題に遭遇しました。私のための解決策は、あなたのルーチンがそれを使用していなくても、リクエスト本体に何かを渡すことでした。あなたがGETメソッドを使用してみました場合は、あなたが何かを渡す必要はありません

{} 

が、POSTは、それを必要とする:

はこれでも働いていました。 (私はあなたと同じように POSTを使う必要があると思います)。

幸運

関連する問題