Skip to Content
avatar image
Former Member

Fiori exception "no handler for data"

I have built a gateway service which successfully sends a pdf file. I used the media functionality and the GET_STREAM method to do this. It works in the Gateway cleint and when called from a browser.

However when I call the read method of the service from UI5, using the exact same syntax that works in the gateway (e.g. /sap/opu/odate/sap/ZINT_CRSTO_SRV/pdfSet(Ebeln='123')/$value ), I get an exception thrown in file datajs.js as "no handler for data" at line 7854.

The service is called successfully and returns a 200 status. The error is raised as the content type showing 'application/pdf' and there is no handler for this in the list

(there are handlers for 'application/json', 'application/atom+xml,application/atomsvc+xml,application/xml', 'application/xml' and 'text/plain')

I repeat, the gateway service works, the error is being thrown in UI5.

Any ideas where my error is?

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

3 Answers

  • Oct 31, 2017 at 11:10 AM

    from ui5 side, what you do after getting the data?

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member

      The data is not coming back, the exception is being raised inside the oModel .read call and therefore success callback function is not being called, I just get the oError object with a message that there is no handler for data and an uncaught exception in standard code.

      I have attached a screenshot of the Chrome debugger as the exception is thrown.

      Does this help anyone?

      I am also raising an OSS message, but this forum is usually quicker ;-)

      exception.jpg (120.8 kB)
  • Apr 30 at 10:44 AM

    Even if the question is a little older, others may also face this issue:

    The URL in the read method must not contain /$value.

    Add comment
    10|10000 characters needed characters exceeded

  • Jun 22 at 05:01 AM

    You don't need to consume the PDF via OData model, since the Fiori Launchpad is usually published in the same application server of the SAP Gateway you can publish a simple link in your application based on the relative path, this way the browser will handle automatically the consumption of the PDF file.

    Use a simple javascript window.open( ) and send the OData URL file as a parameter, in your case:

    /sap/opu/odate/sap/ZINT_CRSTO_SRV/pdfSet(Ebeln='123')/$value
    Add comment
    10|10000 characters needed characters exceeded