Quantcast
Channel: SCN : Popular Discussions - RESTful Web Services SDK
Viewing all 1088 articles
Browse latest View live

BI Universe Connector using Rest API

$
0
0

Using Rest API URL, I can send HTTP calls using Chrome Rest client and can see just the universe metadata like CUID, Description, Type etc.Using <Resturl>/sl/v1/universes/si_id , I can see the unx universe Folder and object names, Data Type.

 

I would like to know how to query the universe data as ODATA feed in MS Excel using the Rest API URL. If yes, what needs to be done and what the Odata URL would look like. Any guidance is appreciated.


Query specification

$
0
0

Hi guys,

 

I am using the Restful SDK to get the dataproviders query specification (http://server:6405/biprws/raylight/v1/documents/{ID}/dataproviders/DP0/specification). The result XML is something like this:

 

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

    <queryParameters>   

    </queryParameters>

    <queriesTree xsi:type="queryspec:QueryOperatorNode" queryOperator="Union">

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

            <bOQuery name="Query" identifier="_DQwTUS-BEeWGVJVUo9we">

                <resultObjects identifier="DS0.DO4fc" name="asdasdad"/>

                <conditionPart>

                    <conditionTree xsi:type="queryspec:ConditionOperatorNode" logicalOperator="And">

                    

                    </conditionTree>

                </conditionPart>

            </bOQuery>

        </children>

    </queriesTree>

</queryspec:QuerySpec>

 

 

I have to parse this XML to identify all the universe objects used by the document (result objects and conditions too). Where can I find the formal schema/specification/documentation for this XML?

 

Are there any good examples available, to parse this XML?

 

Thx.

Cannot POST to create schedule - (500) internal server error

$
0
0

I am trying to create a schedule using Raylight and Restful Web services using a post to

http://xxxxxxxxxxx:6405/biprws/raylight/v1/documents/6385/schedules 

 

when I do I get an error

'The remote server returned an error: (500) Internal Server Error.'


I suspect its to do with ports being open and closed as our system has all ports locked down by default and we have to get them opened as we find the need.


Has anyone any idea as to where or how I might be able to find details of ports that need to be opened or services that need to run with specific ports rather than automatic ?


Any help much appreciated as this is fast becoming a major stumbling block - we keep fixing one thing only to find another, unfortunately we are newbies to the SDK as well as newbies to 4.1

BI4 Restful call not working for secLDAP authentication

$
0
0


Hi,

 

My java code for making BI4 Restful calls is working fine for secEnterprise authentication. But, the same code is not working for secLDAP authentication. When I am using the secLDAP authentication, as the first step, I am able to get a valid loginToken . But, when I use this loginToken as input to subsequent calls, it is throwing 401 (UnAuthorised) error. Please let me know if any extra steps need to be taken care for secLDAP authentication.

 

FYI -  I am able to login to BI LAunchPad with the same LDAP credentials and has access to open and refresh the reports.

Create reports in RESTful webservice

$
0
0


Hi

 

 

I am using BO 4.1 SP2.

I know that report can be created using restful url.

Is there any url to connect the created report with a particular universe. help me in this

 

 

Regards,

Kavitha S

How to access Universes Folder from CMC

$
0
0

Hi,

 

I am using Rest API to create webi reports in BO 4.1, But i want to get the universe details from the Universes Folder in the CMC.

Is there any URL to access the Universes Folder from CMC?

 

Pls Pls Pls kindly inform me,

 

 

 

Thanks

Rakesh kumbhare

Unable to get images in HTML export

$
0
0

I'm requesting a report in HTML format:

http://idsbisandbox/biprws/raylight/v1/documents/1451028/reports/3/pages/1

Accept: text/html

etc.

 

Included in the returned HTML is a IMG link to an image:

<img border="0" style="position:absolute;top:0px;left:0px;width:581px;height:489px;" alt="Tree Map"
src="http://idsbisandbox/biprws/raylight/v1/documents/1451028/reports/3/pages/1/images/TMP*23*6?X-SAP-LogonToken=[[ my logon token ]]">


This IMG is then submitted (immediately) when the page is rendered:

GET http://idsbisandbox/biprws/raylight/v1/documents/1451028/reports/3/pages/1/images/TMP*23*7?X-SAP-LogonToken=[[ my logon token ]]


But this produces a 401 error with the following stack trace:

<error>    <error_code>FWB 00003</error_code>    <message>Not a valid logon token. (FWB 00003)</message>    <stack_trace>com.sap.bip.rs.exceptions.InvalidEntSessionException: Not a valid logon token. (FWB 00003)&#13;  at com.sap.bip.rs.exceptions.InvalidEntSessionException.LogonFailed(InvalidEntSessionException.java:42)&#13;  at com.sap.bip.rs.session.SessionFactory.getSession2(SessionFactory.java:110)&#13;  at com.sap.bip.rs.session.SessionFactory.getSession2(SessionFactory.java:90)&#13;  at com.sap.bip.rs.session.SessionInternal$1.compute(SessionInternal.java:43)&#13;  at com.sap.bip.rs.session.SessionInternal$1.compute(SessionInternal.java:38)&#13;  at com.sap.bip.rs.nmemo.NMemo$1.call(NMemo.java:67)&#13;  at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)&#13;  at java.util.concurrent.FutureTask.run(FutureTask.java:138)&#13;  at com.sap.bip.rs.nmemo.impl.NMemoWrap.run(NMemoWrap.java:44)&#13;  at com.sap.bip.rs.nmemo.NMemo.memorizePreCalculated(NMemo.java:107)&#13;  at com.sap.bip.rs.nmemo.NMemo.memorize(NMemo.java:49)&#13;  at com.sap.bip.rs.session.SessionInternal.initThreadSession(SessionInternal.java:109)&#13;  at com.sap.bip.rs.server.servlet.BIPServletController.invoke(BIPServletController.java:84)&#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:620)&#13;  at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:159)&#13;  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)&#13;  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)&#13;  at com.businessobjects.sdk.actionfilter.WorkflowFilter.doFilter(WorkflowFilter.java:45)&#13;  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)&#13;  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)&#13;  at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)&#13;  at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)&#13;  at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)&#13;  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)&#13;  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)&#13;  at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)&#13;  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)&#13;  at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)&#13;  at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)&#13;  at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)&#13;  at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)&#13;  at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)&#13;  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)&#13;  at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)&#13;  at java.lang.Thread.run(Thread.java:763)&#13;
Caused by: com.crystaldecisions.sdk.exception.SDKServerException: Not a valid logon token. (FWB 00003)&#13;
cause:com.crystaldecisions.enterprise.ocaframework.idl.OCA.oca_abuse: IDL:img.seagatesoftware.com/OCA/oca_abuse:3.2&#13;
detail:Not a valid logon token. (FWB 00003)
The server supplied the following details: OCA_Abuse exception 10503 at [.\exceptionmapper.cpp : 67]  42010 {}  ...Not a valid logon token. (FWB 00003) The serialized token is not valid and cannot be deserialized&#13;  at com.crystaldecisions.sdk.exception.SDKServerException.map(SDKServerException.java:99)&#13;  at com.crystaldecisions.sdk.exception.SDKException.map(SDKException.java:124)&#13;  at com.crystaldecisions.sdk.occa.security.internal.LogonService.logonWithTokenHelper(LogonService.java:498)&#13;  at com.crystaldecisions.sdk.occa.security.internal.LogonService.logonWithToken(LogonService.java:340)&#13;  at com.crystaldecisions.sdk.occa.security.internal.LogonService.logonWithToken(LogonService.java:151)&#13;  at com.crystaldecisions.sdk.occa.security.internal.SecurityMgr.logonWithToken2(SecurityMgr.java:223)&#13;  at com.crystaldecisions.sdk.framework.internal.SessionMgr2.logonWithToken(SessionMgr2.java:92)&#13;  at com.crystaldecisions.sdk.framework.internal.SessionMgr2.logonWithToken(SessionMgr2.java:86)&#13;  at com.sap.bip.rs.session.SessionFactory.getSession2(SessionFactory.java:100)&#13;  ... 36 more&#13;
Caused by: com.crystaldecisions.enterprise.ocaframework.idl.OCA.oca_abuse: IDL:img.seagatesoftware.com/OCA/oca_abuse:3.2&#13;  at com.crystaldecisions.enterprise.ocaframework.idl.OCA.oca_abuseHelper.read(oca_abuseHelper.java:106)&#13;  at com.crystaldecisions.enterprise.ocaframework.idl.OCA.OCAs._LogonEx6Stub.SessionLogonWithToken(_LogonEx6Stub.java:218)&#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.crystaldecisions.enterprise.ocaframework.ManagedService.invoke(ManagedService.java:356)&#13;  at com.crystaldecisions.sdk.occa.security.internal._LogonEx6Proxy.SessionLogonWithToken(_LogonEx6Proxy.java:244)&#13;  at com.crystaldecisions.sdk.occa.security.internal.LogonService.logonWithTokenHelper(LogonService.java:400)&#13;  ... 42 more&#13;</stack_trace></error>

what does this error code means CRR 00143


Using Restful SDK “logon/adsso” in cluster architecture causes CORS issues

$
0
0

We are developing a « custom extension » in Design Studio that uses “Restful Web Service” calls to retrieve WebI document data.  To test, we save the Design Studio application on the BI LaunchPad and execute it from IE.

 

One of the steps of the “custom extension” is to authenticate via Restful calls with the BI Platform before running any other Restful calls to retrieve document data.

 

Our first test was the use the http://<baseURL>/logon/longcall to retrieve the token (this is successful).

Ref: 4.3.1 To get a logon token from a user name and password from sbo41_bip_rest_ws_en.pdf

 

Then we replaced it with http://<baseURL>/logon/adsso call to leverage the AD SSO with IE (this is successful).

Ref: 4.3.3 To get a logon token using an Active Directory Single Sign-On (AD SSO) account from sbo41_bip_rest_ws_en.pdf

 

We have successfully tested everything on the Sandbox which is a single server deployment.  The system baseURL is the same as the Restful baseURL.

 

We migrate everything to a DEV environment which is a clustered environment.  So we have 2 servers. https://vmboserver1:8443/BOE/BI and https://vmboserver2:8443/BOE/BI

We will have load balancers associated later.  Ex:  https://vmboserver:8443/BOE/BI and https://resfulboserver:6443/biprws

 

Currently, we are waiting for the load balancers, but we would still like to test doing the following.

 

When we call https://vmboserver1:6443/biprws/logon/adssofrom https://vmboserver1:8443/BOE/BI, it is successful.

 

When we call https://vmboserver2:6443/biprws/logon/adssofrom https://vmboserver1:8443/BOE/BI, we get CORS and access denied error message.  The application is launched from vmboserver2 server but calls the restful on vmboserver1 server.

 

 

 

We have applied following steps but still error occurs and calling Restful services to a different server.

  1. setRequestHeader('X-Requested-With', 'XMLHttpRequest'); 
    1. setRequestHeader('X-PINGARUNER', 'pingpong'); 

 

 

We have also applied following instructions from sbo41_bip_rest_ws_en.pdf:

Ref: 5.11 To configure cross-origin resource sharing (CORS)

And

Ref: 3.2 Using Ajax and JavaScript with RESTful web services across domains

 

We have also applied following instructions from sbo41sp3_bip_admin_en.pdf:

Ref: 12.1.8.2.1 To configure Methods and Headers command line parameters

And

Ref: 12.1.8.2.3.1 To configure cross-origin resource sharing (CORS)

And

Ref: 12.1.8.2.4.1 To configure web.xml to enable WinAD SSO

 

We cannot seem to remove this CORS error from the architecture.  Please any suggestions?

 

Thanks,


Windows Server

BI 4.1 SP3

"Invalid UTF-8 start byte 0xbf" when changing universes

$
0
0

I'm attempting to change a report to another universe using REST, and I am getting the following error after submitting the mapping:

 

<error_code>RWS 00070</error_code>
<message>Internal server error. (RWS 00070)</message>
<stack_trace>javax.ws.rs.WebApplicationException: java.lang.RuntimeException: [was class java.io.CharConversionException] Invalid UTF-8 start byte 0xbf (at char #54921, byte #51299)&#13;

    at org.apache.cxf.jaxrs.provider.JAXBElementProvider.readFrom(JAXBElementProvider.java:165)&#13;

    at com.sap.webi.raylight.ExtendedJAXBElementProvider.readFrom(ExtendedJAXBElementProvider.java:63)&#13;

    at org.apache.cxf.jaxrs.utils.JAXRSUtils.readFromMessageBody(JAXRSUtils.java:1030)&#13;

    at org.apache.cxf.jaxrs.utils.JAXRSUtils.processParameter(JAXRSUtils.java:610)&#13;

    at org.apache.cxf.jaxrs.utils.JAXRSUtils.processParameters(JAXRSUtils.java:575)&#13;

    at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:239)&#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.doPost(AbstractHTTPServlet.java:103)&#13;

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)&#13;

    at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:159)&#13;

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)&#13;

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)&#13;

    at com.businessobjects.sdk.actionfilter.WorkflowFilter.doFilter(WorkflowFilter.java:45)&#13;

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)&#13;

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)&#13;

    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)&#13;

    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)&#13;

    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)&#13;

    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)&#13;

    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)&#13;

    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)&#13;

    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)&#13;

    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)&#13;

    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)&#13;

    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)&#13;

    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)&#13;

    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)&#13;

    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)&#13;

    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)&#13;

    at java.lang.Thread.run(Thread.java:763)&#13;

