Okay, so I'm building this wonderful BizTalk 2004 reference application to use as a showntell for meetings. It's pretty cool, featuring:
- Multiple items
- Multiple vendors
- “best price“ check (next version)
- Item par levels (levels at which a process to reorder fires)
- Certain items are purchased in bulk at certain times of the day (the intent is to use SQL Reporting Services for BI analysis of historical data)
- Transactions
- Backorders (next version)
So, having a grand time with this; building out the enterprise application integration (EAI) first and then on to simulated (via web service harnesses) business-to-business (B2B) operations. Two weeks in the making, and things are going along swimmingly when a routine check to the BizTalk site reveals:
http://www.microsoft.com/downloads/details.aspx?familyid=9C64562C-3FA7-49BA-885E-82213D00776E&displaylang=en
:mutter:
A thorough tutorial; well documented, references to explicit steps and such. Now, the application isn't quite as robust as my current (60% complete as of this update) model, but the depth of what's there more than makes up for functionality that's missing; further, I can extend it more easily than I can complete my own model.
The tutorial also requires a refresh of the BizTalk 2004 SDK (released 4/1/2004). Get it at http://www.microsoft.com/downloads/details.aspx?FamilyId=8A1CA3AF-790C-4261-838A-9F0661C72887&displaylang=en and be sure to back up any SDK files you've modified before you apply the refresh.
EAI Tutorial Errata (module one):
Section: “Creating and Configuring” the ports. The table listing “New Port Type Names” lists the “SendDeclinePort” as “SendToERPType” (the same as the “SendToERP” port). This incorrect; you need a third port type to route a message to the proper destination. The correct (and third) type should be “SendToDeclineType”. The port binding will still be “Specify Later”.
Section: “Creating the Needed Ports in BizTalk Explorer“. Not an error, but took me a bit to remember that BizTalk Explorer is part of VS.NET. I made the mistake of trying to add a send port in BizTalk Administration. Also, in step number 7, ”In the drop-down list to the right of Send Pipeline”, note that VS.NET provides a fully-qualified identifier and not just “XMLTransmit”. Select each one in the list one at a time and mouse over to see a full description.
Section: “Creating the Needed Ports in BizTalk Explorer”, sub-section “To create a Receive Port for BizTalk Message Queuing”. Somewhere around Item 7 or 8 should include a step to name the receive location as ERPReceiveMSMQT from the default name of ReceiveLocation1. This object is referenced by that name in the section that follows the creation.
B2B Errata (module two)
The MapToCommonPO.btm file provided with the B2B tutorial generates an error during the first testing stage. From the error, it appears that one (or more) of the mapped fields are passing blank values in one or more nodes. The error is reported on line 1, character 518 (or is it 531?) of the generated mapping file, and prevents further testing. Closer examination implies a errant CRLF might be the cause, but modifying the source doesn't fix the problem.
I resolved this by deleting and recreating the mappings in the “Ship To“ nodes beteween the two schemas; the fields have identical names, save for the “Zip” and “Postal Codes” fields. Once the maps are recreated and the B2BSchemas rebuilt, the test completes successfully.