Search code examples
oracle-databasesoa

Cannot deploy rest service in EBS when DB upgraded to 19c


We recently upgraded our DB from 12c (12.1.0.2.0) to 19c(19.0.0.0.0) in EBS 12.1.3 environment on test instance. After upgrade I am unable to deploy custom web services using SOA rest services integration repository. I am getting following error on deployment:

Service Provider Access resulted in exception 'oracle.apps.fnd.isg.client.IREPException' when attempting to perform 'DEPLOY'. Please view Service Provider logs for more details

I reviewed log files but nothing informative found. One thing I noticed that I was able to deploy web services with simple out parameters with VARCHAR2 data type. But when there is an out parameter defined based on table type, I am receiving above mentioned error. I defined table type out parameter as follows which returns data in form of json array.

TYPE XRCL_TMS_PICKED_ORDERS1 IS TABLE OF ROCELL.XRCL_TMS_PICKED_ORDERS1%ROWTYPE INDEX BY BINARY_INTEGER;

It would be better to mention that on application with 12c database, web service can be deployed with no issue.


Solution

  • I resolved this problem by finding cause of collection type compatibility in 12c and 19c versions of databases.

    In 12c below declaration of plsql collection type works fine:

    TYPE type_name IS TABLE OF Table_Name%ROWTYPE INDEX BY BINARY_INTEGER;

    but in 19c above declaration of plsql collection type has following error. I found this error after trying to recompile collection type:

    PLS-00355: use of pl/sql table not allowed in this context

    In 19c below declaration worked fine (created type as nested table):

    CREATE TYPE type_name AS OBJECT

    ( column_name datatype );

    CREATE TYPE type_name_nt AS TABLE OF type_name;