Thursday, October 23, 2008

Biztalk 2006: Oracle adapter namespace problem


I was deploying a Biztalk project from the development enviroment to the test enviroment when I encountered an error with Oracle adapter. That's because I have a different database schema name in both enviroments and database schema name is hard-coded to the schema.

This means that I can't use same SOAP header action in a send port for test and development enviroment and I didn't want to generate different schemas for different enviroments.


In a generated schema file I had namespaces with schema name on it:

I removed schema name from the namespace:

Then I deployed project again. Next thing I did was changing the send port properties. Database schema name must be in SOAP header action even when schema name is not declared in a namespace

<BtsActionMapping xmlns:xsi="" xmlns:xsd="">
<Operation Name="portOperationName" Action="http://Microsoft.LobServices.OracleDB/2007/03/NAMEOFSCHEMA/View/MYVIEWNAME/Select" />

I also changed couple of send port binding-properties EnableBiztalkCompabilityMode=true and useSchemaInNamespace=false.

Now I can deploy my Biztalk project to several enviroments without generating different schemas for each enviroment

No comments:

Post a Comment