Report Bursting with RESTful Web Services SDK

Hi,
We are looking to upgrade to BI 4.x from BI 3.1.  We are not sure whether RESTful Web Services SDK is the way to go.  We have a requirement where we need to be able to refresh a report, save the whole report content to a specified forma for a team lead/manager, and then section/burst each report to separate files that each is corresponding to the individual employee.  In other words, for example, we have a team constent of 1 manager and 4 employees.  We want to save one report for the manager with all the content from the 4 employees, and then 4 individual reports that each belong to each employee.  We current have a macro code that does this in BI 31 refreshing Deski reports.  We want to upgrade to BI 4.X, but the Deski and macro are no longer supported.  The macro in BI 3.1 we used to control when to refresh, where to save the reports and update our external datasource that the reports finished refreshing and available for view.  We want to keep the same functionality so that it is not a whole redesign of the system when the upgrade happens.  Thank you so much for your help.  Any sample code, tips and guides are helpful.  I am looking to prototype first before I can confirm this will work when upgrading.  I have a code snippet in macro (VBA) from BI 3.1 in the attached file for reference if you know of the equivalent.

Hi Raghunath,
Looking at your macro, most of the functionality would be available with REST SDK. With BI 4.x REST is now only SDK which provides APIs to work with webi report. With .NET or Java SDK we could not eeven schedule a webi doc with prompts.
With BI 4.1 REST APIs include.
refresh report, schedule report, save report, export which is done by your macro.
For detailed tasks, such as saving and modifying the report for specific users and send to schedule, you would need to play around with REST Urls to understand the workflow.
For starters take a look at the devleopers guide for REST here:
http://help.sap.com/businessobject/product_guides/sbo41/en/sbo41_webi_restful_ws_en.pdf
Here is the doc which compares the availability of SDK APIs with different BI versions.
http://scn.sap.com/docs/DOC-53285
For any Enterprise level tasks, you could always use .NET or Java enterprise SDk and comibe it with your REST app.
- Bhushan
Senior Engineer
SAP Active Global Support
Follow us on Twitter
Got Enhancement ideas? Try the SAP Idea Place

