0

I'm new in oracle-apex and with ORDS. My problame is: when I was tried to bulid a RESTful web service on oracle apex, from a procedure, and used:

    l_response := apex_web_service.make_rest_request(
        p_url =>l_rest_url,
        p_http_method => 'POST',
        p_body => l_request_body
    );

from make a request.

On ORDS Handler Definition, I defined:

declare
 l_response_body clob;
begin
l_response_body := '{"conf_code":"'||sys_guid()|| '","status":"APPROVED"}';

INSERT INTO JSON_TIMECARD_APPROVAL (id, json_data)
VALUES (sys_guid(),l_response_body);

:xxResponse :=l_response_body;

When xxResponse was defined an a OUT prameter and scource type: RESPONSE.

I'm intrested to get the response in JSON format.

When i tried to call my web service(my web api https://apex.oracle.com/pls/apex/eliranhaa/timecards/approval/)the. Parameter IN:

p_body = 
{"timecard": [
  {
    "timecard_id":214804582301489177025033231688226094978
    ,"employee_id":214804582301403343291840593016821956482
    ,"week_of":"2020-18-03T00:00:00Z"
  }
  ]
}

The Outcome: 
{"DATA":"{\"conf_code\":\"A3695DE33828CA50E0530C4072644591\",\"status\":\"APPROVED\"}"}

I don't know why the outcome return as string instead of Json format (Respone return as CLOB TYPE).

I Have a reference from web api https://apex.oracle.com/pls/apex/timecards/timecard/approval/ By the way this outcome is what i whant for my web service.

Tnx Eliran

1 Answer 1

2

The first thing that stands out is that you're calling sys_guid twice. Don't you want to return the same value that you inserted?

I don't know why the outcome return as string instead of Json format

What you're seeing is your JSON data being escaped improperly because you're trying to put a single JSON value as your output. Try breaking it up instead.

For example, I created a handler that looks like this:

enter image description here

And here's the response, which is what I think you're looking for (see line 12): enter image description here

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.