4 Replies Latest reply on Oct 9, 2014 4:40 PM by Josh6847

    Oracle BI 11g HTMLViewService not rendering report (bringing back login page in iframe)

    Josh6847

      I'm using the HTMLViewService in OBI's web service SOAP API to integrate OBI reports with a custom Java app. I had an issue getting the servlet bridge set up so that I could proxy the JS calls between the custom app and the BI server, since the custom app and BI server are on different domains. I believe I got the bridge setup properly (for the most part) and am now having the next set of issues - if you're interested in the bridge code, let me know.

       

      Issue: When the JS code is executed to retrieve the report (effectively getting the iframe, I think), it is bringing up the login page inside the frame instead of the report. I've tried many things including keeping the session alive (via keepAlive method), getHtmlForReport vs. getHtmlForPageWithOneReport, all different kinds of tweaks with the saw session object, etc.

       

      Any thoughts as to why I'm getting the login page? Maybe my bridge isn't setup properly? I can share code if anyone is interested and wants to dig further. Thank you.

       

      Here was my initial post that no one responded to, when I was having issues with the bridge:

      HtmlViewService in OBIEE 11g Web Service API is not rendering report (only getting the spinning loader/clock)

        • 1. Re: Oracle BI 11g HTMLViewService not rendering report (bringing back login page in iframe)
          Nathan P.

          How are you authenticating? NQUSER and NQPASSWORD in the url?

          • 2. Re: Oracle BI 11g HTMLViewService not rendering report (bringing back login page in iframe)
            Josh6847

            I'm not using the Go URL, I'm actually using the SOAP API and using Java to hit the web service. The authentication works fine with XMLViewService, but the HTMLViewService is what I'm having trouble with. Here is a code snippet of when I am authenticating:

             

            // create locators
            sawSessionLocator = new SAWSessionServiceLocator();
            sawSessionParams = new SAWSessionParameters();
            xmlServiceLocator = new XmlViewServiceLocator();
            htmlServiceLocator = new HtmlViewService_ServiceLocator();
            catalogServiceLocator = new WebCatalogServiceLocator();
            // get wsdl services
            sawSession = sawSessionLocator.getSAWSessionServiceSoap(new URL(serviceUrl + "nQSessionService"));
            xmlService = xmlServiceLocator.getXmlViewServiceSoap(new URL(serviceUrl + "xmlViewService"));
            htmlService = htmlServiceLocator.getHtmlViewService(new URL(serviceUrl + "htmlViewService"));
            catalogService = catalogServiceLocator.getWebCatalogServiceSoap(new URL(serviceUrl + "webCatalogService"));
            // session parameters
            sawSessionParams.setUserAgent(userAgent);
            sawSessionParams.setAsyncLogon(false);
            //sawSession.keepAlive(new String[]{sawSessionId});
            // login and create session
            sawSessionId = sawSession.logonex(username, password, sawSessionParams).getSessionID();
            System.out.println("session start:" + sawSessionId);
            // set bridge handler
            htmlService.setBridge(bridgeUrl, sawSessionId);
            • 3. Re: Oracle BI 11g HTMLViewService not rendering report (bringing back login page in iframe)
              Generalab13

              We have the issue of getting the login page in iframe when we refresh a dashboard after the session expires. If you find a fix to get the login page NOT in iframe, I'm interested. Thank you

              • 4. Re: Oracle BI 11g HTMLViewService not rendering report (bringing back login page in iframe)
                Josh6847

                Will do. Does the report ever load? In my case, the report never loads.

                 

                As for the iframe, it looks like this URL is what is generated to use in the ifram:

                http://<obi-server>/analytics/saw.dll?ajaxGo&ContainerId=m%3Aportlet~r%3Aobireport&SearchID=ok16t9cquba8n67jjugj30kkva&NQID=fi38kvo02l45ofu2jglsfcvbauoij0ldfgkkt8i&NoCookie=1&_scid=z9IMQSKt0mXuxz2cIXqS&icharset=utf-8&urlGenerator=qualified

                 

                If I throw that in the browser I get redirected to a login page. If I try to enter my credentials into the login page, it doesn't accept the credentials. That is the issue I'm assuming - because I can log in via the browser to the OBIEE Home (back-end) just fine. Any thoughts on that?

                 

                Also, are you using a Java bridge servlet? If so, would you mind sending me that code? I'm sure other folks could benefit from it as well. I'm concerned my bridge isn't written quite right...