Similar Messages

  • Is it possible to add a user using the RESTful Web Services SDK

    Others have asked before about user management features in the RESTful Web Services SDK.  However I can find no answers or links which provide an answer to the question 'Is it possible to add a user using the BI 4.1 SP2 RESTful Web Services SDK'?
    Any help would be appreciated.
    Regards,
    Steve

    Hi Steve
    Unfortunately, not possible. The BI RESTful can only get "stuff" that is already there. I suppose this would fall under some sort of "Object Creation" API and that is not there. Yet. Rumors abound, but nothing firm. Just as a BTW.; the Business Intelligence platform RESTful Web Service Developer Guide 4.1 is here:
    http://help.sap.com/businessobject/product_guides/sbo41/en/sbo41_bip_rest_ws_en.pdf
    SAP Web Intelligence RESTful web service SDK User Guide, SAP BusinessObjects Business Intelligence platform 4.1
    SAP Crystal Reports RESTful web services - SAP Crystal Reports RESTful web services
    - Ludek
    Senior Support Engineer AGS Product Support, Global Support Center Canada
    Follow us on Twitter

  • How to update the Query of an existing WEBI document's dataprovider, through the RESTful Web service SDK.

    Hi,
    I am trying to update the Query of an existing WEBI document's dataprovider, through the RESTful Web service SDK.
    For this, first i will get the Dataprovider information,
    Example:
    URI: http://localhost:6405/biprws/raylight/v1/documents/11111/dataproviders/DP0
    Expected result;
    <dataprovider>
         <id>DP0</id>
         <name>Query 1</name>
         <dataSourceId>1234</dataSourceId>
         <updated>2014-04-18T11:55:21.000-08:00</updated>
         <duration>1</duration>
         <isPartial>false</isPartial>
         <rowCount>113</rowCount>
         <flowCount>11</flowCount>
         <dictionary>
              <expression qualification="Dimension" dataType="String">
                   <id>DP0.DO1</id>
                    <name>EmpID</name>
                   <description>Employee ID.</description>
                    <dataSourceObjectId>DS0.DO1</dataSourceObjectId>
              </expression>
              <expression qualification="Dimension" dataType="String">
                   <id>DP0.DO2</id>
                   <name>EmpName</name>
                   <description>Employee Name.</description>
                   <dataSourceObjectId>DS0.DO2</dataSourceObjectId>
              </expression>
         </dictionary>
         <query>SELECT Employee.EmpID, Employee.EmpName FROM Employee</query>
    </dataprovider>
    Then Changing the above dataprovider's Query to some thing like below,
    <query>SELECT Employee.EmpID, Employee.EmpName FROM Employee where Upper(Employee.EmpName)='RAJ'</query>
    Please let me know the RESTful Call required to do this.
    Thanks in advance.
    Thanks,
    Mahendra.

    FYI, the output of this call returns something like:
    <?xml version="1.0" encoding="UTF-8"?> 
    <queryplan>
        <union>
            <fullOuterJoin>
                <statement index="1">SELECT 'FY' || to_char(SALES.invoice_date,'yy'), count( distinct SALES.inv_id) FROM SALES GROUP BY 'FY' || to_char(SALES.invoice_date,'yy')</statement>
                <statement index="2">SELECT 'FY' || to_char(SALES.invoice_date,'yy'), sum(INVOICE_LINE.nb_guests) FROM SALES, INVOICE_LINE, SERVICE_LINE, SERVICE WHERE ( SALES.INV_ID=INVOICE_LINE.INV_ID ) AND ( INVOICE_LINE.SERVICE_ID=SERVICE.SERVICE_ID ) AND ( SERVICE.SL_ID=SERVICE_LINE.SL_ID ) AND ( SERVICE_LINE.service_line = 'Accommodation' ) GROUP BY 'FY' || to_char(SALES.invoice_date,'yy')</statement>
            </fullOuterJoin>
            <fullOuterJoin>
                <statement index="3">SELECT 'FY' || to_char(SALES.invoice_date,'yy'), count( distinct SALES.inv_id) FROM SALES GROUP BY 'FY' || to_char(SALES.invoice_date,'yy')</statement>
                <statement index="4">SELECT 'FY' || to_char(SALES.invoice_date,'yy'), sum(INVOICE_LINE.days * INVOICE_LINE.nb_guests * SERVICE.price) FROM SALES, INVOICE_LINE, SERVICE WHERE ( SALES.INV_ID=INVOICE_LINE.INV_ID ) AND ( INVOICE_LINE.SERVICE_ID=SERVICE.SERVICE_ID ) GROUP BY 'FY' || to_char(SALES.invoice_date,'yy')</statement>
            </fullOuterJoin>
        </union>
    </queryplan>

  • Composite Application with RESTful Web Services

    Hello!
    Is it possible to build Composite Application with RESTful Web Services only. I use Glassfishe 2.1 and OpenESB 2.1.
    Can you point me on some tutorials on the net to read about using RESTful Web Services in BPEL?

    Hi Gabriel,
    Let me try to answer some of your questions:
    1) The "Requires Secure Access" attribute of a resource handler controls whether this handler must be accessed/consumed only over SSL (HTTPS). Oracle Database Cloud Schema Service is only offered over SSL, so this attribute does not have any effect on RESTful services deployed in this environment (because secure access is always required and there is no other way). That said, if you want to access such web service from your own APEX instance, your instance must have Oracle Wallet configured with appropriate SSL certificate.
    2) The URI parameters are not required. If your web service returns data for many entities (for example, list of employees in employees/), you may not need a parameter. If your web service returns data for one specific entity (for example, details of one employee in employees/{id}), you may want to identify that entity with a URI parameter.
    3) You can have many URI parameters, for example: customers/{id}/orders/{order_id}.
    4) Yes, these are the same HTTP methods/verbs you would use from PHP.
    5) If you are trying this POST example from your own APEX instance (not Oracle Database Cloud Schema Service) and you are trying to access a web service over SSL, then it is likely that the Oracle Wallet used by your instance does not include the required SSL certificate(s), or the Oracle Wallet is not configured at all.
    6) I recommend to check RESTful Web Services for the Oracle Database Cloud white paper and Oracle REST Data Services Developers Guide. Oracle REST Data Services is the technology that enables RESTful services in the Oracle Database Cloud Schema Service.
    You can certainly create your own web services in the Oracle Database Cloud Schema Service and consume them from the same environment.
    Vlad

  • Where is the Restful web services sdk?

    I'm confused as to where to get this SDK, is it part of
    51046777_2
    SBOP BI PLATFORM 4.1 SP1 ENTER .NET SDK RUNTIME WINDOWS
    or is it contained in a different package somewhere?
    If you know where to get it, let me know, thanks in advance.
    Matt

    Hi Matt,
    Please search before posting, a lot of information is available on the forum.
    Take a look at these docs.
    http://scn.sap.com/docs/DOC-40754
    http://scn.sap.com/community/restful-sdk/blog/2012/11/22/sap-bi-platform-restful-web-service-sdk-demos
    http://help.sap.com/businessobject/product_guides/sbo41/en/sbo41_webi_restful_ws_en.pdf
    REST service is a part of BI Server installer.
    - Bhushan
    Senior Engineer
    SAP Active Global Support
    Follow us on Twitter
    Got Enhancement ideas? Try the SAP Idea Place

  • Refreshing a document with Restful Web Services

    Hello,
    I want to refresh a document with Restful Web Services. The document is based on a BEx query with a date variable, which is set as a prompt.
    In order to refresh I send a PUT request like:
    PUT <webiURL>/documents/{documentId}/parameters
    and add the parameter, which is the prompt variable, to the body:
    {"parameters":{"parameter":[{"id":0,"answer":{"@type":"Date","values":{"value":"2014-07-01T00:00:00.000+00:00"}}}]}}
    Then I get a result like:
    {"success":{"message":"The resource of type 'Document' with identifier '1234' has been successfully updated.","id":1234}}
    Now I assume that the document is refreshed. However if I now read the properties with:
    GET <webiURL>/documents/{documentId}/properties
    the lastrefreshtime is not changed.
    Has anybody an idea what happens during a refresh and what is updated?
    Kind regards,
    Michael

    Hi,
    I have analyzed that the refresh seems to be only valid for the current session. This means, if I logon, refresh the document and determine the properties, I get the new refresh time.
    However, if I logoff, I still get the old refresh time. So the refresh is lost or only valid for a session.
    Is this the default behaviour?
    Regards,
    Michael

  • Report Repointing using RESTful Web Services

    With respect to this link: Changing Dataproviders for a Webi Report using RESTful Web Services
    Cosider the following scenario:
    You have an automation code using which, you accepts 20 report id and their respective Current universe id and New universe id.
    If suppose, you have user input prompts in 10 reports and you don't know those 10 reports, how will you provide values to those prompts at a single execution of the code?
    OR
    Is there any function using which you can provide associated random value to those prompts?

    Hi Raghunath,
    Looking at your macro, most of the functionality would be available with REST SDK. With BI 4.x REST is now only SDK which provides APIs to work with webi report. With .NET or Java SDK we could not eeven schedule a webi doc with prompts.
    With BI 4.1 REST APIs include.
    refresh report, schedule report, save report, export which is done by your macro.
    For detailed tasks, such as saving and modifying the report for specific users and send to schedule, you would need to play around with REST Urls to understand the workflow.
    For starters take a look at the devleopers guide for REST here:
    http://help.sap.com/businessobject/product_guides/sbo41/en/sbo41_webi_restful_ws_en.pdf
    Here is the doc which compares the availability of SDK APIs with different BI versions.
    http://scn.sap.com/docs/DOC-53285
    For any Enterprise level tasks, you could always use .NET or Java enterprise SDk and comibe it with your REST app.
    - Bhushan
    Senior Engineer
    SAP Active Global Support
    Follow us on Twitter
    Got Enhancement ideas? Try the SAP Idea Place

  • How to schedule Webi Documents with Prompts with RESTful Web Services

    Hello,
    I am trying to schedule Webi Documents with Prompts using RESTful Web Services with prompts. I am using Simple Rest Client app provided by Google Chrome. We have Business Objects SP6 Patch 1.
    However the documentation for RESTful Web Services has only examples for the following
    1. Schedule Documents without any Prompts to various destinations and recurrences.
    2. Refresh Documents with Prompts.
    Is there any example for scheduling documents with prompts? Please advise
    Thanks in advance

    Hi Peter,
    With Rest Client, on BI4.0 SP6, you can schedule Webi documents with prompts using the following:
    URL: http://<servername>:6405/biprws/raylight/v1/documents/<docid>/schedules
    Method:POST
    Request Body:
    <schedule>
    <name>Enter values for City:</name>
    <format type="webi"/>
    <destination>
    <inbox/>
    </destination>
    <once retriesAllowed="2" retryIntervalInSeconds="60">
    <startdate>2013-08-26T15:58:51.000+02:00</startdate>
    <enddate>2013-08-27T15:58:51.000+02:00</enddate>
    </once>
    <parameters>
    <parameter optional="false" type="prompt" dpId="DP0">
    <id>0</id>
    <technicalName>Enter values for City:</technicalName>
    <answer constrained="false" type="Text">
    <values>
    <value>Austin</value>
    </values>
    </answer>
    </parameter>
    </parameters>
    </schedule>
    Using the above request you can schedule the Webi document with prompts to inbox destination  and set for once.
    The schedule can be sent in different formats to several destinations and set just for once, daily,
    hourly or monthly.
    You can also check the example for this on page 275 of SAP Webi RESTful SDK user guide for BI4.0 SP6 below:
    http://help.sap.com/businessobject/product_guides/boexir4/en/xi4sp6_webi_restful_ws_en.pdf
    Regards,
    Swati
    Message was edited by: Swati Ikhe

  • Problem with BO Web Services SDK.

    Hello, We are developing a reporting framework using BO Enterprise where different types of reports are available to external users. We are trying to use the Web Services SDK so that CR, WEBI and even Xcelcius reports can be made available. We have the WS installed on the BO enterprise and we can view the WSDL for all the services.
    I am able to use the API to establish the connection:
    BusinessObjects.DSWS.Connection boConnection = new BusinessObjects.DSWS.Connection("http://linux1608.icallinc.com:7070/dswsbobje/services/session");
    Establish the session:
    wSession = new BusinessObjects.DSWS.Session.Session(boConnection);
    wSession.Login(credential);
    Successfully login:
    wSession.Login(credential);
    Successfully establish the BIPlatform and ReportEngine objects:
    bipService = new BIPlatform(boConnection, wSession.ConnectionState);
    boRepEng = new ReportEngine(boConnection, wSession.ConnectionState);
    The problem occurs when using the BIPlatform to Get an InfoObject. 
    ResponseHolder reportRH = bipService.Get path:////Conference, null);
    Error:
    "An XSD Exception occurred. (Error: WBP 42029)"
    CallStackTrace = "com.businessobjects.sdk.biar.exception.XSDException$XSDResourceNotFoundException: The resource 'zip:/usr/local/bea/user_projects/domains/BO_SWN_DEV_DOMAIN/servers/BO_SWN_DEV_SRVR/tmp/_WL_user/dswsbobje/thikq6/war/WEB-INF/lib/_wl_cls_gen.jar!/META-INF/xsd/'...
    The name of the report is: Conference Details and itu2019s in a folder u201CCRS Prototype Reportsu201D under Public Folders. I have tried the following variations on the PATH parameter:
    path://InfoObjects/Root Folder/**/Conference Details
    path://InfoObjects/Root Folder/CRSPrototype Reports/Conference Details
    path:////Conference
    Please note the when I use an improper folder name it does return the appropriate exception.
    Could it be the WS SDK is not properly installed or configured? Thanks in advance for your help.

    We have similar situation: when we use the following search path with one * at the end the report list returns less than 30sec.
    Searching path://InfoObjects/Root Folder/SALES Reports/*...
    But when we do a recursive search on this folder with 2 ** at the end it times out. Searching path://InfoObjects/Root Folder/SALES Reports/**...
    In the log file we see this error when it times out:
    org.apache.axis2.AxisFault: Read timed out
    Environment:
    We are on UNIX Sun Solaris OS, XI 3.1, JAVA SDK, Tomcat/Apache
    Any idea?
    Thank You

  • Problem with RESTful web service

    I am running into a problem with Flex Web Services (REST) in trying to get the proper format returned. I can see that the HTTP header is set to
    Accept: */*;
    rather than
    Accept: application/xml
    when sending the request. The web service was generated via the web services HTTP data services wizard. I edited it to set the resultFormat to xml
        // Constructor
        public function _Super_UsersService()
            // initialize service control
            _serviceControl = new mx.rpc.http.HTTPMultiService();
             var operations:Array = new Array();
             var operation:mx.rpc.http.Operation;
             var argsArray:Array;
             operation = new mx.rpc.http.Operation(null, "getUsers");
             operation.url = "http://localhost:8888/users";
             operation.contentType = "";
             operation.method = "GET";
             operation.resultFormat = "xml";
             //operation.serializationFilter = serializer0;
             operation.properties = new Object();
             operation.properties["xPath"] = "/";
             operation.resultType = valueObjects.Users;
             operations.push(operation);
             _serviceControl.operationList = operations; 
             model_internal::initialize();
    How does one configure the accept header?

    Hi,
    I have posted a simple application with the RESTful reference:
    http://apex.oracle.com/pls/apex/f?p=13758
    I can give you full privileges on this so you can look at the WEB service reference. Shall I send to you separately for login user?
    It is using the RESTful service: http://apex.oracle.com/pls/apex/nd_pat_miller/demo/employee/{deptno}
    This RESTful service tests fine when I test from within the RESTful web service module of the Workspace.
    I based this on the Video demo tutorial for RESTful web service that Oracle published for 4.2 release. The video seemed to exclude the {deptno} in the URL but when I try that, it doesn't work either.
    This is the error I am getting when I run this on my Apex environment: (it, of course, will not run the web service in the apex.oracle.com environment)
    class="statusMessage">Bad Request</span>                                         
    </h3>                                         
    </div>                                         
    </div>                                         
    <div id="xWhiteContentContainer" class="xContentWide">                                         
    <div class="xWhiteContent">                                         
    <div class="errorPage">                                         
    <p>                                         
    <ul class="reasons"><li class="badRequestReason"><span class="target" style="display:none;">uri</span><span class="reason">Request path contains unbound parameters: deptno</span></li>                                    
    </ul>Thanks,
    Pat
    Edited by: patfmnd on May 8, 2013 3:33 AM

  • Basic auth with RESTful WEb service and Web Service reference

    Hi, All,
    We have made much progress on getting an application working wtih RESTful web services but now are trying to figure out how to lock down a RESTful Web service while making it available for a particular application.
    We are using one of the sample 'emp' table web services that come with Apex 4.2 and are trying to apply Basic Auth to the WEb Service via Weblogic filter defined in the web.xml file. That works fine. I now get challenged when I try to go to :
    https://wlogic.edu/apex/bnr/ace/hr/empinfo/
    And when I authenticate to that challenge I am able to get the data. (we are usiing LDAP authentication at the Weblogic level)
    However, I am not sure how to get same basic authentication to work with the Web Service reference in my application. I see the error message in the application when I try to call that Web Service:
    401--Unauthorized<
    And I see:
    "The request requires user authentication. The response MUST include a WWW-Authenticate header field (section 14.46) containing a challenge applicable to the requested resource. The client MAY repeat the request with a suitable Authorization header field (section 14.8). If the request already included Authorization credentials"
    How do I provide the credentials in the Web REference or do I provide credentials in the Application?
    Web service works fine if I remove the RESTful web service basic auth from the Web.xml file.
    Should we NOT use Weblogic basic auth and instead use basic auth from Workspace RESTful web service definition. If so, how do we implement THAT basic auth in the Web Service definition and in the Web SErvice Reference on the application?
    Thanks,
    Pat

    What I mean is diid you try to use the PL/SQL package for APEX webservice. Here is an example I use (modified and shortened, just to show how much better this is than to use it from the application).
    CREATE OR REPLACE PACKAGE webservice_pkg
    IS
       PROCEDURE create_webservice (
          p_id            IN       NUMBER,
          p_message       OUT      VARCHAR2,
          p_workspace     IN       VARCHAR2 DEFAULT 'MY_WORKSPACE',
          p_app_id        IN       NUMBER DEFAULT v ('APP_ID'),
          p_app_session   IN       VARCHAR2 DEFAULT v ('SESSION'),
          p_app_user      IN       VARCHAR2 DEFAULT v ('APP_USER')
    END webservice_pkg;
    CREATE OR REPLACE PACKAGE BODY webservice_pkg
    IS
       PROCEDURE set_credentials (
          p_workspace     IN   VARCHAR2,
          p_app_id        IN   NUMBER,
          p_app_session   IN   VARCHAR2,
          p_app_user      IN   VARCHAR2
       IS
          v_workspace_id   NUMBER;
       BEGIN
          SELECT workspace_id
            INTO v_workspace_id
            FROM apex_workspaces
           WHERE workspace = p_workspace;
          apex_util.set_security_group_id (v_workspace_id);
          apex_application.g_flow_id := p_app_id;
          apex_application.g_instance := p_app_session;
          apex_application.g_user := p_app_user;
       END set_credentials;
       PROCEDURE create_webservice (
          p_id            IN       NUMBER,
          p_message       OUT      VARCHAR2,
          p_workspace     IN       VARCHAR2 DEFAULT 'MY_WORKSPACE',
          p_app_id        IN       NUMBER DEFAULT v ('APP_ID'),
          p_app_session   IN       VARCHAR2 DEFAULT v ('SESSION'),
          p_app_user      IN       VARCHAR2 DEFAULT v ('APP_USER')
       IS
          v_envelope          VARCHAR2 (32000);
          v_server            VARCHAR2 (400);
          v_url               VARCHAR2 (4000);
          v_result_url        VARCHAR2 (1000);
          v_collection_name   VARCHAR2 (40)    := 'PDF_CARD';
          v_message           VARCHAR2 (4000);
          v_xmltype001        XMLTYPE;
       BEGIN
          v_url := v_server || '.myserver.net/services/VisitCardCreator?wsdl';
          FOR c IN (SELECT *
                      FROM DUAL)
          LOOP
             v_envelope :=
                   '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" '
                || 'xmlns:bran="http://www.myaddress.com">'
                || CHR (10)
                || '<soapenv:Header/><soapenv:Body>'
                || CHR (10)
                || '<parameter:'
                || 'some_value'
                || '>'
                || CHR (10)
                || '<bran:templateID>'
                || p_id
                || '</bran:templateID>'
                || '</soapenv:Body>'
                || CHR (10)
                || '</soapenv:Envelope>';
          END LOOP;
          set_credentials (p_workspace, p_app_id, p_app_session, p_app_user);
          BEGIN
             apex_web_service.make_request
                                         (p_url                  => v_url,
                                          p_collection_name      => v_collection_name,
                                          p_envelope             => v_envelope
             p_message := 'Some message.';
          EXCEPTION
             WHEN OTHERS
             THEN
                v_message :=
                      v_message
                   || '</br>'
                   || 'Error running Webservice Request. '
                   || SQLERRM;
          END;
          BEGIN
             SELECT    v_result_url
                    || EXTRACTVALUE (VALUE (t),
                                     '/*/' || 'Return',
                                     'xmlns="http://www.myaddress.com"'
                    xmltype001
               INTO v_result_url,
                    v_xmltype001
               FROM wwv_flow_collections c,
                    TABLE
                        (XMLSEQUENCE (EXTRACT (c.xmltype001,
                                               '//' || 'Response',
                                               'xmlns="http://www.myaddress.com"'
                        ) t
              WHERE c.collection_name = v_collection_name;
          EXCEPTION
             WHEN OTHERS
             THEN
                v_message := v_message || '</br>' || 'Error reading Collection.';
          END;
       EXCEPTION
          WHEN OTHERS
          THEN
             p_message := v_message || '</br>' || SQLERRM;
       END create_webservice;
    END webservice_pkg;
    /If you use it this way, you will find out what the problem is much faster.
    Denes Kubicek
    http://deneskubicek.blogspot.com/
    http://www.apress.com/9781430235125
    http://apex.oracle.com/pls/apex/f?p=31517:1
    http://www.amazon.de/Oracle-APEX-XE-Praxis/dp/3826655494
    -------------------------------------------------------------------

  • Problem with RESTful web service with header value

    Hi,
    I am on Apex 4.2.2 and Listener 2.1 and the listener is on WEblogic.
    I succeeded to get a RESTful web service working in an application with no header to obtain a full set of data. The data set is very large, so I am now just trying to set up a web service to get a set of data based on a student ID.
    I followed the examples shown in the RESTful web service module of SQL Workshop and set up a handler of this type:
    https://ourweblogicserver/apex/bnr/ace/students/course_grades/{stid}
    The test for this handler succeeded both for JSON output and CSV output in the Workshop test environment.
    However, when I try it from a Web Service Reference that I created for my application following what looked like the same approach used on the example video, I get NO data back. If I put a 'stid' directly into a URL of a web browser and do the basic authentication I get the data!!
    This is what I have for the Web service reference:
    https://ourweblogicserver/apex/bnr/ace/students/course_grades/{stid}
    Basic auth set to Yes -- and this is working -- I am able to authenticate
    HTTP method Get
    output format Text
    no response Xpath
    no response namespace
    defaults for new record and parameter delimiter
    NO REST input parameters
    Output set for all the fields in the data set queried (same set of data as in my rest service which does not have any http header)
    REST HTTP Header : Name stid
    I there something I am missing. I am not sure how to troubleshoot this further.
    Pat

    Hi,
    I have posted a simple application with the RESTful reference:
    http://apex.oracle.com/pls/apex/f?p=13758
    I can give you full privileges on this so you can look at the WEB service reference. Shall I send to you separately for login user?
    It is using the RESTful service: http://apex.oracle.com/pls/apex/nd_pat_miller/demo/employee/{deptno}
    This RESTful service tests fine when I test from within the RESTful web service module of the Workspace.
    I based this on the Video demo tutorial for RESTful web service that Oracle published for 4.2 release. The video seemed to exclude the {deptno} in the URL but when I try that, it doesn't work either.
    This is the error I am getting when I run this on my Apex environment: (it, of course, will not run the web service in the apex.oracle.com environment)
    class="statusMessage">Bad Request</span>                                         
    </h3>                                         
    </div>                                         
    </div>                                         
    <div id="xWhiteContentContainer" class="xContentWide">                                         
    <div class="xWhiteContent">                                         
    <div class="errorPage">                                         
    <p>                                         
    <ul class="reasons"><li class="badRequestReason"><span class="target" style="display:none;">uri</span><span class="reason">Request path contains unbound parameters: deptno</span></li>                                    
    </ul>Thanks,
    Pat
    Edited by: patfmnd on May 8, 2013 3:33 AM

  • Details on how to use the RESTful Web Services SDK

    Hello,
    this sounds really interesting for an important use case we're currently developing. Unfortunately, I am not a skilled developer and would therefore need to know two more things:
    1) in the beginning, it says ''assumes that there are no parameter values that need to be set'. Is this a core restriction or just to keep things simpel for this example? For our specific use case, we would need to at least transmit a report name and an execution date (which is not necessarily always equal to 'today')
    2) can we have the PDF sent to a Netweaver App Server?  Can the target location there be parameterized somehow?
    3) I understzand that there's also the Open Doc interface that could achieve similar features. Could you please elaborate which are the differences in the two approaches, maybe even pros and cons?
    Thanks
    Philipp

    Hi Philipp,
    1) This is just to keep things simple for the example
    2) You would need to first send the PDF to a file system, and then have a separate process to send it to the Netweaver App Server.  There isn't built-in integration to the Netweaver App Server.
    3) Stated simply:
    OpenDocument allows you to reference content via a single URL, best used for embedding content in your web page or application.   Pro:  Simplest Option  Con: Less power than REST API
    The REST API allows you to manipulate report objects in Web Intelligence and do things like set datasource and create report scheduling jobs.  Pro: More Power and Flexibility  Con: Requires knowledge of programming with REST APIs.
    Best Regards,
    Terry

  • HTTP error when trying to access RESTful web service from application

    Hi,
    We are getting the following error when trying to access a RESTful web service coming from Apex workspace 4.2.1 and Apex listener 2.1:
    ORA-29273: HTTP request failed ORA-06512: at "SYS.UTL_HTTP", line 1130 ORA-29024: Certificate validation failure
    In the Debug report, besides the above I also see:
    error_backtrace: ORA-06512: at "SYS.UTL_HTTP", line 1130 ORA-06512: at "APEX_040200.WWV_FLOW_WEB_SERVICES", line 543 ORA-06512: at "APEX_040200.WWV_FLOW_WEB_SERVICES", line 1164 ORA-06512: at "APEX_040200.WWV_FLOW_PROCESS", line 396
    We get that error whether we use https or http in the URI pointing to the web service. When I test the Web Service in Workspace RESTful service GUI, I get the data back. When I go build an application with a report calling the RESTful Web Service I get that error. Both the Application and the Workspace RESTful services are on the same Apex environment and even the same workspace.
    What is odd is that I can actually put the URL of the web service into a browser and I get the data: (using the demo hr data in sample RESTful services.)
    IN browser-- https://weblogic-dev.edu/apex/ace/hr/empinfo/
    yields:
    7839,KING,PRESIDENT,,1981-11-17T05:00:00Z,5000,,10 7698,BLAKE,MANAGER,7839,1981-05-01T04:00:00Z,2850,,30 7782,CLARK,MANAGER,7839,1981-06-09T04:00:00Z,2450,,10 7566,JONES,MANAGER,7839,1981-04-02T05:00:00Z,2975,,20 7788,SCOTT,ANALYST,7566,1982-12-09T05:00:00Z,3000,,20 7902,FORD,ANALYST,7566,1981-12-03T05:00:00Z,3000,,20 7369,SMITH,CLERK,7902,1980-12-17T05:00:00Z,800,,20 7499,ALLEN,SALESMAN,7698,1981-02-20T05:00:00Z,1600,300,30 7521,WARD,SALESMAN,7698,1981-02-22T05:00:00Z,1250,500,30 7654,MARTIN,SALESMAN,7698,1981-09-28T04:00:00Z,1250,1400,30 7844,TURNER,SALESMAN,7698,1981-09-08T04:00:00Z,1500,0,30 7876,ADAMS,CLERK,7788,1983-01-12T05:00:00Z,1100,,20 7900,JAMES,CLERK,7698,1981-12-03T05:00:00Z,950,,30 7934,MILLER,CLERK,7782,1982-01-23T05:00:00Z,1300,,10
    Any ideas on what would be causing the Error above in our application?
    Thanks,
    Pat
    Edited by: patfmnd on Mar 11, 2013 3:25 PM
    In reviewing the above error, I think we are realizing that we have to have the Weblogic layer SSL cert (actually the CERT from our BigIP load balancer which also does our SSL termination) imported into the Oracle server wallet where Apex is installed. Am I correct?
    PM

    We resolved our problem. The Apex Administrative Guide made us realize that we had to set up Wallet path in the Instance. This required working with DBAs to follow the Advanced networking guide to get the wallet set up on our server. We then added that path to the Instance configuration. (Manager Instance --> Instance settings). We ran into another other issue related to our implementation of CAS but were able to resolve that, and 'voila' were able to get the sample RESTful service consumed by our application!!
    Now to the task of figuring out how to get Basic Auth working between client application and RESTful web service. If anyone has that working, let us know!!
    It would be helpful if in the documentation of the Apex 2.x listener or Apex install/configuration there was clear reference to the above steps required for HTTPS access to RESTful web services.
    Pat

  • How to build complex object to be sent to a RESTful web service?

    Hi,
    I'm working with RESTful web services on J2EE 1.6.
    I create the database, generate the entities and generate the web services.
    I must implement Javascript clients and I don't want to use any open source for that.
    I have a simple example that works just fine. For the database :
    CREATE TABLE Shopper(
    shopperId MEDIUMINT AUTO_INCREMENT PRIMARY KEY,
    firstName VARCHAR(40),
    lastName VARCHAR(40),
    phone VARCHAR(40),
    email VARCHAR(50) NOT NULL,
    receiveEmailNotification ENUM('Y', 'N'),
    index(email)
    I create this xml information with javascript :
    *<shopper>*
    *<email>c</email>*
    *<firstName>c</firstName>*
    *<lastName>c</lastName>*
    *<phone>c</phone>*
    *<receiveEmailNotification>Y</receiveEmailNotification>*
    *</shopper>*
    and it is saved in the database. I have a more complex application with relationships between entites. For this database :
    CREATE TABLE Shopper(
    shopperId MEDIUMINT AUTO_INCREMENT PRIMARY KEY,
    firstName VARCHAR(40),
    lastName VARCHAR(40),
    phone VARCHAR(40),
    email VARCHAR(50) NOT NULL,
    receiveEmailNotification ENUM('Y', 'N'),
    index(email)
    CREATE TABLE Address(
    addressId MEDIUMINT AUTO_INCREMENT PRIMARY KEY,
    street VARCHAR(60),
    streetNo VARCHAR(20),
    postalCode VARCHAR(30),
    city VARCHAR(40),
    country VARCHAR(40),
    otherInfo TEXT,
    shopperId MEDIUMINT NOT NULL,
    foreign key (shopperId) REFERENCES  shopper(shopperId) ON DELETE CASCADE,
    index(shopperId)
    I was expecting that xml information sent from the browser should be:
    *<address>*
    *<city>c</city>*
    *<country>c</country>*
    *<otherInfo>c</otherInfo>*
    *<postalCode>c</postalCode>*
    *<street>c</street>*
    *<streetNo>c</streetNo>*
    *<shopper>*
    *<email>c</email>*
    *<firstName>c</firstName>*
    *<lastName>c</lastName>*
    *<phone>c</phone>*
    *<receiveEmailNotification>Y</receiveEmailNotification>*
    *</shopper>*
    *</address>*
    but I keep on getting errors.
    I want to send one XML structure that will be stored in two tables according to the foreign key relation.
    Does the RESTful web services code generated by Netbeans or Eclipse support this?
    Is my XML structure not built correctly?

    Kevin,
    My object base class is Abstract and class I am using in Flex 3 is class inheriting abstract class. But when calling webservice Flex creating soap message of base class and I am getting error in .Net web services that "Can not create instance of Abstract class".
    Below is the soap message difference calling same WCF method from .Net and Flex. For example Constraint is the base class and JobConstraint is the class which inherit Constraint class. But flex send message forming only Constraint while .Net soap is specifying i:type="JobConstraint".
    Part of soap message Calling from .Net 

    Constraints>< 
    Constraint i:type="JobConstraint"><Position 
    >true</Position>< 
    Rank>2</Rank>< 
    Requirement>true</Requirement></ 
    Constraint></ 
    Constraints> 
    Part of Soap message calling from Flex 3
    <ns0:Constraints>
    <ns0:Constraint>
    <ns0:Position>true</ns0:Position>
    <ns0:Rank>2</ns0:Rank>
    <ns0:Requirement>true</ns0:Requirement>
    </ns0:Constraint>
    </ns0:Constraints>

Maybe you are looking for

  • How can I remove the battery from my IPhone

    my phone will not complete a call.

  • Ipad will not automatically set date and time

    My ipad drained and when I recharged it the date read 31 Dec 1970.  Now it will not automatically connect and update the date and time, and cannot connect to itunes.  I can recieve emails on this device but I can's send emails.  So it must have some

  • Older AC adapter w/ Classic ???

    just picked up a new 80gig Classic . . . is it OK to use the USB AC converter from the older forth generation iPod ??? . . . (that's the last model with a mono screen) . . .

  • Height of JCheckBox

    How can I set the height of a JCheckBox? I have nine JCheckBoxes in a JPanel. I need to set them closer together vertically than they are now. myJCheckBox.getHeight() returns 0 so I can't reduce that. myJCheckBox.HEIGHT has a value of 2, but I cannot

  • Dynamic image gallery on detail page

    I have a master page listing 8 products. I have inserted a dynamic image gallery on the detail page which looks ok, but has one major flaw: when you click on a thumbnail the main image opens on the wrong page. e.g. if you click on page ../dragons.php