Caused by: java.lang.RuntimeException: [was class java.io.CharConversionException] Invalid UTF-8 start byte 0xbf (at char #54921, byte #51299)&#13;

    at com.ctc.wstx.util.ExceptionUtil.throwRuntimeException(ExceptionUtil.java:18)&#13;

    at com.ctc.wstx.sr.StreamScanner.throwLazyError(StreamScanner.java:731)&#13;

    at com.ctc.wstx.sr.BasicStreamReader.safeFinishToken(BasicStreamReader.java:3657)&#13;

    at com.ctc.wstx.sr.BasicStreamReader.getTextCharacters(BasicStreamReader.java:830)&#13;

    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.StAXStreamConnector.handleCharacters(StAXStreamConnector.java:312)&#13;

    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:176)&#13;

    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:351)&#13;

    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:323)&#13;

    at org.apache.cxf.jaxrs.provider.JAXBElementProvider.unmarshalFromInputStream(JAXBElementProvider.java:211)&#13;

    at org.apache.cxf.jaxrs.provider.JAXBElementProvider.doUnmarshal(JAXBElementProvider.java:177)&#13;

    at org.apache.cxf.jaxrs.provider.JAXBElementProvider.readFrom(JAXBElementProvider.java:146)&#13;

    ... 46 more&#13;

