'Call oracle procedure with custom oracle type

I have a procedure with a user-defined collection type as parameter:

CREATE TYPE int8_list IS TABLE OF NUMBER(8,0);

And the procedure :

CREATE PACKAGE pkg_name AS
  PROCEDURE proc_name (
    i_ids    IN  int8_list,
    o_cursor OUT SYS_REFCURSOR
  );
END;
/

I am calling this procedure via Spring simple jdbc call

 SimpleJdbcCall procedureCall = new SimpleJdbcCall(jdbcTemplate)
           .withCatalogName("ODEV.t_package")
           .withProcedureName("proc_name");

   procedureCall.useInParameterNames("i_ids")
           .withoutProcedureColumnMetaDataAccess()
           .declareParameters(new SqlParameter("i_ids", OracleTypes.STRUCT),
                   new SqlOutParameter("o_cursor", OracleTypes.CURSOR)
                   );
   SqlParameterSource procedureParameterSource = new MapSqlParameterSource()
           .addValue("i_ids", "112868, 140840");
   Map<String, Object> resultMap = procedureCall.execute(procedureParameterSource);

I am getting an error:

Fail to convert to internal representation


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source