Click here to Skip to main content
15,888,113 members
Articles / All Topics

Creating Oracle Adapter Metadata from Visual Studio in BizTalk 2006 – Points to consider in Enterprise

Rate me:
Please Sign up or sign in to vote.
0.00/5 (No votes)
13 May 2009CPOL2 min read 16.2K   1   1
Creating Oracle Adapter Metadata from Visual Studio in BizTalk 2006 – Points to consider in Enterprise
  1. Build a separate project for Oracle adapter metadata which gives auto-generated schema types and port types because if anyone else in the enterprise uses the same table, it will be generated with the default target namespace “http://schemas.microsoft.com/[OracleDb://{ServiceName}/{TableName}]#{Operation}” and if both the projects get deployed on the same server, you will get a routing failure. For e.g. the mostly used schema is the NativeSQL for generic SQL statements and of course used for polling statement results.
    "There was a failure executing the receive pipeline: 
    "Microsoft.BizTalk.DefaultPipelines.XMLReceive, Microsoft.BizTalk.DefaultPipelines,
    Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35? 
    Source: "XML disassembler" Receive Port: "ReceivePortOracleDemo" 
    URI: "OracleDb://OLTPDEV_6d833f94-9fb8-423e-be29-bc7a75884bc0? 
    Reason: Cannot locate document specification because multiple schemas 
    matched the message type 
    "http://schemas.microsoft.com/[OracleDb://OLTPDEV/NativeSQL]#SQLEvent". 
  2. When generating metadata, first create a Static Solicit-Response send port in the default BizTalk project which is BizTalk Application 1 in the Management Console. Create one port for each of your services in Oracle. This send port will only be used for generating schemas as when generating schemas in the following dialogue. To retrieve Oracle adapter metadata, perform the following steps:
      • Right click your project, go to Add and then select Add Generated Items.
      • In Categories, select Add Adapter Metadata.
      • In templates, double Click Add adapter Metadata.

    You will get the following dialog:.

    oracle_adapter_metadata

    Select the Oracle Database adapter and then select the port you created in the BizTalk Application 1 project. Select your Table or Native SQL type and you will get Orchestration File with Type Orchestration_1, Port Types with Operations of Select, Insert, Remove and Update. Also multi-part messages will be created for all the operations request and responses. All the multi-part message parameters message part will be of the type of the schema generated.

  3. There are a few catches and you will face problems when generating metadata, the first thing is every time an orchestration file is generated, the Orchestration Type is Orchestration_1 in the same project which should not be the case however the filename is Orchestration_(Index+1). The second thing is all the generated Multi-part messages will be of the same name Query, QueryResponse, etc. So If you are adding metadata for two tables, you will run into troubles with conflicting message part types as they will have the same name and same namespace.

    The workaround for this is before you create a metadata for the adapter, change the default namespace of your schema project to let's say MyEnterprise.Oracle.Schemas.[Tablename]. In this way, the multi-part message types created will be of different namespaces and of course the Oracle Port created will point to the same message types and there will be no conflict. Then change the name of your multi-part messages with a prefix of your tablename so that the referencing project can identify the message names.

    Oracle_adapter_MessageTypes2
  4. At the end, open the Orchestration file created, change its type from Orchestration_1 to TableName type. As you will be using this project for schema types, don’t forget to change the access modifier properties of Ports and multi-part messages from Internal to Public.

Technorati tags :
Posted in BizTalk Development Tagged: BizTalk Oracle Adapter
This article was originally posted at http://abdulrafaysbiztalk.wordpress.com?p=120

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Architect
Qatar Qatar
I am a BizTalk Server MVP for 2010 and an active blogger and a participant on the MSDN BizTalk Server Forums. I am currently working as a BizTalk Architect at a Bank in Qatar. Before this position I worked as a Sharepoint Consultant in UAE , BizTalk Architect in Bank Saudi Fransi in Saudi Arabia and United Bank Ltd in Pakistan.

I also achieved MCTS certification in BizTalk Application development in June 2008.

Click here to check out my Blog.

SQL Server Query Notification with BizTalk Server 2009 WCF SQL Adapter.

Envelope Wrapper.

Aggregator (Sequential Convoy)

Splitter (Debatching multiple records)
Resequencer
Recipient List
Scatter and Gather using Self Correlating Port

Comments and Discussions

 
Generalmutliple native query Pin
Aunalisiraj2-Mar-10 18:40
Aunalisiraj2-Mar-10 18:40 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.