cancel
Showing results for 
Search instead for 
Did you mean: 

Error while refreshing report through parameter

Former Member
0 Kudos

Hi ,

I am getting below error while refreshing report through parameter, using BO 4.1 SP5

1. Created new document

Request:http://xyz:6405/biprws/raylight/v1/documents

Method: POST

Body:

<document>

    <name>sample</name>

<folderId>12644</folderId>

</document>

Accept: application/xml

Content-Type: application/xml

2. Added data providera


Request:

http://xyz:6405/biprws/raylight/v1/documents/2374/dataproviders

Method:POST

<dataprovider>

  <name>"XYZ"</name>

  <dataSourceId>3345</dataSourceId>

</dataprovider>


Accept: application/xml

Content-Type: application/xml

3. Saved document

Request:

http://xyz:6405/biprws/raylight/v1/documents/2374

Method:PUT

Accept: application/xml

Content-Type: application/xml

4. added query specification

Request:

http://xyz:6405/biprws/raylight/v1/documents/2374/DP0/specification

Method:PUT

Accept: application/xml

Content-Type: text/xml

<?xml version="1.0" encoding="UTF-8"?>

<queryspec:QuerySpec xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:queryspec="http://com.sap.sl.queryspec" version="17" dataProviderId="DP0">

    <queryParameters>

      <duplicatedRowsProperty activated="true" value="true"/>

      <maxRetrievalTimeInSecondsProperty value="0"/>

      <maxRowsRetrievedProperty value="0"/>

      <removeEmptyRowsProperty activated="true" value="true"/>

      <allowOtherUserToEditQueryProperty activated="true" value="true"/>

      <resetContextOnRefreshProperty activated="true" value="true"/>

      <stripQueryProperty/>

      <useBexQueryDefaultValue activated="true" value="true"/>

    </queryParameters>

    <queriesTree xsi:type="queryspec:QueryDataNode">

      <bOQuery name="Query">

        <resultObjects name="State"/>

        <resultObjects name="Sales revenue"/>

        <conditionPart/>

      </bOQuery>

    </queriesTree>

</queryspec:QuerySpec>

5. saved document again

saved successfully

6. Refreshing report

Request:

http://xyz:6405/biprws/raylight/v1/documents/2374/parameters

Method: GET

Accept: application/xml

Content-Type: application/xml

