Standard functionality in Oracle Web Applications Desktop Integrator does not allow uploading columns marked as read-only; this is highlighted in Bug 6607618.
The following customisation can be used as a workaround, however as it requires direct modification of underlying tables it is not supported nor recommended by Oracle (and don't blame me if it goes wrong!).
In the application do NOT set the columns as read-only, instead, after defining the Integrator and Content identify the CONTENT_CODE using the following:
SELECT bint.user_name
, bint.integrator_code
, bcon.content_code
FROM bne_integrators_tl bint
, bne_contents_b bcon
WHERE bint.integrator_code = bcon.integrator_code
AND bint.user_name = &IntegratorName;
Then, update the READ_ONLY_FLAG to ‘Y’ on the table BNE_CONTENT_COLS_B for the columns you want to be read-only (based on the CONTENT_CODE identified in the above script).
Finally, clear the BNE cache (refer to Metalink Note 1075840.1).