Forum Stats

  • 3,722,789 Users
  • 2,244,414 Discussions
  • 7,850,092 Comments

Discussions

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

How to Pass authid while calling Oracle report from Forms 12 2.1.4.0

CrazyAshish
CrazyAshish Member Posts: 3 Red Ribbon

Hi,

I have configured Forms and reports 12 2140 without ssl it was using below ports

Forms 9001

Reports 9002

After enabling SSL its listening to below ports

Forms 8011

Reports 7002

All other ports are blocked. Now while configuring Reports I had removed the security from it bu doing below;

L2 changes

=============

Edit the file rwservlet.properties located on

<DomainHome>\config\fmwconfig\servers\WLS_REPORTS\applications\reports_11.1.2.1.0\configuration

Add the following parameter below the <inprocess> parameter:

<webcommandaccess>L2</webcommandaccess>

Re-start the WLS_REPORTS Server.


Authentication changes

=======================

First take a back/rename up of your rwserver.conf original file.

Some changes required in rwserver.conf

remove security tag from

<job jobType="report" engineId="rwEng" securityId="rwJaznSec"/>

to

<job jobType="report" engineId="rwEng"/>

And

Comment the line below

from <security id="rwJaznSec" class="oracle.reports.server.RWJAZNSecurity"/> to <!--security id="rwJaznSec" class="oracle.reports.server.RWJAZNSecurity"/-->


So Reports run on insecure mode, but due company policy we have to make it secure, so I have reverted above changes except L2 changes. And additionally have made below change as documented by Oracle.

REP-56071 When Attempt to Access In-Process or Standalone Reports Server in Reports 12c ( Doc ID 2072876.1 )

REP-50171 When Attempt to Access Standalone Reports Server in Reports 12c ( Doc ID 2071879.1 )

So after makinf changes in system-jazn and RW-ADMINISTRATOR when I try to call report it gives below error;

The report terminated with error:

REP-56071: A security check failed with error message User does not exist in Id Store.


Below procedure to call report.

PROCEDURE PRC_CALL_REPORT (P_REPORT    IN VARCHAR2,

              P_SERVER    IN VARCHAR2,

              P_REPORT_NAME  IN VARCHAR2,

              pl_id       paramlist)

IS

  repid    REPORT_OBJECT;

  v_rep    VARCHAR2 (256);

  rep_status  VARCHAR2 (256);

cursor c1 is

   SELECT app_srvr_name,port_no,secured_mode

    FROM G_SYSTEM_PARAM

    WHERE OBJECT_ID = 'RPT_SRVR'; 

l_rpt_cnt number := 0;  

l_srvr_name g_system_param.app_srvr_name%type;

rpt_exp exception;

l_port_no g_system_param.port_no%type;

l_secured_mode g_system_param.secured_mode%type;    

BEGIN

for i in c1

loop

l_srvr_name := i.app_srvr_name;

l_secured_mode := i.secured_mode;

l_port_no := i.port_no;

l_rpt_cnt := nvl(l_rpt_cnt,0) + 1;

end loop;

if nvl(l_rpt_cnt,0) <= 0

then

raise rpt_exp;

end if;

  repid := FIND_REPORT_OBJECT (P_REPORT);


  -- Set Report Object properties

  -------------------------------

  SET_REPORT_OBJECT_PROPERTY (repid, REPORT_DESTYPE, CACHE);

  SET_REPORT_OBJECT_PROPERTY (repid, REPORT_DESFORMAT, 'PDF');

  -- Comm mode 1 = SYNCHRONOUS

  -- Comm mode 2 = ASYNCHRONOUS

  SET_REPORT_OBJECT_PROPERTY (repid, REPORT_COMM_MODE, 1);

  SET_REPORT_OBJECT_PROPERTY (repid, REPORT_SERVER, P_SERVER);

  SET_REPORT_OBJECT_PROPERTY (repid, REPORT_FILENAME, P_REPORT_NAME);

  SET_REPORT_OBJECT_PROPERTY (repid, REPORT_OTHER, 'pfaction=');

  SYNCHRONIZE;


  -- Run report and get status

  -------------------------------

  v_rep := RUN_REPORT_OBJECT (repid, pl_id);

  rep_status := REPORT_OBJECT_STATUS (v_rep);

  SYNCHRONIZE;


  -------------------------------


  -- Wait for Reports to generate results

  ----------------------------------------

  WHILE rep_status IN ('RUNNING', 'OPENING_REPORT', 'ENQUEUED')

  LOOP

   rep_status := REPORT_OBJECT_STATUS (v_rep);

  END LOOP;


  SYNCHRONIZE;


  -- If DESTYPE is appropriate for displaying to user, execute WEB.SHOW ;

  IF rep_status = 'FINISHED'

  THEN

 /*message(l_secured_mode||'://'||l_srvr_name||':'||l_port_no||'/reports/rwservlet/getjobid'

     || SUBSTR (v_rep, INSTR (v_rep, '_', -1) + 1)

     || '?'

     || 'server='

     || P_SERVER||

     '_blank');pause;*/

   WEB.SHOW_DOCUMENT ( l_secured_mode||'://'||l_srvr_name||':'||l_port_no||'/reports/rwservlet/getjobid'

     || SUBSTR (v_rep, INSTR (v_rep, '_', -1) + 1)

     || '?'

     || 'server='

     || P_SERVER||'authid=weblogic/******',

     '_blank');

  ELSE

   GC_PROC_MESSAGE (rep_status);

  END IF;

EXCEPTION

   when rpt_exp

   then

   gc_proc_message('GS0000','Report server not found.');

  WHEN OTHERS

  THEN

   GC_PROC_MESSAGE ('GS0000', SQLCODE || ' ' || SQLERRM);

END;

 

Answers

Sign In or Register to comment.