Skip to Content

FLP@HCP - wrong routing of OData calls after first one

Hi all,

I've a custom HTML5 application which works great when launched standalone without FLP.

Three OData services from an on premise system are used:

  • /igwj/odata/GSSLS/PROJECT_SRV (Integration Gateway Java)
  • /igwj/odata/GSSLS/PRJ_HELPER_SRV (Integration Gateway Java)
  • /bpmodata/startprocess.svc/... (BPM OData service)


the on premise system is configured with Principal Propagation and works nicely i.e. also destinations are configured correclty

I integrated the application in Fiori Launchpad and I get a really weird behavior.

From the Chrome developer tools, I can see that the first call is done towards the url


http://...../sap/fiori/createmarket/igwj/odata/GSSLS/PROJECT_SRV and it works ok


while the subsequent calls don't have the /sap/fiori/createmarket prefix (part of it is the name of the app) and thus I get a HTTP 404 error

What's really strange is that whatever call is executed first, it gets done with proper prefix, all the others fail.


The calls are started just by (for instance):

var oModelProjectHelper = new sap.ui.model.odata.ODataModel(sProjectHelperServiceUrl, true);
this.setModel(oModelProjectHelper, "projectHelper");

I tried to exclude all most trivial errors through the debugger and to me it looks like the FLP is doing something wrong in the routing.

Can anyone please share some insight on this?

Thanks, regards

Vincenzo

Add a comment
10|10000 characters needed characters exceeded

Related questions

1 Answer

  • Best Answer
    Posted on Apr 30, 2015 at 09:47 PM

    Hi Vincenzo,

    One of the steps required in order to integrate your app in a Fiori Launchpad Site on Cloud is to modify the service URLs the app uses as described in the SAP HANA Cloud Documentation - Integrating Apps in the Launchpad .

    Generally, in order to overcome cross domain issues the client side service URLs in the app should be "proxified" by using the Launchpad's proxy.

    This is achieved by adding the following prefix to your service URLs:

    jQuery.sap.getModulePath("< app id >") + "< service url >"


    In your case:

    jQuery.sap.getModulePath("createmarket") + "/igwj/odata/GSSLS/PROJECT_SRV"

    This generates the URL you see in the developer tools:

    /sap/fiori/createmarket/igwj/odata/GSSLS/PROJECT_SRV

    Regards,

    Ido

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.