0 Replies Latest reply on Jun 23, 2016 7:53 PM by 2714510

    Web Service example using Action Link in OBIEE 11.1.1.7 does not work

    2714510

      I'm trying to reproduce an example of BI Publisher Web Services described here Rittman Mead Consulting  » Blog Archive  » Web Services in BI Publisher 11g but instead of using SoapUI I want to use Action Link on BI dashboard.

       

      So I created new dashboard, dragged and dropped Action Link, chose 'Invoke a Web Service', pasted a WSDL of Report Service, chose method 'runReport'. A window appeared with many parameters. I marked almost all of them as 'Optional', except the ones from example:

                                    Attribute Format --> csv

                                    Report Absolute Path --> /Test/WebServiceReport.xdo

                                    Report Output Path --->     /home/WebService.csv

                                    User ID          -->     weblogic

                                    Password      --> ****

       

      Then I saved my Action and executed it. I received the following error:

       

      "Action could not be invoked.

       

      ServiceExecutionFailure:

      Error invoking web service ReportService at endpoint http://localhost:9704/xmlpserver/services/v2/ReportService Client received SOAP Fault from server :

      java.lang.NullPointerException

      "

       

      So I opened the log file (.../bifoundation_domain/servers/bi_server1/logs/bi_server1-diagnostic.log) and saw the following:

       

      "

      [2014-08-26T15:54:10.884+04:00] [bi_server1] [NOTIFICATION] [] [oracle.bi.security] [tid: [ACTIVE].ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 11d1def534ea1be0:-164583ac:1475e50bc2c:-8000-0000000000009f48,0:1:1] [APP: bimiddleware#11.1.1] [J2EE_APP.name: bimiddleware_11.1.1] [J2EE_MODULE.name: analytics/actions] [WEBSERVICE.name: ActionExecutionService] [WEBSERVICE_PORT.name: ActionExecutionServicePort] Connecting to CredentialStore...

      [2014-08-26T15:54:10.894+04:00] [bi_server1] [NOTIFICATION] [OBI-SEC-00023] [oracle.bi.security.authentication] [tid: [ACTIVE].ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 11d1def534ea1be0:-164583ac:1475e50bc2c:-8000-0000000000009f48,0:1:1] [APP: bimiddleware#11.1.1] [J2EE_APP.name: bimiddleware_11.1.1] [J2EE_MODULE.name: analytics/actions] [WEBSERVICE.name: ActionExecutionService] [WEBSERVICE_PORT.name: ActionExecutionServicePort] Authenticated user identity BISystemUser

      [2014-08-26T15:54:10.997+04:00] [bi_server1] [ERROR] [] [org.apache.axis.encoding.ser.BeanPropertyTarget] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 11d1def534ea1be0:-164583ac:1475e50bc2c:-8000-0000000000009f48,0:1:1:2] [APP: bipublisher#11.1.1] Could not convert null to bean field 'byPassCache', type boolean

      [2014-08-26T15:54:11.001+04:00] [bi_server1] [ERROR] [] [oracle.webservices.jaxws] [tid: [ACTIVE].ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 11d1def534ea1be0:-164583ac:1475e50bc2c:-8000-0000000000009f48,0:1:1] [APP: bimiddleware#11.1.1] [J2EE_APP.name: bimiddleware_11.1.1] [J2EE_MODULE.name: analytics/actions] [WEBSERVICE.name: ActionExecutionService] [WEBSERVICE_PORT.name: ActionExecutionServicePort] Error while invoking endpoint "http://ora11gxe:9704/xmlpserver/services/v2/ReportService" from client; Security Subject: anonymous

      [2014-08-26T15:54:11.002+04:00] [bi_server1] [ERROR] [] [oracle.bi.action.invoke.executionservice] [tid: [ACTIVE].ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 11d1def534ea1be0:-164583ac:1475e50bc2c:-8000-0000000000009f48,0:1:1] [APP: bimiddleware#11.1.1] [J2EE_APP.name: bimiddleware_11.1.1] [J2EE_MODULE.name: analytics/actions] [WEBSERVICE.name: ActionExecutionService] [WEBSERVICE_PORT.name: ActionExecutionServicePort] Error invoking web service http://ora11gxe:9704/xmlpserver/services/v2/ReportService?wsdl at endpoint http://ora11gxe:9704/xmlpserver/services/v2/ReportService[[

      oracle.j2ee.ws.client.jaxws.JRFSOAPFaultException: Client received SOAP Fault from server : java.lang.NullPointerException

        at oracle.j2ee.ws.client.jaxws.DispatchImpl.throwJAXWSSoapFaultException(DispatchImpl.java:1053)

        at oracle.j2ee.ws.client.jaxws.DispatchImpl.invoke(DispatchImpl.java:839)

        at oracle.j2ee.ws.client.jaxws.OracleDispatchImpl.synchronousInvocationWithRetry(OracleDispatchImpl.java:235)

        at oracle.j2ee.ws.client.jaxws.OracleDispatchImpl.invoke(OracleDispatchImpl.java:106)

        at oracle.bi.action.invoke.wsdl.WebServiceInvocationHandler.sendSOAPMessage(WebServiceInvocationHandler.java:499)

        at oracle.bi.action.invoke.wsdl.WebServiceInvocationHandler.runScriptletAction(WebServiceInvocationHandler.java:277)

        at oracle.bi.action.invoke.wsdl.WebServiceInvocationHandler.invokeAsScriptlet(WebServiceInvocationHandler.java:236)

        at oracle.bi.action.invoke.wsdl.WebServiceInvocationHandler.invoke(WebServiceInvocationHandler.java:168)

        at oracle.bi.action.invoke.wsdl.WebServiceInvocationHandler.invoke(WebServiceInvocationHandler.java:135)

        at oracle.bi.action.invoke.ws.ActionExecutionService.executeAction(ActionExecutionService.java:160)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

        at java.lang.reflect.Method.invoke(Method.java:597)

        at oracle.j2ee.ws.server.jaxws.ServiceEndpointRuntime.processMessage(ServiceEndpointRuntime.java:370)

        at oracle.j2ee.ws.server.jaxws.ServiceEndpointRuntime.processMessage(ServiceEndpointRuntime.java:202)

        at oracle.j2ee.ws.server.jaxws.JAXWSRuntimeDelegate.processMessage(JAXWSRuntimeDelegate.java:477)

        at oracle.j2ee.ws.server.provider.ProviderProcessor.doEndpointProcessing(ProviderProcessor.java:1187)

        at oracle.j2ee.ws.server.WebServiceProcessor.invokeEndpointImplementation(WebServiceProcessor.java:1123)

        at oracle.j2ee.ws.server.provider.ProviderProcessor.doRequestProcessing(ProviderProcessor.java:581)

        at oracle.j2ee.ws.server.WebServiceProcessor.processRequest(WebServiceProcessor.java:235)

        at oracle.j2ee.ws.server.WebServiceProcessor.doService(WebServiceProcessor.java:195)

        at oracle.j2ee.ws.server.WebServiceServlet.doPost(WebServiceServlet.java:487)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

        at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)

        at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)

        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)

        at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)

        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

        at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)

        at java.security.AccessController.doPrivileged(Native Method)

        at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:324)

        at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:460)

        at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)

        at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)

        at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)

        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

        at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:163)

        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)

        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)

        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)

        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)

        at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)

        at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)

        at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)

        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)

        at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

       

       

      ]]

      "

       

      I guess the reason for error is hidden behind this mysterious phrase:

       

      "[2014-08-26T15:54:11.001+04:00] [bi_server1] [ERROR] [] [oracle.webservices.jaxws] [tid: [ACTIVE].ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 11d1def534ea1be0:-164583ac:1475e50bc2c:-8000-0000000000009f48,0:1:1] [APP: bimiddleware#11.1.1] [J2EE_APP.name: bimiddleware_11.1.1] [J2EE_MODULE.name: analytics/actions] [WEBSERVICE.name: ActionExecutionService] [WEBSERVICE_PORT.name: ActionExecutionServicePort] Error while invoking endpoint "http://ora11gxe:9704/xmlpserver/services/v2/ReportService" from client; Security Subject: anonymous"

       

      Everything is created and executed under weblogic account so I can't understand what security issues may arise here.

       

      An interesting part is that when I run 'runReport' method using parameters mentioned above from the SoapUI everything works fine, the report does get generated in the specified folder.

       

      Thank you for help in advance. It's very frustrating that you can't do such a standard and simple thing.

       

      Also I have a question: where can I look the XML for SOAP server generated by the WebService of Action Link?