Caused by: java.io.CharConversionException: Invalid UTF-8 start byte 0xbf (at char #54921, byte #51299)&#13;

    at com.ctc.wstx.io.UTF8Reader.reportInvalidInitial(UTF8Reader.java:302)&#13;

    at com.ctc.wstx.io.UTF8Reader.read(UTF8Reader.java:188)&#13;

    at com.ctc.wstx.io.ReaderSource.readInto(ReaderSource.java:84)&#13;

    at com.ctc.wstx.io.BranchingReaderSource.readInto(BranchingReaderSource.java:57)&#13;

    at com.ctc.wstx.sr.StreamScanner.loadMore(StreamScanner.java:992)&#13;

    at com.ctc.wstx.sr.BasicStreamReader.readTextSecondary(BasicStreamReader.java:4628)&#13;

    at com.ctc.wstx.sr.BasicStreamReader.readCoalescedText(BasicStreamReader.java:4126)&#13;

    at com.ctc.wstx.sr.BasicStreamReader.finishToken(BasicStreamReader.java:3701)&#13;

    at com.ctc.wstx.sr.BasicStreamReader.safeFinishToken(BasicStreamReader.java:3649)&#13;

    ... 54 more&#13;

 

Any idea what might be causing this?

 

Changing the universe manually (via WebI) works fine.

Restful web service creation in SAP

$
0
0

Hi, We have requirement to create the webservice and provide to third party. We have created web service through SE37 but it is based on SOAP protocol, third party is not able to consume the same, They are asking us to provide Restful webservice. Any help will be appreciated.

RABAX occurred on server side

$
0
0

Hello,

 

We have a third party team who uses ONBASE tool to call Webservices API for create/update service orders and followups in CRM system.  The issue they are facing is out of 10-15 calls, 3-5 calls are getting failed and response contains blank.  When they get failure and try next time in 30sec gap, with the same data the transaction is success.  So, we can rule out the data issue here.

 

 

We have taken fiddler trace and noticed HTTP 500 error when the failure occurred.  Below are the details of the error.

 

 

 

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><soap:Fault><faultcode> soap:Server </faultcode><faultstring xml:lang="en"> RABAX occurred on server side </faultstring><detail><sap:Rabax xmlns:sap="http://www.sap.com/webas/710/soap/runtime/abap/fault/generic"><SYDATUM>20140422</SYDATUM><SYUZEIT>094349</SYUZEIT><ERRORCODE>MESSAGE_TYPE_X</ERRORCODE></sap:Rabax></detail></soap:Fault></soap:Body></soap:Envelope>

 

Did any one face the same issue (or) can provide any pointers please?  Appreciate your help, thanks in advance!

 

 

Regards,

Satish

How to Get Folder details with name and id from CMC using Java Restful web services

$
0
0

Hi Guys,

 

This is Rakesh from mumbai.

 

I am working on WebI Report in BO 4.1 using Restful WebServices. I am unable to get any folder details from CMC like id, name from my favorite folder.  There is any URL to get the folder details.

 

Pls Pls Pls if you know reply me.

 

Thanks,

Rakesh kumbhare

Crystal Report Instance with JavaScript Viewer API

$
0
0

I was able to implement a sample Crystal Reports Viewer using  the JavaScript API (http://help.sap.com/businessobject/product_guides/sbo41/en/sbo41_cr_js_api_en.pdf).

 

However, I am not sure how to open a report instance within this viewer. When I use the report ID itself, report shows up with relevant login and report parameters prompts. But when I use the report instance ID, I keep getting an error (CRWEB00000119). This report instance has been successfully generated and can be viewed through CMC and Launch Pad. I have also tried a couple of reports, one with a RPT output format and another one with Excel output format but they both result in the same error.

 

Is it even possible to display report instance through this API? I see a class and a method in this API (SAP.CR.Parameter and addvalue()) which allows someone to pass parameters to the report. In my case since instance has already been generated, I don't want to have to pass the parameters again and execute the report before displaying it. I am looking for a similar functionality that OpenDocument offers to view a report instance.

 

Any pointers will be helpful.

 

Thanks.

Adnan

 

 

 

Sample Code:

 

<head>

<script src="http://<hidden servername:port>/clientapi/CR/ViewerSeed.js"></script>

<script type="text/javascript">

  var token = null;

  function init() {

  token = "<hidden token>";

 

  SAP.CR.Viewer.create("crystalViewer", 'viewerContainer1', onViewerInit, onViewerFailure);

  }

 

 

  function onViewerInit (viewerInstance) {

  viewerInstance.setReportSource('<instance id>', token);

  }

 

 

  function onViewerFailure(instance, error){

  alert(error);

  }

 

 

</script>

 

 

<style>

  .viewerStyle

  {

  position : absolute;

  left : 1.5%;

  top : 0.5%;

  width : 100%;

  height : 100%;

  }

</style>

 

 

</head>

 

 

<body onload="init()">

 

 

<div id="viewerContainer1" class = "viewerStyle"></div>

</body>

RESTful Web Service BI 4.1 SP6 Documentation

$
0
0

Hi all,

 

Where do I find the updated documentation for the BI 4.1 SP6 RESTful Web Services SDK?

 

I am trying to find out if I can schedule a report to SFTP or secure email using RESTful web service SDK.

 

Thanks,

Chris


Scheduling a WebI document with a DateTime prompt

$
0
0

Hi

 

We've encountered a difference between BI 4.1 SP5 patch 4 and BI 4.1 SP6 Patch 2 while scheduling a WebI report containing a DateTime prompt with RWS.

I'll try to explain the problem in detail. Any input is greatly appreciated!

 

The prompt value is part of an XML file containing all of the schedule parameters:

...<parameter optional="false" type="prompt" dpId="DP0">  <id>1</id>  <technicalName>Date:</technicalName>  <answer constrained="false" type="DateTime">    <values>      <value>2013-12-31T23:59:59.999+01:00</value>    </values>  </answer></parameter>
...

Sending the http request and creating the schedule isn't a problem.

 

Result on server A (BI 4.1 SP5 Patch 4):

Parameter value of the report instance matches the DateTime value in the XML.

 

Result on server B (BI 4.1 SP6 Patch 2):

Parameter value of the report instance does not match the DateTime value in the XML.

When inspecting the scheduled instance in the BI launch pad, we can see a prompt value of 12/31/2013 22:59:59. The date time value sent to the server seems to have been converted from UTC+1 to UTC.

We achieve the desired result by setting the prompt value in the XML to "2013-12-31T23:59:59.999+00:00".

 

An overview:

 

KBA 2185370 states: "The conversion function used when scheduling a document in Raylight was incorrectly adding the server Timezone."

According do that article, this bug exists in SP5 releases under patch 8 and SP6 releases under patch 1.

This could explain why were are getting a different result on server A and B. (Both our Windows servers run in timezone UTC+1.)

 

We are wondering what's telling the RWS to convert the DateTime prompt value to UTC on our BI 4.1 SP6 Patch 2 server.

Is this a setting we can change?

 

Thanks

 

Dwight

Any specific settings required for REST services !!!

$
0
0

Hi,

 

I tried to get the content of webi reports using REST calls.

 

I am interested in querying the dataprovider properties (viz source, source type) and dataprovider details (objects in the data provider, links if any).

 

When I try to execute them in batch mode through java application, after fetching few reports details my requests are getting time out. I have the connection time out as 10 minutes.  When I retry the same report, I am getting the required data.

 

I am on BI 4.0 SP9.

 

Any specific settings needs to be made on WACS or any other services to avoid this issue.

 

Regards,

Subramanian S.

LOV refresh database error

$
0
0

I was trying unsuccessfully to refresh a prompt LOV:

 

Calling:

{"parameters":{"parameter":{"id":"1","answer":{"info":{"lov":{"query":{"sort":{"@order":"None"}}}}}}}}

 

Resulted in:

{

  "parameters": {

    "parameter": [

      {

        "@dpId": "DP0",

        "@type": "prompt",

        "@optional": "false",

        "id": 1,

        "technicalName": "Select Report Date:",

        "name": "Select Report Date:",

        "answer": {

          "@type": "Text",

          "@constrained": "false",

          "info": {

            "@cardinality": "Single",

            "lov": {

              "@searchable": "false",

              "@refreshable": "true",

              "@hierarchical": "true",

              "id": "UNIVERSELOV_DS0.DO155a"

            }

          }

        }

      }

    ]

  }

}

 

I opened the report in WebI and refreshed the prompt, only to get a database error.  So obviously that's why I was getting no results.  But shouldn't my REST call have failed, rather than just produce no results?

Retrieve the report content for display using RESTful Services

$
0
0

Hi All,

 

I am using the CR for Enterprise to build report. So far as I knew. the report from CR for Enterprise can't be opened with either of the SDK's, .NET or Java.

Otherwise I will got error with 'Unsupported Operation. A document processed by the JRC engine cannot be opened in the C++ stack.".

 

so firstly I have to deploy the report to CR Server 2013 of SAP BI.

Now I am trying to build a .Net application to view these report.

 

So far I have tried the below ways. But doesn't get it through . Please help to review it .

 

1. RESTful doesn't matter with what language we build for the application. so I believe this is the right choice to go .

 

So I logon the RESTful Services, and try to use the export services. but didn't make it .

What get me stuck with is I can't get correct RESTful url for the specified RESTful services.

I can logon with the url "http://<servername>:6405/biprws/logon/long".

and I can retrieve the reports information under a specified folder with the url  "http://<servername>:6405/biprws/infostore/<folderid>/children/"

and also can retrieve a specified report information with the url "http://<servername>:6405/biprws/infostore/<reportid>"

 

But I can't view a report with the format like PDF.

I tried these urls below

"http://<baseURI>/infostore/<reportID>/rpt/export?mime_type=application/PDF".(get error 404)

"http://<baseURI>/raylight/v1/documents/<reportID>".(get error 404)

"http://<baseURI>/infostore/<reportID>".(the reponse doesn't support the accept type)

 

the code looks like below:

            ....

            WebRequest myWebRequest = WebRequest.Create(LogonURI);

            myWebRequest.ContentType = "application/xml";

            myWebRequest.Method = "GET";

            //Returns the response to the request made

            WebResponse myWebResponse = myWebRequest.GetResponse();

            //Creating an instance of StreamReader to read the data stream from the resource

            StreamReader sr = new StreamReader(myWebResponse.GetResponseStream());

            //Reads all the characters from the current position to the end of the stream and store it as string

            string output = sr.ReadToEnd();

            //Initialize a new instance of the XmlDocument class

            XmlDocument doc = new XmlDocument();

            //Loads the document from the specified URI

            doc.LoadXml(output);

            //Returns an XmlNodeList containing a list of all descendant elements

            //that match the specified name i.e. attr

            XmlNodeList nodelist = doc.GetElementsByTagName("attr");

            //  Add the logon parameters to the attribute nodes of the document

            foreach (XmlNode node in nodelist)

            {

                if (node.Attributes["name"].Value == "userName")

                    node.InnerText = userName;

                if (node.Attributes["name"].Value == "password")

                    node.InnerText = password;

                if (node.Attributes["name"].Value == "auth")

                    node.InnerText = auth;

            }

            //Making POST request to /logon/long to receive a logon token

            WebRequest myWebRequest1 = WebRequest.Create(LogonURI);

            myWebRequest1.ContentType = "application/xml";

            myWebRequest1.Method = "POST";

            byte[] reqBodyBytes = System.Text.Encoding.Default.GetBytes(doc.OuterXml);

            Stream reqStream = myWebRequest1.GetRequestStream();

            reqStream.Write(reqBodyBytes, 0, reqBodyBytes.Length);

            reqStream.Close();

            try

            {

                WebResponse myWebResponse1 = myWebRequest1.GetResponse();

                 rwsLogonToken = myWebResponse1.Headers["X-SAP-LogonToken"].ToString();

                HttpWebRequest myWebRequest2 = (HttpWebRequest)WebRequest.Create(InfoStoreURI);

                myWebRequest2.Accept = "application/PDF";

                myWebRequest2.Headers.Add("X-SAP-LogonToken", rwsLogonToken);

                myWebRequest2.Method = "GET";

                WebResponse myWebResponse2 = myWebRequest2.GetResponse();

                FileStream stream = new FileStream(Request.PhysicalApplicationPath + "output.pdf", FileMode.Create);

                Stream pdfStream = null;

                using (pdfStream = myWebResponse2.GetResponseStream())

                {

                    pdfStream.CopyTo(stream);

                }

                stream.Close();

                Response.Redirect("output.pdf");

            }

            catch (WebException ex)

            {

                //error while accessing the network through a pluggable protocol

                Response.Write("<b>" + ex.Message + "</b>");

            }

            catch (Exception ex)

            {

                //generic error

                Response.Write("<b>" + ex.Message + "</b>");

            }

            ....

 

and I try to get all the documents with url "http://<baseURI>/raylight/v1/documents".

but seems I did't get any available document to use.

the response xml content is below.

 

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

<documents/>

 

 

2. OpenDocument also doesn't matter with the language specification. so it is also a good choice.

So I followed this article http://wiki.scn.sap.com/wiki/pages/viewpage.action?pageId=314933510 and  Trying to use the openDocument url to view the reports. in this way I can view the report but have another problem !

The report has some parameters(please review the attachment) . I don't know how to pass these parameters by the url. I read through the openDocument guide http://help.sap.com/businessobject/product_guides/boexir4/en/xi4_opendocument_en.pdf. But didn't found a way to make it . Please help me to get out of this situation. Thanks.

"Invalid UTF-8 start byte 0xbf" when changing universes

$
0
0

I'm attempting to change a report to another universe using REST, and I am getting the following error after submitting the mapping:

 

<error_code>RWS 00070</error_code>
<message>Internal server error. (RWS 00070)</message>
<stack_trace>javax.ws.rs.WebApplicationException: java.lang.RuntimeException: [was class java.io.CharConversionException] Invalid UTF-8 start byte 0xbf (at char #54921, byte #51299)&#13;

    at org.apache.cxf.jaxrs.provider.JAXBElementProvider.readFrom(JAXBElementProvider.java:165)&#13;

    at com.sap.webi.raylight.ExtendedJAXBElementProvider.readFrom(ExtendedJAXBElementProvider.java:63)&#13;

    at org.apache.cxf.jaxrs.utils.JAXRSUtils.readFromMessageBody(JAXRSUtils.java:1030)&#13;

    at org.apache.cxf.jaxrs.utils.JAXRSUtils.processParameter(JAXRSUtils.java:610)&#13;

    at org.apache.cxf.jaxrs.utils.JAXRSUtils.processParameters(JAXRSUtils.java:575)&#13;

    at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:239)&#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.doPost(AbstractHTTPServlet.java:103)&#13;

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)&#13;

    at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:159)&#13;

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)&#13;

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)&#13;

    at com.businessobjects.sdk.actionfilter.WorkflowFilter.doFilter(WorkflowFilter.java:45)&#13;

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)&#13;

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)&#13;

    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)&#13;

    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)&#13;

    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)&#13;

    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)&#13;

    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)&#13;

    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)&#13;

    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)&#13;

    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)&#13;

    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)&#13;

    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)&#13;

    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)&#13;

    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)&#13;

    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)&#13;

    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)&#13;

    at java.lang.Thread.run(Thread.java:763)&#13;

