Wednesday, February 21, 2007

BizTalk Orchestration Error Message

Sometimes when I'm editing an Expression shape in an orchestration, I see a little red exclamation point, which shows the following when moused over: "The expression that you have entered is not valid. Click to edit in the Expression Editor". Usually, when I click on the shape, it's easy to see what the trouble is.

However, there are times when clicking on the shape doesn't show anything that looks incorrect. If that wasn't strange enough, there are times when the orchestration will compile even though it shows the error in the orchestration designer. And stranger still is something that I just noticed -- when I took out a send shape immediately following the Expression shape, the orchestration would no longer compile.

I have found 3 possible causes. This isn't intended to be an exhaustive list:
  • This seems to occur most often when I try to wrap a string onto more than one line by using the "+" operator.
  • In the orchestration view, one of the items will show an error. This should be pretty easy to fix from the orchestration view.
  • Variables with identical names are declared in more than one scope. I'm not sure why this is a problem, but it does seem to be sometimes.
Another similar (vague) error that shows up sometimes during compilation is "errors exist for one or more children". One of the causes of this error is this code that is used to obtain the GUID of the currently running orchestration:

orchName = Microsoft.XLANGs.Core.Service.RootService.ServiceId

Thanks to Scott Colestock for pointing this out. He suggests using the following code instead:

YourOrchName(Microsoft.XLANGs.BaseTypes.InstanceId)

Thursday, February 01, 2007

Where Are Those Darned R2 EDI Schemas

For some reason, I keep forgetting this...BizTalk R2 EDI schemas are kept in an executable ZIP file (EXE extension) at C:\Program Files\Microsoft BizTalk Server 2006\XSD_Schema\EDIMicrosoftEdiXSDTemplates.exe.

By the way, the new BizTalk EDI support in R2 is way better than in previous versions. They have schemas for every X12 EDI document I could want, plus lots more. There's also support for EDIFACT, which I haven't had the privilege of using yet...

Setting up the EDI transactions is also much easier. Actually, there are some transactions that I never was able to set up using the old EDI system.

To compare the old EDI system to the new, it took me less than 1/2 the time to set up a real life outbound 810 transaction. Not bad.