Calling Oracle Stored Procedure with an OUT parameter

Calling the POST execute procedure api.

I have an oracle stored procedure with two parameters. One parameter is an IN parameter and the other parameter is an OUT parameters.
CREATE OR REPLACE PROCEDURE up_test_out (p_in IN VARCHAR2,
p_out OUT VARCHAR2)
IS
BEGIN
p_out := p_in;
END up_test_out;
/

I get this error when the value of the OUT parameter exceeds 1 character.
{
“error”: {
“code”: 500,
“context”: null,
“message”: “Failed to call database stored procedure.\nError Code : 6502\nError Message : ORA-06502: PL/SQL: numeric or value error: character string buffer too small\nORA-06512: at “UPENN.UP_TEST_OUT”, line 5\nORA-06512: at line 1\nPosition : 0\nStatement : BEGIN “UPENN”.“UP_TEST_OUT”(:P_IN, :P_OUT); END;\nBindings : [test,]\n”,
“status_code”: 500
}
}

What am I doing wrong? I have tried various different calls and fiddling with the json sent in the request body. I feel like I’m missing something here.

Here is the json request body I am sending in the POST:

{
“params”: [
{
“name”: “p_in”,
“value”: “test”
}
],
“schema”: {
“p_out”: “string”
}
}

When I call it with this request body it works:

{
“params”: [
{
“name”: “p_in”,
“value”: “T”
}
],
“schema”: {
“p_out”: “string”
}
}

Response:
{
“P_OUT”: “T”
}

A similar issues exists if the parameter is IN OUT - in that instance it will work as long as the returning value does not exceed the length of value being sent in to the call.

Fixed by applying DP-209 ORA-06502: PL/SQL: numeric or value error: character string buffer too small by yaroslavmo · Pull Request #9 · dreamfactorysoftware/df-oracledb · GitHub