Skip to main content

Hi, 

I am trying to integrate IFS Cloud with another system to send data. To send the data first I need to get the access token. For this i am using x-www-form-urlencoded in postman and it works as expected and retrieves the access token correctly. 

 

But if try this as a key value pair, am always getting an error. (Same if i try this from IFS as well).

 

Am I missing anything here?

 

Any help would be appreciated.

Thanks!

Try adding IEEE754Compatible=true



 


@PhillBronson i tried adding  IEEE754Compatible=true, but still it doesn't work and am receiving the same error.


@Inisrinip 

I asked chatgtp to ask is there any way to convert the string to a expected x-www-form-urlencoded formet via plsql function and here is the result.

 

To convert a string or key-value pairs into x-www-form-urlencoded format in PL/SQL, you'll need to manually encode the characters, as Oracle doesn't provide a built-in function for full URL encoding.
✅ Basic PL/SQL Function to Encode for x-www-form-urlencoded
Here’s a PL/SQL function that:
Encodes special characters (e.g., to +, & to %26, etc.)
Can be used to construct a form-urlencoded string.

plsqlCopyEditCREATE OR REPLACE FUNCTION url_encode(p_str IN VARCHAR2) RETURN VARCHAR2 IS
    v_encoded VARCHAR2(32767) := '';
    v_char    CHAR(1);
    v_code    NUMBER;
BEGIN
    FOR i IN 1 .. LENGTH(p_str) LOOP
        v_char := SUBSTR(p_str, i, 1);
        v_code := ASCII(v_char);
        
        -- Replace space with +
        IF v_char = ' ' THEN
            v_encoded := v_encoded || '+';
        
        -- Alphanumeric and safe characters remain unchanged
        ELSIF REGEXP_LIKE(v_char, 'rA-Za-z0-9\-_.~]') THEN
            v_encoded := v_encoded || v_char;
        
        -- Everything else gets percent-encoded
        ELSE
            v_encoded := v_encoded || '%' || TO_CHAR(v_code, 'FM0X');
        END IF;
    END LOOP;
    
    RETURN v_encoded;
END url_encode;
/

✅ Example: Converting a Key-Value String
plsqlCopyEditDECLARE
    v_name    VARCHAR2(100) := 'John Doe';
    v_email   VARCHAR2(100) := 'john@example.com';
    v_output  VARCHAR2(4000);
BEGIN
    v_output := 'name=' || url_encode(v_name) || '&email=' || url_encode(v_email);
    DBMS_OUTPUT.PUT_LINE(v_output);
    -- Output: name=John+Doe&email=john%40example.com
END;
Notes:
This function handles standard percent-encoding according to application/x-www-form-urlencoded.
It leaves safe characters (letters, digits, -, _, ., ~) unencoded and replaces spaces with +.

May be this is something useful ? 


@Inisrinip  I’m curious, if this is working properly in x-www-form-urlencoded mode, and you are getting an access token, why do you need to do it some other way? In other words, you say you have a working solution, what is missing?


Reply