Wednesday, December 14, 2011

OBIEE 11g: "OBIEE content cannot be displayed in an IFrame"

OK, so I started this blog because of the issue of not being able to render an OBIEE page within a Hyperion Web Analysis HTML window.  I needed to do this for some additional functionality required prior to converting the entire Web Analysis dashboard over to OBIEE (still looking at Essbase connectivity with OBIEE to see if it is a viable solution).  I found half the solution on someone's blog, but half the solution doesn't help.  Below are both sides of the solution.  


1)  Locate the instanceconfig.xml file at the location:
[OBIEE_HOME]\instances\instance1\config\OracleBIPresentationServicesComponent\coreapplication_obips1\


Update the instanceconfig.xml file to add the highlighted entry within the "security" tag (possible values are 'allow', 'prohibit' and 'sameDomainOnly'):

<Security>
<InIFrameRenderingMode>allow</InIFrameRenderingMode>
<!--This Configuration setting is managed by Oracle Business Intelligence Enterprise Manager-->
<ClientSessionExpireMinutes>210</ClientSessionExpireMinutes>
</Security>

Now, this will only get you half way.  You'll still run into the error, which really doesn't help you any. The 2nd piece is as follows:

2)  Edit the 'web.xml' file at the following location:
[OBIEE_HOME]\oracleBI1\bifoundation\web\app\WEB-INF\

