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, 2018 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, 2018 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

    • Hello,

      In your scenario, how to pass the header parameter in window.open()?

      I need to pass custom header parameter, I have tried to set it in the component.js but it is not taking the header value.

      Please let me know if you have any work around for this SAP issue.

      Thanks,

      Muthu.