Forum Stats

  • 3,780,520 Users
  • 2,254,406 Discussions
  • 7,879,373 Comments

Discussions

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?

This discussion has been closed.