Caused by: java.lang.RuntimeException: [was class java.io.CharConversionException] Invalid UTF-8 start byte 0xbf (at char #54921, byte #51299)&#13;

    at com.ctc.wstx.util.ExceptionUtil.throwRuntimeException(ExceptionUtil.java:18)&#13;

    at com.ctc.wstx.sr.StreamScanner.throwLazyError(StreamScanner.java:731)&#13;

    at com.ctc.wstx.sr.BasicStreamReader.safeFinishToken(BasicStreamReader.java:3657)&#13;

    at com.ctc.wstx.sr.BasicStreamReader.getTextCharacters(BasicStreamReader.java:830)&#13;

    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.StAXStreamConnector.handleCharacters(StAXStreamConnector.java:312)&#13;

    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:176)&#13;

    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:351)&#13;

    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:323)&#13;

    at org.apache.cxf.jaxrs.provider.JAXBElementProvider.unmarshalFromInputStream(JAXBElementProvider.java:211)&#13;

    at org.apache.cxf.jaxrs.provider.JAXBElementProvider.doUnmarshal(JAXBElementProvider.java:177)&#13;

    at org.apache.cxf.jaxrs.provider.JAXBElementProvider.readFrom(JAXBElementProvider.java:146)&#13;

    ... 46 more&#13;

