Categories
- All Categories
- 15 Oracle Analytics Sharing Center
- 15 Oracle Analytics Lounge
- 215 Oracle Analytics News
- 43 Oracle Analytics Videos
- 15.7K Oracle Analytics Forums
- 6.1K Oracle Analytics Idea Labs
- Oracle Analytics User Groups
- 78 Oracle Analytics Trainings
- 15 Oracle Analytics Data Visualizations Challenge
- Find Partners
- For Partners
Web Service example using Action Link in OBIEE 11.1.1.7 does not work

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?