How can I resolve the error OraFormsLogon(OraForms: 21 - Communication Error., class java.io.EOFException) when replaying an Oracle Forms script?
This information is specific to Silk Performer 7.3.1
This error can be reported as the result of 2 issues, both of which have been addressed with patch SP731_Patch_15_OraForms.
When Oracle Forms 10G was introduced the actual Oracle Forms Client version was 904XXX. This has now been modified in the more recent versions of Oracle Forms 10G to 10.X.X.X. The SilkPerformer recorder does not recognize the version 10.X.X.X and scripts the OraFormsInit function with the nVersion parameter set to ORA_FORMS_9I.
OraFormsInit("", "", , ORA_FORMS_9I);
A possible workaround apart from applying the patch is to modify the nVersion parameter of the OraFormsInit function to ORA_FORMS_10G as shown:
OraFormsInit("", "", , ORA_FORMS_10G);
This error can also be reported due to incorrect cookie handling. Cookies are received by the browser and also by the applet while communicating with the Oracle Forms server which are handled in an identical manner by the replay engine. It should not be handled in this way and the patch will correct this behaviour.