With my current client I’ve had a chance to work with the SAP adapter for the first

time, which is a treat since most of my work with BizTalk has revolved around HIPAA

and EDI. So I’ve been working with it for several weeks, and I very much like

the delivery of the adapter with one, glaring gotcha which I’ll discuss.

The way the adapter works is that you can access any iDoc or RFC from SAP by creating

a port configured with identity you will connect with, and then selecting to add items

to your solution and select Add Generated Items… and finally select “Add Adapter

Metadata”. You can then walk through the process of selecting your port and

searching for your RFC or iDoc. When you’ve completed the wizard you will have

a newly generated XSD schema added to your project. Happy days, and off you

go, until deployment time.

You see, when the wizard walked through that process, for an RFC, it generated an

assembly, quietly, in a directory which on most boxes will be : C:\Program Files\Microsoft

BizTalk Adapter v2.0 for mySAP Business Suite\Bin. That assembly is required

for the Adapter to work at runtime, and as such must be included in your deployments.

Add to this pickle that the assembly is not strongly named, so you can’t put it in

the GAC like everything else and life get’s really interesting.

This one caught me completely off guard, and personally I consider this a major flaw

in the design of the adapter. I’ve now added two new items to my “To Do” list.

First, implement Scott Colestock’s deployment framework on my project so I don’t have

to deal with external resources and the BizTalk “Export MSI” functionality.

Second, learn more about the Line of Business Adapter SDK and the new WCF adapters

to systems like SAPthat I attended a talk about at TechEd this year.