Migrating from using the Biztalk 2006/R2 adapters to the WCF based adapters


The Biztalk Adapter pack beta2 (mentioned in the post below) contains three adapters – one for Siebel, one for mySAP and one for Oracle DB. If you are already using the Biztalk adapters that shipped with Biztalk 2006 and Biztalk 2006 R2 and would like to migrate to using the newer adapters here is what you must know:


1. The message schemas that are generated by the adapter pack adapters are different from the schemas generated by the older adapters. There are many reasons why we had choose this the main one being that we had keep the new schemas compatible with WCF (so that it could be deserialized into proxy classes). The older schemas were not compatibile with WCF.


2. Once you install the new adapters you will not see a port of type “SAP” or “OracleDB” or “Siebel” like with the older adapters. When configuring a send port or a receive location, you would need to choose the port of type WCF-Custom and within that choose the correct binding (SAPBinding, SibelBinding or OracleDBBinding) as the WCF custom binding.


Due to the above if you have an existing orcestration that is working in Biztalk 2006 or 2006 R2, to migrate to using the new adapters, you would need to regenerate the schemas (implying any maps built using the schemas would have to be recreated) and re-configure the send and receive ports. The format of the xml messages that the adapter receives and sends have also changed (implied by the schema changes). This is true of almost all scenarios that are being migrated from using the old adapters to using the new adapters.


The only exception to this is the IDoc scenario that would work with the new SAP adapter. The schemas generated by the new adapter for the IDocs would be different but you can continue to have the new adapter work with an existing Biztalk solution by just changing the send or the receive port to send or recieve a “string” typed IDocs. Refer to the seperate blog post which describes this scenario with an example.

Comments (2)

  1. douglas.garber@hp.com says:

    You mention “Refer to the seperate blog post which describes this scenario with an example.”

    Where is the seperate post to which you are refering?

    Thanks,

    Doug

  2. Sending an Idoc – http://blogs.msdn.com/adapters/archive/2007/10/05/sending-an-idoc-to-sap-easiest-fastest-way.aspx

    Receving an Idoc – http://blogs.msdn.com/adapters/archive/2007/10/05/receiving-idocs-getting-the-raw-idoc-data.aspx

    It is easier to use the above two operations with the older schemas deployed. For example, let’s take the Receive Side. With the older adapter, the adapter would give out a flat file, which you could convert to an xml using the flat file schema. Assume that you have maps based on that schema, and dont want to use a newer schema. What you can do is, use the ReceiveIdoc operation to get the idoc data as a string wrapped in xml, then use an XPath in the WCF-Adapter configuration to remove the xml tags, and then use your older schemas to convert the idoc flat file to xml.