Getting below error at this stage

  • <error>
  •    <error_code>999</error_code>
  •    <message>Internal error (RaylightAction)</message>
  •    <stack_trace>com.sap.webi.raylight.RaylightException: Internal error (RaylightAction)&#13;
  •   at com.sap.webi.raylight.context.Messenger.internalError(Messenger.java:83)&#13;
  •   at com.sap.webi.raylight.actions.ActionDispatcher.handleUnexpectedError(ActionDispatcher.java:131)&#13;
  •   at com.sap.webi.raylight.actions.ActionDispatcher.invoke(ActionDispatcher.java:117)&#13;
  •   at com.sap.webi.raylight.RaylightServiceParameters.getParameters(RaylightServiceParameters.java:94)&#13;
  •   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)&#13;
  •   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)&#13;
  •   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)&#13;
  •   at java.lang.reflect.Method.invoke(Method.java:597)&#13;
  •   at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:173)&#13;
  •   at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:89)&#13;
  •   at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:164)&#13;
  •   at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:242)&#13;
  •   at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:242)&#13;
  •   at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:242)&#13;
  •   at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:91)&#13;
  •   at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)&#13;
  •   at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)&#13;
  •   at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)&#13;
  •   at java.util.concurrent.FutureTask.run(FutureTask.java:138)&#13;
  •   at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)&#13;
  •   at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:106)&#13;
  •   at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255)&#13;
  •   at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:113)&#13;
  •   at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:102)&#13;
  •   at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:464)&#13;
  •   at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:149)&#13;
  •   at com.sap.bip.rs.server.servlet.BIPServletController.invoke(BIPServletController.java:93)&#13;
  •   at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:148)&#13;
  •   at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:179)&#13;
  •   at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:108)&#13;
  •   at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)&#13;
  •   at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:159)&#13;
  •   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)&#13;
  •   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)&#13;
  •   at com.businessobjects.sdk.actionfilter.WorkflowFilter.doFilter(WorkflowFilter.java:45)&#13;
  •   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)&#13;
  •   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)&#13;
  •   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)&#13;
  •   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)&#13;
  •   at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)&#13;
  •   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)&#13;
  •   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)&#13;
  •   at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)&#13;
  •   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)&#13;
  •   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)&#13;
  •   at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)&#13;
  •   at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)&#13;
  •   at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)&#13;
  •   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)&#13;
  •   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)&#13;
  •   at java.lang.Thread.run(Thread.java:743)&#13;
  •   Caused by: java.lang.reflect.InvocationTargetException&#13;
  •   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)&#13;
  •   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)&#13;
  •   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)&#13;
  •   at java.lang.reflect.Method.invoke(Method.java:597)&#13;
  •   at com.sap.webi.raylight.actions.ActionInvoker.invokeWith(ActionInvoker.java:123)&#13;
  •   at com.sap.webi.raylight.actions.ActionDispatcher.invoke(ActionDispatcher.java:105)&#13;
  •   ... 48 more&#13;
  •   Caused by: com.businessobjects.sdk.core.server.CommunicationException$UnexpectedServerException: You do not have sufficient rights to refresh the query. Some objects are not available to your user profile. Contact your administrator to request the necessary rights. (IES 00002)&#13;
  •   at com.businessobjects.sdk.core.exception.ExceptionBuilder.make(ExceptionBuilder.java:152)&#13;
  •   at com.businessobjects.sdk.core.exception.ExceptionBuilder.make(ExceptionBuilder.java:109)&#13;
  •   at com.businessobjects.sdk.core.server.common.CommonRequestHandler.afterProcessing(CommonRequestHandler.java:127)&#13;
  •   at com.businessobjects.sdk.core.server.internal.AbstractServer.processIt(AbstractServer.java:178)&#13;
  •   at com.businessobjects.sdk.core.server.internal.AbstractServer.process(AbstractServer.java:133)&#13;
  •   at com.businessobjects.sdk.core.server.internal.InstanceServer.process(InstanceServer.java:94)&#13;
  •   at com.sap.sl.sdk.services.util.ServerRequestProcessor.processServerRequest(ServerRequestProcessor.java:49)&#13;
  •   at com.sap.sl.sdk.dataprovider.service.DataProviderServiceImpl.processDataProviderCommand(DataProviderServiceImpl.java:589)&#13;
  •   at com.sap.sl.sdk.dataprovider.service.DataProviderServiceImpl.prepare(DataProviderServiceImpl.java:367)&#13;
  •   at com.sap.sl.sdk.workspace.service.WorkspaceServiceImpl.prepare(WorkspaceServiceImpl.java:308)&#13;
  •   at com.sap.sl.sdk.workspace.service.WorkspaceServiceImpl.prepare(WorkspaceServiceImpl.java:296)&#13;
  •   at com.sap.webi.raylight.business.ParameterHelper.&lt;init&gt;(ParameterHelper.java:156)&#13;
  •   at com.sap.webi.raylight.actions.parameter.GetParametersAction.execute(GetParametersAction.java:26)&#13;
  •   ... 54 more&#13;
  •   Caused by: com.businessobjects.sdk.core.server.ServerException: You do not have sufficient rights to refresh the query. Some objects are not available to your user profile. Contact your administrator to request the necessary rights. (IES 00002)&#13;
  •   at com.businessobjects.sdk.core.server.common.CommonRequestHandler.newServerException(CommonRequestHandler.java:260)&#13;
  •   at com.businessobjects.sdk.core.server.common.CommonRequestHandler.createAllServerExceptions(CommonRequestHandler.java:238)&#13;
  •   at com.businessobjects.sdk.core.server.common.CommonRequestHandler.afterProcessing(CommonRequestHandler.java:121)&#13;
  •   ... 64 more&#13;
  • </stack_trace>
  • </error>

Accepted Solutions (0)

Answers (2)

Answers (2)

former_member197386
Active Contributor
0 Kudos

