Successfully Connect to Oracle package with out paramter from BizTalk using WCF-Oracle adapter

Standard

I was handling an interface which has to talk to oracle database package and get a cursor back. I followed the usual procedure to connect to the oracle database.

1. The first problem occurred when connecting to the oracle database using Consume adapter service. It would not accept the user name and password for the oracle database. Even after thorough verification and confirmation about the credentials, Consume adapter service throws error as: Image

 

After a long struggle, a quick realisation about oracle’s case sensitivity resolved the issue. Whatever your user name is give it in capital letters. That would solve this issue.

2. After the consume adapter wizard, Schemas and binding files were generated. The generated schema had the out parameter as an element inside the schema. So the usual process of mapping the source schema to adapter generated schema and invoke the oracle database resulted in error. The mapping was done between every required fields except the out parameter considering the database is going to send us back the out value. What happened here is the out parameter element itself is not available in the adapter generated schema since we are not mapping anything to that element. Database package would not be successfully executed without the out element in the request schema. I had to explicitly map a nil functoid to the out parameter element in order to populate that field in the database request schema. That solved the error and database package executed successfully and the response was delivered.  Cheers.