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.