BO 4.1 WEBI Metadata extraction using Java Restful Webservice

Hi
We are building an application using the Restful webservice and are trying to extract the metadata from the webi report.
Whether there is any URL to retrieve Query filter in web Intelligence Report.
Please help.
Regards,
Kavitha S

Assuming this is a BEX query, you may want to check p. 296 in the following; SAP Web Intelligence RESTful web service SDK User Guide, SAP BusinessObjects Business Intelligence platform 4.1
- Ludek
Senior Support Engineer AGS Product Support, Global Support Center Canada
Follow us on Twitter

Similar Messages

  • BO 4.1 Universe Metadata extraction using Java SL SDK

    We are building an application using the SL SDK and are trying to extract the metadata from the Universe (like list of classes, dimensions, measures etc). We are able to connect to the server, retrieve the universe to the local machine; however, when we try to load the retreived local universe, we are facing an excception and not sure on how to proceed on the same.
         Below is the code snippet and the exception.
    //Java code that caused the exception
    RelationalBusinessLayer businessLayer = (RelationalBusinessLayer) local.load("E:\\Universe\\retrieval-2014-03-10-17-29-22\\eFashion_bl.blx");
    System.out.println("Description-->"+businessLayer.getDescription());
    //After setting the path and the required class path in the Command Prompt while executing the java file as below
    java -cp "E:\Program Files (x86)\SAP BusinessObjects Enterprise XI 4.0\SL SDK\java\sl_sdk.jar;E:\Program Files (x86)\SAP BusinessObjects Enterprise XI 4.0\java\lib;E:\Program Files (x86)\SAP BusinessObjects Enterprise XI 4.0\java\lib\*;E:\Program Files (x86)\SAP BusinessObjects Enterprise XI 4.0\dataAccess\connectionServer\java;E:\Program Files (x86)\SAP BusinessObjects Enterprise XI 4.0\dataAccess\connectionServer\java\*;" UniverseBo -Dbusinessobjects.connectivity.directory="E:\Program Files (x86)\SAP BusinessObjects Enterprise XI 4.0\dataAccess\connectionServer"
         The following Exception occurred.
    //Exception
    Exception in thread "main" java.lang.UnsupportedOperationException
            at com.businessobjects.connectionserver.ConnectionServer.getInstance(ConnectionServer.java:165)
    Any pointers to the problem and suggestions are appreciated.
    Thanks,
    Prasanna R

    Hi Prithvi,
         We are trying to extract metadata through java sdk from BO 4.1,we had been able to extract the data upto class level but can not proceed further to extract data related to the objects such as "measures,"dimensions","filters",etc from a class as we can't find suitable methods to do so.Please have a look to the following code snippet:-
    RelationalBusinessLayer businessLayer = (RelationalBusinessLayer) local.load("D:\\Universe\\retrieval-2014-03-17-15-47-46\\eFashion4.blx");    //loading local blx file
    RootFolder rf =businessLayer.getRootFolder();
    List<BlItem> getchildren=rf.getChildren();   //would return list of classes
    Now we intend to extract objects(filters,dimensions,measures) from each of these BlItems.
    Please help.
    Regards,
    Ashwani.

  • Extract Hierarchies in BO 4.1 WEBI using Java Restful Webservice

    Hi ,
    We are using Bo4.1 SP3.
    Whether can we extract hierarchies from web intelligence report?
    Whether there is any URL to extract hierarchies?
    Regards,
    Kavitha S

    Hi Anthony,
    Sorry for late reply.
    Thanks for your reply.
    I got hierarchies by using below URL
    GET <webiURL>/documents/{documentId}/links/{linkId}
    Regards,
    Kavitha S

  • Monitor Database Transaction on the web in realtime using JAVA .

    Dear All,
    ...... I am new with JAVA .....
    I have the INFORMIX database runs on IBM AIX server.
    There are some tables getting alarm from some Network Equipment in a network.
    ...... I need to show all transactions that inserted to INFORMIX database on the web in realtime using JAVA.
    Could you please guide me how to do that?.
    A million thanks.
    Anthony.

    Use database logging... see Informix documentation for this.
    (I assumed you used Informix Dynamic Server)

  • How to get the filters of Webi document/Report using Java code in XI SDK.

    Hi All,
       I have a requirement where i have to extrcat filters from the Webi Document.using java SDK.
    I am trying to find the class called "filterable"but not able to use in my java code and will get always
    "java.lang.ClassCastException  com.businessobjects.wp.om.OMDocument cannot be cast to com.businessobjects.rebean.wi.Filterable"
    I am using the below java code like
    ReportElement re=document.getStructure()
    FilterContainer flt=((Filterable) re).getFilter()
    I am stuck and need this in uregent.
    Please help.

    Hi Rajeev,
    To retrieve a FilterContainer you will need to traverse the report structure:
    ReportStructure boReportStructure = boDocumentInstance.getStructure();
    ReportContainer boReportContainer = (ReportContainer) boReportStructure.getReportElement(0);
    FilterContainer boFilterContainer = null;
    if (boReportContainer.hasFilter()) {
         boFilterContainer = boReportContainer.getFilter();
    } else {
         boFilterContainer = boReportContainer.createFilter(LogicalOperator.AND);
    Calling boDocumentInstance.getStructure() will retrieve the entire structure for the document.
    Calling boReportStructure.getReportElement(0) will retrieve the structure for the first report of the document.
    Hope this helps.
    Regards,
    Dan

  • Web dynpro application using java

    Hi Experts,
    I am new to netweaver . I developed one web dynpro application in  NWDI  but input fields are disabled on screen .
    please suggest reason why it is happend.
    Thanks,
    Santosh.

    Hi Santosh,
    Once you create the input fields in NWDS you need to bind input field with context attribute to enable in the display screen.
    Refer to this Re: Calendar UI element in NWDS and also refer to Tutorials & Samples for Web Dynpro Java [original link is broken]
    Hope it helps
    Regards
    Arun
    Edited by: Arun Jaiswal on May 4, 2010 12:19 PM

  • Design Choices in a Web-only Application Using Java Persistence - Question!

    Hi,
    Is it possible to use both container and application managed entity manager factories in the same web-only application?
    It is not working for me....
    I have an application that is using container managed (injected) emf and also an application managed emf. The behavior I see is that updates from the application managed emf are not being persisted to the database but it can query properly. The container managed emf works normally.
    However, there is no error for the application managed emf. Maybe this is because I am using hypersonic in my test environment?

    Duh, forgot to joinTransaction in the app managed emf
    Edited by: edge1 on Aug 20, 2008 10:42 PM

  • Invalid SOAP action when using java ws WebService

    Hi all,
    this is a slightly more detailed error for a problem i posted recently. I am connecting to a web service that was generated from WSDL. It has two methods "HelloWorld" and "HelloSayFirstName". As defined in the WSDL, the methods use the SOAP action document style. I want to add a cookie to the http header, so after the port is created, I use the following to add the header to the requestContext:
              BindingProvider bindingProvider = (BindingProvider) servicePort;
              Map<String, Object> requestContext = bindingProvider.getRequestContext();
              List<String> cookies = new ArrayList<String>();
              cookies.add("mycookie=mytoken");
              HashMap<String, List<String>> httpHeaders = new HashMap<String, List<String>>();
              httpHeaders.put(HTTPConstants.HEADER_COOKIE, cookies);
              requestContext.put(MessageContext.HTTP_REQUEST_HEADERS, httpHeaders);
    This works when I call the first method (HelloWorld) - the first activity message sent to the server contains the following:
    <HttpRequest>
    <Method>POST</Method>
    <QueryString></QueryString>
    <WebHeaders>
    <Cache-Control>no-cache</Cache-Control>
    <Connection>keep-alive</Connection>
    <Pragma>no-cache</Pragma>
    <Transfer-Encoding>chunked</Transfer-Encoding>
    <Content-Type>text/xml; charset=UTF-8</Content-Type>
    <Accept>*</Accept>
    <Cookie>mycookie=mytoken</Cookie>
    <Host>exampleHost</Host>
    <User-Agent>Java/1.5.0_14</User-Agent>
    <SOAPAction>"http://tempuri.org/IMyService/HelloWorld"</SOAPAction>
    </WebHeaders>
    </HttpRequest>
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <s:Header xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <To s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">http://exampleHost/WebServices/WCFService/Service.svc</To>
    <Action s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">http://tempuri.org/IMyService/HelloWorld</Action>
    </s:Header>
    <soap:Body>
    <HelloWorld xmlns="http://tempuri.org/" xmlns:ns2="http://schemas.datacontract.org/2004/07/" xmlns:ns3="http://schemas.microsoft.com/2003/10/Serialization/">
    <myValue1>world</myValue1>
    </HelloWorld>
    </soap:Body>
    </soap:Envelope>
    However, after this method, the httpHeaders in the requestContext object have been updated to include the "Accept" header and the "SOAPAction" header - which is the incorrect action! Now, when I call the method "HelloSayFirstName" I get the following:
    <HttpRequest>
    <Method>POST</Method>
    <QueryString></QueryString>
    <WebHeaders>
    <Cache-Control>no-cache</Cache-Control>
    <Connection>keep-alive</Connection>
    <Pragma>no-cache</Pragma>
    <Transfer-Encoding>chunked</Transfer-Encoding>
    <Content-Type>text/xml; charset=UTF-8</Content-Type>
    <Accept>*</Accept>
    <Cookie>mycookie=mytoken</Cookie>
    <Host>exampleHost</Host>
    <User-Agent>Java/1.5.0_14</User-Agent>
    <SOAPAction>"http://tempuri.org/IMyService/HelloWorld"</SOAPAction>
    </WebHeaders>
    </HttpRequest>
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <s:Header xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <To s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">http://exampleHost/WebServices/WCFService/Service.svc</To>
    <Action s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">http://tempuri.org/IMyService/HelloWorld</Action>
    </s:Header>
    <soap:Body>
    <HelloSayFirstName xmlns="http://tempuri.org/" xmlns:ns2="http://schemas.datacontract.org/2004/07/" xmlns:ns3="http://schemas.microsoft.com/2003/10/Serialization/">
    <dataContractValue></dataContractValue>
    </HelloSayFirstName>
    </soap:Body>
    </soap:Envelope>
    It seems that the SOAPAction in the http header and the soap header is incorrect. Is there any reason why the requestContext would keep hold of the action that was previously called, and not use the new action? I'm stumped here - any help would be greatly appreciated.
    Cheers.

    Does not only happen when using JAX-WS.
    the following servlet code is enough to reproduce the problem :
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setContentType("text/xml;charset=\"utf-8\"");
    It only occurs on 10.1.3.4.0 (works fine on 10.1.3.3.0 and 11.1.1.1.0 TP4)
    Regards

  • Creating aVirtual directory Using java

    Hai ,
    I am Using windows XP Operating system, I know how to create a directory using java,
    can you please suggest me a procedure to create a virtual(web share ) directory using java.
    waiting for your reply
    Thanks & Regards,
    Naga Raju

    Virtual Programmer is in the to share the directory
    over the Internet.No, that's a file/web server. :) I see, it's a Microsoft term.

  • Free source code to firewall using java

    help me to develop a firewall like package as well as web information filter using java code

    If there was a FAQ for this forum question 1 would be as follows.
    Question : How do I build a firewall in Java?
    Answer: You can't. The Java Networking API does not provide the access required to OS networking components neccessary for building a firewall. You will HAVE to use JNI. You should also reconsider your project because Java is not a suitable language for firewall building.

  • Report data ( value ... tag) missing in the Webi report retrieved through RestFul Webservice

    I am trying the below URL to get the WEBi report from SAP BO using the Rest Webservice support that is now available.
    http://{serverIP:serverPort}/biprws/raylight/v1/documents/{documentId}
    I am able to get the report but as I compare the same report response when using SAOP Webservice, there seems to be a mismatch in the response. Here is what I see in the SOAP response:
    </td><td c="1" ><cell  ref="1.E.4t" bid="14" h="26" w="231" pad="6,7" sid="-10"><ct >Some arbitrary value</ct><value type="xs:string">Some arbitrary value</value></cell>
    But when I run it through REST, I am missing the <value ..> tag:
    </td><td c="1" ><cell  ref="1.E.4t" bid="14" h="26" w="231" pad="6,7" bt="1" sid="-10"><ct >Some arbitrary value</ct></cell>
    Apart from this right at the start of the xml response, I see some property mismatch as well.
    SOAP has this property extra:
    <property name="output.format.xml.valuemode">yes</property>
    While REST has these property extra:
    <property name="output.format.xml.option.style">1</property>
    <property name="output.format.xml.styledict.fontplatform">html</property>
    <property name="output.format.xml.td.bandinfo">yes</property>
    <property name="source.selected">data</property>
    <property name="xelement.xml.object">yes</property>
    <property name="xelement.xml.object.usemap">yes</property>
    <property name="xelement.xml.object.usersupportedformat">image/png</property>
    I am not sure if:
    the <value ...> tag miss is because of these missing/extra properties or
    current REST support has some issues
    For my application the value tag is a must and I can't do without this, but with REST it seems no way to obtain that.
    Any help or pointer(s) in this regard is appreciated!

    Hello Milind,
    According to our Product Owner Sam Polichouk, the solution should be available for you in 4.1 SP3, which is currently scheduled for release by the end of March 2014 (subject to change).  The product team recommends that you get the raw, unformatted data values from within the Dataset specific call.  This data contains a type to tell the end user what kind of data it is, so you can format it or use it properly.
    The updated documentation for the SDK will be available at SAP BusinessObjects Business Intelligence platform 4.1 – SAP Help Portal Page once the Support Pack is publicly released.

  • Custom classloader fails when using Java Web Start

    Hope you can help me with a problem that is driving me nuts. I have implemented my own classloader to support plugins. This classloader works as follows:
    1. The classloader is configured to access a plugin components jar file downloaded by jws.
    2. The plugin components jar file contains other jar files which contains the actual plugin code to be loaded using my own classloader.
    3. Upon initialization - my classloader extracts all jar files contained in the plugin components jar file into temporary files.
    4. These temporary files are used by my classloader when defining plugin classes.
    The classloader works fine when not using java web start. Then I launch the application using java web start with security policy in .jnlp file set to:
    <security>
    <all-permissions/>
    </security>
    After a while (it was able to load some of the classes) it fails with the following stack-trace:
    Regards,
    Terje
    java.security.AccessControlException: access denied (java.io.FilePermission C:\DOCUME~1\TEOES\LOCALS~1\Temp\activity61102.jar read)
         at java.security.AccessControlContext.checkPermission(Unknown Source)
         at java.security.AccessController.checkPermission(Unknown Source)
         at java.lang.SecurityManager.checkPermission(Unknown Source)
         at java.lang.SecurityManager.checkRead(Unknown Source)
         at java.util.zip.ZipFile.<init>(Unknown Source)
         at java.util.jar.JarFile.<init>(Unknown Source)
         at java.util.jar.JarFile.<init>(Unknown Source)
         at my.plugin.ActivityClassLoader.getJarFileEntry(ActivityClassLoader.java:258)
         at my.plugin.ActivityClassLoader.search(ActivityClassLoader.java:244)
         at my.plugin.ActivityClassLoader.loadClass(ActivityClassLoader.java:99)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    Does anyone have source code for implementing a simple class loader that can be used with Java Web Start (preferrably with all jar files to be used by the classloader wrapped into a jar file)

    If you implement your own classloader, and then still run with a SecurityManager installed, then your ClossLoader is responsible for asigning the permissions to the code it loads.
    You need your ClassLoader to extend SecureClassLoader, and implement the method :
    SecureClassLoader.getPermissions(CodeSource cs) to return the PermissionCollection you want.
    /Andy

  • Problem with CORBA application deployed using Java Web Start 1_6_0.

    Java Web Start fans and experts:
    We have been using Java Web Start to deploy the client side of a CORBA-based application since the inception of Java Web Start ... including Java Web Start 1.0 right up through the present.
    With Java Web Start 1_6_0, we see evidence that Web Start is "tinkering with" the IOR that CORBA uses to communicate. In all previous versions of Java Web Start, independent of the JRE which the application uses, the stringified IOR have been the same size regardless of whether the application is deployed locally or via Java Web Start. With Java Web Start 1_6_0, the stringified IOR is much longer than the "real" IOR (again, regardless of the JRE used by the application itself). To me this smells like a bug in Java Web Start 1_6_0. Has anyone else observed this behavior?
    Here are some specifics .... I've run the same client application with various JREs both with and without Java Web Start as the deployment mechanism. The application was compiled and runs against servers that are running JDK 1_5_0_09.
    Here is the summary of my results from a Linux box running various JREs, various versions of Java Web Start, and also running as a non-JWS deployed application. I've listed the length of the stringified IOR in each case.
    JRE 1.5.0 non-JWS client: stringified IOR length = 344
    JRE 1.6.0 non-JWS client: stringified IOR length = 344 ... this, I think, excludes the JRE as the cause of these problems.
    Java WS 1.5.0, JRE 1.5.0 JWS client: stringified IOR length = 344
    Java WS 1.5.0, JRE 1.6.0 JWS client: stringified IOR length = 344
    Java WS 1.6.0, JRE 1.6.0 JWS client: stringified IOR length = 1568
    Java WS 1.6.0, JRE 1.5.0 JWS cleint: stringified IOR length = 1568
    In all cases, the stringified IOR length is determined by the service receiving the message and is always running JRE 1_5_9_09 and is
    always the same 344 characters in length UNLESS it was deployed
    using Java Web Start 1_6_0, in which case it in nearly 5 times as big!
    To me, it sure looks as if there is a problem with Java Web Start 1_6_0 to be adding so much to the stringified IOR. Note: it's hard to tell how different the underlying IOR is in the JWS 1_6_0 case because, unlike most other ORBs, the Sun ORB doesn't have a tool to extract the IOR into a human readable structure. However, I can think of no good reason why the identical application deployed using Java Web Start 1_6_0 should have a stringified IOR length that is different than that of the same application deployed in non-JWS form or should differ from the behavior seen in all previous releases of Java Web Start.
    Any clues or suggestions? Has anyone else observed this behavior?
    Thanks,
    John

    Hi.
    I got a different problem. My Corba application works in JRE 1.6, but doesn't works in JRE 1.5.X. I got an unexpected error and my console shows:
    getSubjectX500Principal NoSuchMethodError: java.lang NoSuchMethodError
    #### Java Web Start Error:
    #### null
    Can you help me?

  • How to extract payload data from SOA database schema using Java

    I am trying to extract the payload data and output as XML text files using Java. Seems that is stored in SOA table XML_DOCUMENT. I am trying the following Java code to get started and it's not working as I would expect. I only get a few actual lines of output and, when I do, I only get the *<?xml version ... ?>* line.
    I appreciate any advice to extract the payload data from the database. Ultimately I will want to include the composite instance ID in the SQL but for now I'm just using the code shown here:
    OracleDataSource ods = new OracleDataSource();
    ods.setURL("soa_db_connection_string");
    ods.setUser("soa_db_user_id");
    ods.setPassword("soa_db_password");
    Connection conn = ods.getConnection();
    String sql = "select document from xml_document where rownum < 10";
    OraclePreparedStatement stmt = (OraclePreparedStatement)conn.prepareStatement(sql);
    DBBinXMLMetadataProvider dbrep = BinXMLMetadataProviderFactory.createDBMetadataProvider();
    dbrep.setConnectionPool(ods);
    dbrep.associateDataConnection(conn);
    OracleResultSet rset = (OracleResultSet)stmt.executeQuery();
    XMLDOMImplementation domimpl = new XMLDOMImplementation();
    BinXMLProcessor proc = BinXMLProcessorFactory.createProcessor(dbrep);
    while (rset.next()) {
         Blob blob = rset.getBlob("DOCUMENT");
         BinXMLStream inpbin = proc.createBinXMLStream(blob);
         BinXMLDecoder dec = inpbin.getDecoder();
         InfosetReader xmlreader = dec.getReader();
         XMLDocument doc = (XMLDocument)domimpl.createDocument(xmlreader);
         doc.print(System.out);
    }

    I found a method using a slight variation of the code I originally posted. Essentially you remove the DBBinXMLMetadataProvider dbrep portion. I believe, with this included, the XML being extracted is validated against the database (which is referenced as a "metadata provider"). Since the SOA schema doesn't seem to contain the information to validate the XML it returns as blank. If you don't include the dbrep portion then the XML is extracted as desired.
    OracleDataSource ods = new OracleDataSource();
    ods.setURL("soa_db_connection_string");
    ods.setUser("soa_db_user_id");
    ods.setPassword("soa_db_password");
    Connection conn = ods.getConnection();
    String sql = "select document from xml_document where rownum < 10";
    OraclePreparedStatement stmt = (OraclePreparedStatement)conn.prepareStatement(sql);
    OracleResultSet rset = (OracleResultSet)stmt.executeQuery();
    XMLDOMImplementation domimpl = new XMLDOMImplementation();
    BinXMLProcessor proc = BinXMLProcessorFactory.createProcessor();
    while (rset.next()) {
         BLOB blob = rset.getBLOB("DOCUMENT");
         BinXMLStream inpbin = proc.createBinXMLStream(blob);
         BinXMLDecoder dec = inpbin.getDecoder();
         InfosetReader xmlreader = dec.getReader();
         XMLDocument doc = (XMLDocument)domimpl.createDocument(xmlreader);
         doc.print(System.out);
    }

  • Can we use Java Script in SAP BusinessObjects Web Intelligence 4.1?

    Can we use Java Script or any other Script in BI 4.1 Web Intelligence? If possible please do let me know the method/process

    Hi Kranthi,
    You have option to read a cell content as html. else you will have to go for SDK. I think you will get better suggestions, if you can explain your requirement in a little detailed manner.
    refer below links for more details about SDK.
    http://bukhantsov.org/2013/04/how-to-create-a-webi-document-using-java-report-engine-sdk/
    Regards,
    Nikhil Joy

Maybe you are looking for

  • Opening a pdf file from safari

    Hello! I am having trouble opening a pdf file (I installed Adobe 10.1) over the internet from my laptop (OS X Lion 10.7.2) Any solutions? Thanks so much. You are awesome

  • Jarsigner finding .p12 certs created by flash cs5 as 'wrong format' ??

    I have created an app using flash cs5 and a self signed cert using flash cs5 I now must decompile the app, change the app id and recompile it. Then sign it using jarsigner. The problem I have is that when I point jarsigner to the cert I used it says

  • IPod touch wifi question + iTunes wireless store question

    I have a wireless b/g connection at my house. I have 64 bit WEP encryption on my router. If I get an iPod touch, will it allow me to type in the code so I can connect to the internet? Next, if I activate an iTunes gift card on my pc, will I be able t

  • A Thought on FAQ's and Other Things

    I've been spending some time on the PE forum, since I added that program to my toolbox. Besides the FAQ's, which have been partially redone, since the forum changeover lost all of the old ones, but the MOD there, Steve Grisetti, there is also a Tip &

  • Scan directly into Adobe

    I just setup a new workstation with Adobe 8 Standard. When you create a PDF from scanner, it prompts you to save the file first. I have to save the file and then continue on. It then opens in Adobe. In previous versions this step was not needed, it w