1 Reply Latest reply on Jan 26, 2017 5:49 PM by Gordon Smith-Oracle

    Is there a bind variable for the URI-template of the service being called?

    Erik Raetz

      Currently when logging transactions with ORDS we access the data of the service being called via OWA_UTIL.GET_CGI_ENV.

      This turned out to be an issue when analyzing service requests later on since a service URI could have a bind variable inside the URI. It would be very helpful if we had access to the pattern.

       

      GET shop/order/:orderid

       

      ORDS does already provide useful bind variables like: :current_user and :content_type.

       

      Is there any bind variable that identifies the URI pattern of the template being used?

      Is there any bind varabile that identifies the service being called?

       

      We use ORDS handlers of source_type plsql/block only.

      Currently our solution would be to pass the module name and pattern to the function/procedure inside the ORDS handler manually.

       

      Like so:

       

      ords.define_handler(

      p_module_name => 'shop', p_pattern => 'order/:orderid', p_method => 'GET',

      p_source_type => 'plsql/block',

      p_source => 'DECLARE

      BEGIN

        shop.order.getorder(poauthclient => :current_user, porderid=> :orderid, puripattern => ''GET shop/order/:orderid'');

      END;',

      p_items_per_page => NULL

      );

       

      It would be big help if the declare block had access to the module name, the pattern and the method via bind variable or at least deliver any ID that would give use access to the pattern.

       

      Thanks.