Add the following highlighted entry to the file.  The syntax is the opposite of what the syntax for instanceconfig.xml is, since the 'never' means to never block the rendering within IFrame (you can choose 'never' to always allow rendering in the IFrame, or 'differentDomain' to only allow rendering if it is in the same domain).  

 <servlet-mapping>
      <servlet-name>SAWBridge</servlet-name>
      <url-pattern>/saw.dll/*</url-pattern>
   </servlet-mapping>
   
   <servlet-mapping>
      <servlet-name>RelatedContent</servlet-name>
      <url-pattern>/RelatedContent</url-pattern>
   </servlet-mapping>

   <context-param>
   <param-name>oracle.adf.view.rich.security.FRAME_BUSTING</param-name>
   <param-value>never</param-value>
   </context-param>

   <login-config>
    <auth-method>CLIENT-CERT</auth-method>
   </login-config>

3) Now that you've completed both steps, restart the OBIEE System Components using opmnctl (Stop opmnctl and Start opmnctl).  If you need to find this, you'll find it in your start menu on the server under the 'Oracle Business Intelligence' folder, called 'Stop BI Services' and 'Start BI Services' respectively.  












4) Before testing, be sure to clear your browser cache.

22 comments:

  1. Hello DMurph,

    Follow the steps and is still the message "OBIEE content cannot be displayed in an IFrame".

    Any suggestions.
    Thanks

    ReplyDelete
    Replies
    1. Other than restarting services and making sure your entries are within the appropriate tags, I don't know why it might not be working. Is weblogic on the same server as your OBIEE install?

      Delete
  2. We are struggling to display the BI Publisher content in IFrame.
    If we provide the path via ../analytics/saw.dll, it works.
    If we provide the path via ../xmlpserver, the content doesn't show in the IFrame. Instead, it shows the content in the new page.
    I am not sure if we need do a specific configuration in the BI Publisher level addition to the BI Presentation Service component.
    Can you help and direct us how to configure and enable to the BP Publisher content via xmlpserver?
    The below points to the same content and going through the ../analytics/saw.dll works, but it doesn't work for the ../xmlpserver path.

    xmlpserver path = https://localhost:9804/xmlpserver/JALFHCCFinancialReports/FinancialReconciliationReports.xdo
    analytics path = https://localhost:9804/analytics/saw.dll?bipublisherEntry&Action=open&itemType=.xdo&bipPath=%2FJALFHCCFinancialReports%2FFinancialReconciliationReports.xdo&path=%2Fshared%2FJALFHCCFinancialReports%2FFinancialReconciliationReports.xdo

    ReplyDelete
    Replies
    1. I haven't attempted to do this with BI Publisher. I'm assuming you're saying that it will work if you imbed BI Publisher content within an OBIEE dashboard page, but not when directly connecting to BI publisher without going through OBIEE. I've done some looking, but haven't found a solution for this yet. Let me know if you find one. I think the changes to the web.xml file only apply to OBIEE, so there may be a different location required for doing this setting for BI Publisher. If I find a solution, I'll publish it.

      Delete
    2. Hi DMurph,
      have you found a solution for BI Publisher report displayed in iframe or frame?Static reports (html, pdf...) can easily be embeded inside frame or iframe, but not Interactive viewer and our goal is to put it inside some application(ADF app in our case).

      Delete
    3. Hi DMurph,

      Is there any solution for this?

      Thanks,

      Anuj

      Delete
    4. Patrik and Anuj,

      Sorry, but I have not run into a situation where we need to present BI Publisher content in an iFrame, so I haven't explored this problem. I have a new role, so I haven't been very hands-on lately.

      Delete
  3. I have made all necessary changes in web and instance files.I am able to get the IFrame functionality from my remote desktop area(Where OBIEE 11G installed).

    Any user try to access the URL (Out of RDC) its showing below error.
    Getting error message :OBIEE content cannot be displayed in the IFrame –

    if you logging in for 1st time and there is no open BI session we are getting the error.

    Please help me anyone

    ReplyDelete
    Replies
    1. Are you looking at OBIEE or BI publisher content? If BI Publisher, other users have seen the same issue. If not, have you stopped and started services? Is your WebLogic on the same server as OBIEE?

      Delete
  4. its in obiee.Few user can directly access the report and other getting oBIEE content cannot be displayed in an IFrame.
    All servers in same machine.Yeah i have restarted the services even machine also.Problem here was all WINDOWS XP by IE8 users accessing IFRAME OBIEE reports but whoever belongs windows 2003+IE8 and windows7 +IE8 users getting this problem.

    Please help me ASAP

    Thanks in advance

    ReplyDelete
    Replies
    1. In our environment, we're using Windows 7 and IE8 on our laptops, so I don't think this it is related to the users OS or browser. What version of OBIEE are you on, and what OS is your server for WebLogic/OBIEE?

      Delete
  5. Same problem as Krishna, it doesn't work in IE unless you previously logged into OBIEE and have and open session. Works fine with Chrome. Doesn't work with FF because we get the error: Your browser is not supported by Oracle BI Presentation Services.

    ReplyDelete
    Replies
    1. Geoff, I didn't have this issue, since I passed the user/password credentials in my OBIEE link which is imbedded in the IFrame. The user is unaware that they are being logged in. You can create a native ID/password to do this, or if you are able to use single sign-on or pick up user IDs and passwords with variables, you might be able to do that as well. I believe your issue is different from Krishna's, since she is still getting the 'OBIEE content cannot be displayed in an IFrame.

      Delete
  6. Hey Krishna,

    Were you able to resolve this issue ? If yes, can you please share the fix applied for the same ?

    ReplyDelete
  7. Using the instructions above, I got it working. Initially we were still getting the same error message, but once we cleared the cache from the browser, it worked.

    Thank you!

    ReplyDelete
  8. I'm glad that you shared this helpful info with us.Thanks.
    Keep it up.

    ReplyDelete
  9. dont works =/ open but show some problem

    ReplyDelete
  10. Hi,

    Please can you help me to configure BIP report content using iFrame in Siebel.

    Regards
    Subin

    ReplyDelete
    Replies
    1. Hi Subin,

      Is there a resolution to this issue? I am having the same problem.

      Thanks,

      Anuj

      Delete
  11. after the above configuration without.
      you should delete the browser cache

    ReplyDelete
  12. Hi

    I tried to follow your step to modify instanceconfig.xml and web.xml
    But server will return 500 Error after modifying and restarting.

    If I just modify web.xml , than server will restart as normal
    but If I modify instanceconfig.xml, I would get 500 Error again.

    Have you ever had the same situation?

    Thank you

    ReplyDelete