locked
WCF OracleDB binding and different Oracle schema on different environment RRS feed

  • Question

  • Hi All,

    I am facing an issue related to WCF OracleDB binding and Oracle schema's. The thing is we have to generate schemas from Oracle Stored Procedures which are in Packages and in a Particular Oracle Schema say ADPPDBO. Now when I generate the schemas from SP the Oracle schema name is embedded in the namespace of the generated schema -> http://Microsoft.LobServices.OracleDB/2007/03/ADPPDBO/Package/PKG_DP_SCAN_BATCH

    This works fine when running on the DEV environment But what would happen if we have multiple environment and different Oracle schema names on those environment ? Say on QA you could have ADPPDBOQA instead of ADPPDBO. Now your BizTalk schemas have been generated using ADPPDBO embedded in the namespace and the solution will fail on other environments. To mitigate this I have used UseSchemaInNamespace property to false, this solved my problem partially as this removed ADPPDBO from Schema namespace but its records are still getting generated with ADPPDBO.

    Any suggestions ?

    Regards,

    Rahul Madaan


    Tuesday, November 11, 2014 2:54 PM

Answers

  • Hi All,

    Solved the issue by using custom pipeline component and removing the unwanted Oracle schema name from the namespace. I am receiving the response from SP as an XMLDocument but I could not use untyped message as I have generated .NET classes from the schema's generated from Oracle database and I am deserializing the message to particular schema type.

    Morten,

    I agree with you that on each and every environment schema names should be same. Since we are implementing this new feature in our project to interact with Oracle but Oracle DB and schema structure was well defined from years like this only so there was no option but to compensate from BizTalk end.

    Also I was not able to figure out how to generate untyped schema from Oracle Schema, any links or blogs for that ?

    Regards,

    Rahul Madaan

    • Marked as answer by Rahul_Madaan Thursday, November 13, 2014 4:54 PM
    Thursday, November 13, 2014 4:53 PM

All replies

  • I would suggest to generate untyped message instead of typed message for your Oracle Stored Procedure .

    This will help you to have fine control over the different Environment with different package name.

    Thanks

    Abhishek

    Tuesday, November 11, 2014 3:09 PM
  • Hi Rahul,

    I had faced a similar issue in one of my project where we were inserting data into oracle tables and schema generated was having DEV env name.

    I ended up using XMLDocument message. So in message assignment shape i was creating a message then sending it out.

    In my case i even used Dynamic send port because we had to do insertion in multiple tables on the basis of some promoted party.

    So i would suggest to use untyped message instead of typed message(generated schema), this will actually give too much flexibility and you can design your project in better way.


    Thanks,
    Prashant
    ----------------------------------------
    Please mark this post accordingly if it answers your query or is helpful.

    Wednesday, November 12, 2014 9:21 PM
  • IMO DEV, TEST, QA and Production is supposed to be identical when it comes to interfaces etc. (and for databases such as Oracle and SQL, this means identical package and schema names!).

    To have these vary from environment to environment would, IMO, be the same as having different WSDL's for a Web Service in QA and Production!

    Morten la Cour

    Wednesday, November 12, 2014 9:45 PM
  • Hi All,

    Solved the issue by using custom pipeline component and removing the unwanted Oracle schema name from the namespace. I am receiving the response from SP as an XMLDocument but I could not use untyped message as I have generated .NET classes from the schema's generated from Oracle database and I am deserializing the message to particular schema type.

    Morten,

    I agree with you that on each and every environment schema names should be same. Since we are implementing this new feature in our project to interact with Oracle but Oracle DB and schema structure was well defined from years like this only so there was no option but to compensate from BizTalk end.

    Also I was not able to figure out how to generate untyped schema from Oracle Schema, any links or blogs for that ?

    Regards,

    Rahul Madaan

    • Marked as answer by Rahul_Madaan Thursday, November 13, 2014 4:54 PM
    Thursday, November 13, 2014 4:53 PM