How to expose a CSV file as a Service with SAP PI/PRO
This post was originally published on integration://excellence, the blog of Whitepaper InterfaceDesign.
Imagine you need to read a file content from a remote application and you do not want to set up a replication?
This scenario explains how to expose a CSV file (here a product list) as a WebService using the standard SOAP Adapter and the WHINT FileReader Adapter.
CSV File:
Design (ESR):
- Create Service Interfaces (Sender and Receiver side)
- For the receiver side you can also use the synchronous Inbound Service Interface FileReaderQueryResponse_In which is shipped with the Adapter
- Optional: Create a Mapping if you do not want to expose the result of the CSV-to-XML conversion of the MessageTransformBean
Configuration (Eclipse/NWDS):
iFlow:
Receiver Channel (FileReader):
SFTP Connectivity (of course you can read the file from NFS or FTP as well):
Module Configuration (MessageTransformBean: CSV->XML):
Upload File to SFTP Server:
Test from SOAP UI:
Update: I think it is obvious that the Files can be also queried with other sender channels, not only from SOAP (like e.g. REST here with a JSON response):
New NetWeaver Information at SAP.com
Very Helpfull