Skip to Main Content

APEX

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Oracle Apex errors when creating a link, with page item being set to a url to another page. the session and checksum missed

RaxJun 20 2023 — edited Jun 20 2023

Context:

A order page has links to a customer page. The customer page is called from many pages. A “go back” button on the customer page is populated by a page item called p6_ypc_goback_url. This is set by the calling page. Users can open multiple Customer pages in tabs from different parent pages, hence a unique “go back” button in each instance.

Problem

A checksum error is shown when clicking the go back link. This is because the URL does NOT contain a sesssion and checksum. see error below:

The checksum computed on the request, clear cache, argument names, and argument values (,,P6_YPC_GOBACK_URL,some_url?id=6&session=755214115047 [4PSLK1x23vTlmcUG7VQ-Kc2IbXt7U6WSVq3IbJMXWDAVWs1QxJN92QLK8AbnY9J43_JZOTGpFl1xWnPyDfF-rg]) did not match the checksum passed into the show procedure (RB9LO6SUS8PNca0BZQwWJiMt4gaK9o2nnB_70ARkYZtE0NNyR1YT0nDhyIDmjsSkdQhaE-H3CcYux3I2VvfwPw:). Note: End users get a different error message.

The url generated is

https://my_app.oraclecloudapps.com/ords/r/main/hypercodeout-db/home?p6_ypc_goback_url=some_url%3Fid%3D6%26session%3D755214115047&session=755214115047&cs=3RB9LO6SUS8PNca0BZQwWJiMt4gaK9o2nnB_70ARkYZtE0NNyR1YT0nDhyIDmjsSkdQhaE-H3CcYux3I2VvfwPw%3A

It appears if the page_item value contains a full page url, then internally some logic occurs that causes the checksum and session parameters to be ommitted, why is this?

Also to reproduce, the GET_URL function causes the same problem, try this PLSQL

SELECT
APEX_PAGE.GET_URL(P_PAGE => 1, P_ITEMS => 'P6_YPC_GOBACK_URL', P_VALUES => 'some_url?id=6&session=755214115047&cs=3RB9LO6SUS8PNca0BZQwWJiMt4gaK9o2nnB_70ARkYZtE0NNyR1YT0nDhyIDmjsSkdQhaE-H3CcYux3I2VvfwPw') LINK_URL
FROM dual

Note the LINK_URL does not contain a session or checksum, wheras this will work fine because the P_VALUES does NOT contain the named session and cs parameters, instead they are called session_xxx and cs_xxx

SELECT
APEX_PAGE.GET_URL(P_PAGE => 1, P_ITEMS => 'P6_YPC_GOBACK_URL', P_VALUES => 'some_url?id=6&session_xxx=755214115047&cs_xx=3RB9LO6SUS8PNca0BZQwWJiMt4gaK9o2nnB_70ARkYZtE0NNyR1YT0nDhyIDmjsSkdQhaE-H3CcYux3I2VvfwPw') LINK_URL
FROM dual

Comments
Post Details
Added on Jun 20 2023
3 comments
866 views