Caused by: java.io.CharConversionException: Invalid UTF-8 start byte 0xbf (at char #54921, byte #51299)&#13;

    at com.ctc.wstx.io.UTF8Reader.reportInvalidInitial(UTF8Reader.java:302)&#13;

    at com.ctc.wstx.io.UTF8Reader.read(UTF8Reader.java:188)&#13;

    at com.ctc.wstx.io.ReaderSource.readInto(ReaderSource.java:84)&#13;

    at com.ctc.wstx.io.BranchingReaderSource.readInto(BranchingReaderSource.java:57)&#13;

    at com.ctc.wstx.sr.StreamScanner.loadMore(StreamScanner.java:992)&#13;

    at com.ctc.wstx.sr.BasicStreamReader.readTextSecondary(BasicStreamReader.java:4628)&#13;

    at com.ctc.wstx.sr.BasicStreamReader.readCoalescedText(BasicStreamReader.java:4126)&#13;

    at com.ctc.wstx.sr.BasicStreamReader.finishToken(BasicStreamReader.java:3701)&#13;

    at com.ctc.wstx.sr.BasicStreamReader.safeFinishToken(BasicStreamReader.java:3649)&#13;

    ... 54 more&#13;

 

Any idea what might be causing this?

 

Changing the universe manually (via WebI) works fine.

Viewing all 1088 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>