on 10-31-2017 9:56 AM
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?
Hi,
You can find the root cause and some alternative ways in this Github issue - https://github.com/SAP/openui5/issues/3519
Regards,
Hao
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Even if the question is a little older, others may also face this issue:
The URL in the read method must not contain /$value.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Need your help. I'm also facing the same issue. Please let me know how to call GET_STREAM method without adding $value in read method. Thanks !
from ui5 side, what you do after getting the data?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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 😉
User | Count |
---|---|
89 | |
10 | |
9 | |
9 | |
9 | |
6 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.