Wednesday, August 27, 2008

BizTalk 2004 to 2006 Upgrade XSLT issue

I have been working on a BizTalk 2004 to 2006 upgrade and encountered an interesting issue when testing. It was an XLANG error with the relevant part of the error message log being:

Unable to cast object of type 'MS.Internal.Xml.Cache.XPathDocumentNavigator' to type 'System.Xml.IHasXmlNode'

The reason for this is that in one of the XSLT maps there was some custom c# code that made a cast. The cast involved the XPathDocumentNavigator class from the System.Xml.XPath namespace. The XSLT engine loaded the version in MS.Internal.Xml.Cache first.

To fix this issue I just made sure the references to XPathDocumentNavigator were fully qualified.

The lesson learned was that it always pays to fully qualify your references to classes in embedded .net code in XSLT.

Friday, August 15, 2008

HAT Query Problem: 'ActiveView.ColumnAxis'

If you receive an error message when running a HAT query that looks something like this: "The following error occurred while executing your query: 'ActiveView.ColumnAxis' null or not an object" then chances are that you don't have the Office Web components (OWC) available here or here.

Sunday, August 03, 2008

MOSS Compatibility Issue with Windows Server 2008

If trying to install MOSS 2007 on Windows Server 2008 you will come across this error:

To resolve this issue, install the version of MOSS that has service pack 1 ( SP1 ) included. Without the slipstream install you will not be able to install MOSS 2007 on Windows Server 2008.

Monday, November 26, 2007

MDIParent and/or Parent Property is Null! Timing Issue

One of the problems I faced today was when I was attempting to reference some properties of the MDIParent of a child form.

The code was executing in the constructor scope of the child form. It turns out that until the Activation scope any attempt to reference the parent form will result in a null value.

So I moved the neccessary code to a method wired up to the Active event of the form and received a reference as expected.

Tuesday, July 24, 2007

Finally Moved, Started with Avanade

I am officially an eastern states guy now. Pamela and I arrived in Sydney a week or so ago and have moved into our new apartment.

I started with Avanade last week. This company looks very slick. I will begin posting about my development adventures in the coming weeks.

Tuesday, July 03, 2007

Select Multiple Rows in GridView

There is an excellent control available that is an extension to the GridView component found in ASP.NET 2.0.

It essentially allows selection of multiple rows in a GridView control. I have implemented in a project and found it to be very simple to configure. The control has a few extra methods and properties to enable the multiple selection.

One thing to note that the SelectedIndices property mentioned in the article does not exist in the compiled C# binary in the download from the same page. There is however, a GetSelectedIndices method which returns an array of integers that you'd expect.

You can find this here.

Friday, June 29, 2007

Promoting Context Properties

Sometimes there is a context property on a message in BizTalk that for some reason by default does not get promoted. If you want to route the message based on this property (say in a send port), then follow these steps:

1) Create a Correlation Set and Type based on the property you want to route by in your orchestration.

2) In the Send Port properties that sends the particular message you want to route, set the Correlation Set to initialise. This is achieved through Orchestration Designer.

I found out step one via this Addictive News post. Step two is there for clarification.

There is also a custom pipeline component available that allows a bit more dynamism.