Tuesday, March 06, 2007

Documentation tool for BizTalk 2006

Although this tool is not new, I blog about it because it is a must-have for every BizTalk developer:

The tool is called UK SDC BizTalk 2006 Documenter (you can download it here) and builds documentation of your BizTalk application(s). It uses reflection to find all information, therefore the BizTalk application(s) you want to document need(s) to be deployed.
One cool feature is the ability to create JPG's for orchestrations.


Anonymous said...

Great tool. It produces some great documentation. However, I have encountered an error. We have been able to generate documentation against all of our projects except one in which we get an error stating "There was an error generating the XML document". There is not error recorded in the Application Event Log, ProcMon show no access violation or other issues. I configured the TraceLog to verbose and see following exception. Any Suggestions?
Brent Anderson
TraceErr : [1][]Microsoft.Sdc.BiztalkDocumenter.Documenter.GenerateDocumentation: System.InvalidOperationException: There was an error generating the XML document. ---> System.InvalidOperationException: Instance validation error: '204' is not a valid value for Microsoft.Sdc.BizTalkOM.TrackingType.
at System.Xml.Serialization.XmlCustomFormatter.FromEnum(Int64 val, String[] vals, Int64[] ids, String typeName)
at System.Xml.Serialization.XmlSerializationWriter.FromEnum(Int64 value, String[] values, Int64[] ids, String typeName)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterBizTalkBaseObject.Write16_TrackingType(TrackingType v)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterBizTalkBaseObject.Write21_SendPort(String n, String ns, SendPort o, Boolean isNullable, Boolean needType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterBizTalkBaseObject.Write37_BizTalkApplication(String n, String ns, BizTalkApplication o, Boolean isNullable, Boolean needType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterBizTalkBaseObject.Write41_BizTalkBaseObject(String n, String ns, BizTalkBaseObject o, Boolean isNullable, Boolean needType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterBizTalkBaseObject.Write42_BizTalkBaseObject(Object o)
--- End of inner exception stack trace ---
at System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id)
at System.Xml.Serialization.XmlSerializer.Serialize(Stream stream, Object o)
at Microsoft.Sdc.BizTalkOM.BizTalkBaseObject.GetXml()
at Microsoft.Sdc.BiztalkDocumenter.Publishers.CompiledHelpPublisher.Publish(BizTalkInstallation bi, PublishType publishType, String resourceFolder, String publishFolder, String reportTitle, Boolean publishRules)
at Microsoft.Sdc.BiztalkDocumenter.Documenter.GenerateDocumentation()

Lex Hegt said...


I have never seen this error.
Does that '204' mean anything to you?
Perhaps the guys who wrote the tool can help you...

Anonymous said...


It turns out the problem was related to the tracking configuration on some of our send ports. The '204' is a numerical representation of the Tracking Options I had selected on my send ports. I did find others that were having a similar issue with different configurations. For the time being, just to get some docs out, I just disabled tracking on the offending ports until I have time to return to figure out what it doesn't like about the configuration.

However, now I am running into another road block. Ideally we'd like to generate the documentation as part of the Post Build step after everything has been built and deployed. However, when I run SDC BizTalk 2006 Documentor in command line mode with ANYTHING other than the /def (for default configuration) flag, I get the following error.

Microsoft.Sdc.BiztalkDocumenter.Documenter.GenerateDocumentation: System.ApplicationException: Error initialising documentation publisher
at Microsoft.Sdc.BiztalkDocumenter.Documenter.GenerateDocumentation()

Been blocked by this for a day or so now. Anyone have any ideas on this?

Thanks in advance.

Lex Hegt said...


I checked if my collegue who posted about the tool has ever runinto this message, but he did not. Nor did I.
Google was not very helpfull as well.
Somewhere this week I´ll have a look in it myself, as I think it is handy to generate documentation in this way.
Keep in touch: you can reach me at lex.hegt [at] gmail.com.


Anonymous said...

I ran into this error as well:
"There was an error generating the XML document"

Lex Hegt said...

Were you able to solve the error?

Emese said...

I got the same error, but it was solved by switching off the tracking on some of my ports - great, thanks!

Bram said...

Yep, here too: deselecting tracking on all send/receive ports fixed this error message when pointing BizTalkDocumenter to our application.