Agree with Daniel, it seems to be a security issue (the user you're using is not authorized to refresh data).

You do not have sufficient rights to refresh the query. Some objects are not available to your user profile. Contact your administrator to request the necessary rights. (IES 00002)

Anthony

Former Member
0 Kudos

Hi Dan and Anthony,

I am unable to manually refresh the document which I created using Restful by logged in with same user credentials in Launchpad however I am able to refresh other documents created manually based on same universe via both manual and via Restful procedure

The query specifications of both documents (manually created & created by Restful)  are different, in case if I keep the query specifications as same then I am not getting any error while refreshing through Restful, below is the difference in query specifications which I have highlighted in bold , the reason I removed the identifiers in query specification while creating document using Restful is because I do not want to make those values as hard coded, example identifier="_lw0Mgu_8EeWqOIpeAlnjxA",

Please suggest is that the reason I am getting error? , are these identifiers are mandatory to be mentioned inside query specification? or Is there any other way I can create query specification without mentioning identifiers

Query Specification of Manually Created Document:

<?xml version="1.0" encoding="UTF-8"?>

<queryspec:QuerySpec xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:queryspec="http://com.sap.sl.queryspec" version="17" dataProviderId="DP0">

    <queryParameters>

      <duplicatedRowsProperty activated="true" value="true"/>

      <maxRetrievalTimeInSecondsProperty value="0"/>

      <maxRowsRetrievedProperty value="0"/>

      <removeEmptyRowsProperty activated="true" value="true"/>

      <allowOtherUserToEditQueryProperty activated="true" value="true"/>

      <resetContextOnRefreshProperty activated="true" value="true"/>

      <stripQueryProperty/>

      <useBexQueryDefaultValue activated="true" value="true"/>

    </queryParameters>

    <queriesTree xsi:type="queryspec:QueryDataNode">

      <bOQuery name="Query" identifier="_B8nEUPAzEeWlBs_7wCFBmA">

        <resultObjects identifier="_lw0Mgu_8EeWqOIpeAlnjxA" name="State"/>

        <resultObjects identifier="_lw0Mg-_8EeWqOIpeAlnjxA" name="City"/>

        <resultObjects identifier="_lw0zku_8EeWqOIpeAlnjxA" name="Sales revenue"/>

        <conditionPart>

          <conditionTree xsi:type="queryspec:ConditionDataNode" logicalOperator="Null">

            <condition xsi:type="queryspec:ComparisonCondition" conditionType="Comparison" itemIdentifier="_lw0Mgu_8EeWqOIpeAlnjxA" comparisonOperator="Equal">

              <operands xsi:type="queryspec:QueryPromptOperand" optional="false" free="true" userPosition="0" persistent="true" question="Select State:" lovIdentifier="_lw0Mgu_8EeWqOIpeAlnjxA"/>

            </condition>

          </conditionTree>

        </conditionPart>

      </bOQuery>

    </queriesTree>

</queryspec:QuerySpec>

Query Specification of Document Created using Restful:


<?xml version="1.0" encoding="UTF-8"?>

<queryspec:QuerySpec xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:queryspec="http://com.sap.sl.queryspec" version="17" dataProviderId="DP0">

    <queryParameters>

      <duplicatedRowsProperty activated="true" value="true"/>

      <maxRetrievalTimeInSecondsProperty value="0"/>

      <maxRowsRetrievedProperty value="0"/>

      <removeEmptyRowsProperty activated="true" value="true"/>

      <allowOtherUserToEditQueryProperty activated="true" value="true"/>

      <resetContextOnRefreshProperty activated="true" value="true"/>

      <stripQueryProperty/>

      <useBexQueryDefaultValue activated="true" value="true"/>

    </queryParameters>

    <queriesTree xsi:type="queryspec:QueryDataNode">

      <bOQuery name="Query">

        <resultObjects name="State"/>

        <resultObjects name="City"/>

        <resultObjects name="Sales revenue"/>

        <conditionPart>

          <conditionTree xsi:type="queryspec:ConditionDataNode" logicalOperator="Null">

            <condition xsi:type="queryspec:ComparisonCondition" conditionType="Comparison" itemName="State" comparisonOperator="Equal">

              <operands xsi:type="queryspec:QueryPromptOperand" optional="false" free="true" userPosition="0" persistent="true" question="Select State:"/>

            </condition>

          </conditionTree>

        </conditionPart>

      </bOQuery>

    </queriesTree>

</queryspec:QuerySpec>

daniel_paulsen
Active Contributor
0 Kudos

Hi Sumanth.

The IDs of the result objects will be required as these ID's are also in the universe.  You could potentially have two different objects with the same names, but the identifiers will be unique.

to see the identifiers for the objects in the universe, have a look at the response from the following:

GET   /biprws/sl/v1/universes/3345

The ID's for  State, City and Sales Revenue should match what is in the working queryspec.

Dan

former_member197386
Active Contributor
0 Kudos

Hello,

Yes identifiers are mandatory for result objects. Did you try to look at the query panel of the generated document through standard Webi client?

I guess, we should improve error checks when query specification are sent. There are still rooms for improvement in this world

Best regards,

Anthony

jones_joseph
Explorer
0 Kudos

I copied a object from another Universe with same name . It is throwing this error, Another Universe is copy of same Universe

former_member197386
Active Contributor
0 Kudos

Hi,

Could you create another topic since this one is rather related to security rights?

Best regards,

Anthony

daniel_paulsen
Active Contributor
0 Kudos

Hi Sumanth,

Are you able to refresh this Sample document in BI Launchpad when logged in as the same user in the REST app?  It seems to be a permissions issue with refreshing the query.

If you can refresh the document in BI Launchpad, then try creating a new report in Launchpad with the same data source and same two result objects.  Can you refresh this new document using the REST APIs?  If so, compare the queryspec of this new document with the one you created with the REST APIs.

Dan