Read XML file using Oracle BPEL file adapter.
Hi, This is my first blog and I am very excited about it.
From some last few months I am working on File adapter and wondering how complex is a file adapter. Also I feel the design of file adapter is very strange, because the behavior of file adapter is very different from what we ever expect.
Here is a simple example of reading a XML file using file adapter. With file adapter we can either read or write a file,
The read operation can be either a "synchronous read" or "read",
In Synchronous read, inside an a BPEL process we can provide the file details and read a file,
In a ‘read operation’ we can poll a file from a directory.
Now we will see how we can read a file (poll) in windows environment
Sample files
Emp.xml
Note** for UNIX environment change target namespace
xsi:schemaLocation="http://www.example.org \home\file\XSD\emp.xsd"
Emp.xsd
Step1. Create a new empty BPEL project
(b) Select ‘read’ as operation type.
(c) Provide directory location for incoming file, here we can browse the location or can give the logical path name and can later configure it inside the bpel.xml file.
(d) File filtering, this is wild pattern for a file name.
(e) Configure polling frequency and the age of file i.e. the time the file has been inside the directory.
(f) Provide the schema file (XSD), this is a very interesting configuration screen, as we can decide here weather we want to read a XML file, opaque file or CSV file, etc
Step4. Configure the receive activity to receive the contents from file adapter, remember selecting the create instance.
Step5. Finish
Step6. Deploy
Step7. Test
2.) The file adapter does not verify the contents of the XML file with the schema mentioned in the file adapter (Step 3, f); what it does by default is verify the contents of the XML with the schema mentioned inside the XML file’s target namespace.
Great stuff
ReplyDeleteHi,
ReplyDeleteArticle is really helpful.
I am beginner in this. Is it possible to provide some sample of xml(input) and xsd(schema) files ?
Thanks
Hey.
ReplyDeleteI am using Jdeveloper 11g. I followed the same steps but didn't get the output. Application deployment happens successfully but on server side UI didn't get any output.
Thanks,
Suman
Great job, thanks, man!
ReplyDeleteHi Suman,
ReplyDeleteIf no instance is getting created on UI(em comsole) then the XML file you are polling is invalid, i.e. its not valid according to XSD.
Can you try using the same XML and XSD I have used, or create XML and XSD by using JDEV
Regards,
Yatan
Hi Yatan,
ReplyDeletecan we pass an xml instance file to the bpel process that has no namespaces declared. What I mean is that the structure of the parent and child nodes is in accordance with the schema document but no declarations like (xmlns="http://targetNamespace.com") are there. It is just a plain xml document that has no namespaces but whose structure and name of tags matches that of the schema document.
Hi Andy,
ReplyDeleteThe file adapter will reject all such XML files which are without namespace.
Regards,
Yatan
hi good post yaar... but i am having an issue.. i am not able to insert into db the data wat i got... do you have end to end ,like reading a xml file and then inserting into the db...
ReplyDeleteHi',
ReplyDeleteThanks for comment.
If you want to insert data received from a XML file inside DB then you can do 2 things.
1.) Convert the data received from file into bit64Encoding and then passing that data in DB, you can make the data type of the table column as blob type.
2.) Make the data type of DB table column as XML type and then pass the data received from the file into it.
Regards,
Yatan
hi yatan thanks i got .. it.. but i have question
ReplyDeletei am having two tables header an line but and i am getting two xml from two file adapters.. can you please guide me how to approach.
urgent yaar..
Sorry I didn't understood your requirement.
ReplyDeleteHi,
ReplyDeleteIt is good & informative.
I am trying to read a CSV file and then write it to a new file using file adapter.
But the problem is that in the target file I am getting only commas without the actual content.
Please help.
Its a very informative site and what Yatan is doing quite commendable.Thanks for sharing such useful information with us.Looking forward to more such articles.
ReplyDeletesap upgrade planning
hi one doubt how to read particuler data from xml using file adapters
ReplyDeleteHello Yatan,
ReplyDeleteI have created an sample application for list of files using file adapter. Could you please help me how to pick the file as per current date. Kindly do the needful
Regards,
Mithun
Hello Yatan,
ReplyDeleteCan I use the same exact process that you have described here to import .CSV file?
Darsh