Jon Flanders will speak at BizTalk User Group Sweden

Our user group has been fortunate enough this year to sign speakers like Darren Jefford and Dwight Goins. On the 4th of September we'll add Jon Flanders to that list. 

Jon is an MVP BizTalk, instructor for Pluralsight and is well known a cross the world as an author, speaker, instructor and for his commitment to the community. You might have seen him talking at events such as TechEd, about WF, WCF, BizTalk, BAM or any other related technologies from the Microsoft Connected System Division. If you have, you know that he is not only competent, but uses a great deal of irony and jokes to make his presentation even more interesting.

There will be two, one hour, sessions, and we've left it up to Jon to deside what the sessions should be about, and just set the topic to -"In the head of Jon Flanders"

So if you are in Sweden on the 4th of September, make sure to let us know you are comming.

For more information: www.biztalkusergroup.se

BizTalk & WCF – the answers are here!

Folks – fellow MVP Richard
Seroter
has written a VERY comprehensive series around this very topic including
the new BizTalk Adapter Pack V1.0 (V2.0 is in Beta at the moment).

Over 20+ thousand words + 178 screen shots – all for the love of BizTalk/WCF.

Complete with Source Code!!!

What a champion series – I’m looking forward to in tucking into some of his great
material!

The BizTalk community is in debt to you Richard – well done!!!

SERIES
SUMMARY FOUND HERE

Email BizTalk Errors for BizTalk Administrators

I’ve been on a few projects where clients have requested there be some kind of monitoring associated with BizTalk. Sometimes they want all error messages that BizTalk might spit out to the Event Log emailed to them.

For these circumstances I’ve created a simple .EXE that takes the following 4 parameters:

Argument 1 = ToEmail
Argument 2 = FromEmail
Argument 3 = SmtpServer
Argument 4 = Covast EDI Accelerator 2004 – Subsystem ErrorFlag Y/N

I then set up a Scheduled Task to run a batch file that runs the Executable.

The .bat looks like this:

“C:\Biztalk\Event Log Emailer\EventLogEmailer.exe” [email protected] [email protected] YourSMTPServerName.smtp.com N

You’ll see it comes in an HTML formatted message. I run it at 1 AM, and it gives yesterday’s data.

Currently it’s set to pick up BizTalk 2004, 2006, HIPAA, and CovastErrors(parameter flag can be used). Tell me if you’d like other parameters, or if you’d like one for a completely different application other than BizTalk.

DTA Orphaned Instances

DTA Orphaned Instances

BizTalk Server 2006 (including R2 apparently – see warning section of this page) seems to have a bug, for which I’ve seen no fix, that affects the performance and size of the DTA (BizTalkDTADb) database because it fills it up with orphaned instances. You can detect these using the following query:

select count(*) from [dbo].[dta_ServiceInstances] […]

Error when expanding ’Application’ in the BizTalk 2006 Admin Console

Yesterday we encountered a worrying blocking error when expanding the Application node under a BizTalk Group in the 2006 Administration Console:
Failed to create ApplicationNode (Microsoft.BizTalk.SnapIn.Framework)
Additional Information:
Exception has been thrown by the target of an invocation. (mscorlib)
Failed to enable constraints. One or more rows contain values violating non-null , unique or foreign-key constraints. (System.Data)
All of the […]

I almost got back to the weight I had when I came to United States….

I almost got back to the weight I had when I came to United States….

Just a few days ago I tried, and I fit perfectly into the suite, in which I came into the United States from Russia in now so old 1996 year.


Since that I fattened a lot on Cola, pizzas and other dubious food substitutes from 195 pounds to almost 255 pounds last October (2007). In October vacation at La Push I decided that enough is enough, and began dieting. And now I am back to 200 pounds plus eight new holes in my belt about one inch from one another. And now I fit well into clothes I brought with myself from Russia including the three-piece suite with 19th century style chained watch piece made by St.Petersburg/Lomonosov factory. Yes, I know, it’s a small stuff. But it makes me happier.

Event ID 5720, BTAHL7Schemas.MessageEncoding

In a follow up to my initial discovery of the new context property (largely undocumented as far as I can tell) called BTAHL7Schemas.MessageEncoding we were converting a working process from 2004 to 2006 R2 and we started getting this error:

Event Type: Error
Event Source: BizTalk Server 2006
Event Category: BizTalk Server 2006
Event ID: 5720
Date: Date
Time: Time
User: N/A
Computer: ComputerName
Description:
There was a failure executing the send pipeline: “BTAHL72XPipelines.BTAHL72XSendPipeline, BTAHL72XPipelines, Version=1.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35” Source: “BTAHL7 2.X Assembler” Send Port: “MLLPSendPort” URI: “localhost:11000” Reason: Object reference not set to an instance of an object.

So we put the MessageEncoding in and then started getting the following error:

Event Type: Error
Event Source: BizTalk Server 2006
Event Category: BizTalk Server 2006
Event ID: 5720
Date: Date
Time: Time
User: N/A
Computer: ComputerName
Description:
There was a failure executing the send pipeline: “BTAHL72XPipelines.BTAHL72XSendPipeline, BTAHL72XPipelines, Version=1.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35” Source: “BTAHL7 2.X Assembler” Send Port: “HL7_SP” URI: “C:\Labs\HL7_Outbound\%MessageID%.txt” Reason: Specified cast is not valid.

Low and behold, hot fix 947261 that deals with these two error message. If you check version the following file Microsoft.solutions.btahl7.hl72fasm.dll, ours was at 2.0.302.0

Acknowledgment Event ID: 5778 – The published message message could not be routed because no subscribers were found

Another one of the gotchas (yes, my blog seems to be full of them) is the ‘association’ of the acknowledgment with the original message that is generated from the BTAHL7 receive pipeline. In the BTAHL7 Configuration explorer, by default the Acknowledgment settings are as follows:

Notice that the MSH15 and MSH16 overrides are set to AL- Always generate the System and Application Acknowledgment, and that below the Route ACK to send pipeline on request-response receive port is checked. This means that the default behavior of the pipeline is to generate two acknowledgments, and route one of them back along the receive location’s send pipeline. What is it supposed to do with the second acknowledgment that it created?

That is where the error message is generated: Event ID 5778: The Messaging engine failed to process a message submitted by adapter: MLLP Source URL:{whaver server:port} Details: The published message could not be routed because no subscribers were found. This error occurs if the subscribing orchestration or send port has not been enlisted, or if some of the message properties necessary for subscription evaluation have not been promoted.

The resolution: a simple solution is to create a send port for this data and drop it off as a file.

Not quite the elegant solution that I want to deal with, as now there is a maintenance aspect of making sure that this folder is purged.

Let’s just not create the application acknowledgment. You do this by changing the parties definition from Original to Enhanced mode and turning the application acknowledgment to NE (never).

Thomson UPS Order Process

While trying to drop some files for Thomson’s BizTalk applications to load I found out that for the UPS order application they have built in a lot of logging and archiving. One nice feature is the Uploaded folder which archives messages for a particular dropped file. It looks like this:

These messages can tell you things like what went wrong in the application or if your fields weren’t properly formatted in the file you dropped. This is what I saw initially in one of the files. I needed only the incoming message segment and copied that out.

Copying the black just to see the xml makes it easier to read, and I saw the following (just an example):