Saturday, June 18, 2005

My Blog is Moving!!!

I have been blogging on BlogSpot for over a year now. I am moving my blog to MSN Spaces because it has several additional features such as Categories, 30mb of space for pictures, and is more customizable.


Wednesday, June 15, 2005

BizTalk ChalkTalk : Troubleshooting Common Problems in a BizTalk Server 2004 Platform Installation

BizTalk ChalkTalk : Troubleshooting Common Problems in a BizTalk Server 2004 Platform Installation

A fellow Innovative Architect was running into problems installing BizTalk 2004 on Windows XP. This article may be useful in troubleshooting what is going on. The best part is that it covers what software different services in BizTalk are dependent upon. This is important in relation to Windows XP installations because SharePoint will not run on Windows XP. This means that BAS and HWS cannot be installed on Windows XP.


Google Groups : microsoft.public.biztalk.general

Google Groups : microsoft.public.biztalk.general

This news post describes a very similar format that I have to follow to commicate with Freddie Mac's Desktop Underwriter system. It looks like I will be writing a custom adapter to handle this (ugh!).

I may be using this:
GotDotNet User Sample: Biztalk Server Adapter Framework 1.1 with VB.NET support FINAL

This link may be useful to me in this process as well:

More to come...


Monday, June 13, 2005

Handling Default Namespaces

Handling Default Namespaces

This article was useful to me in figuring out how to use default namespaces in xslt stylesheets.


Sunday, June 12, 2005

MCSD for Microsoft .NET Certification Requirements

MCSD for Microsoft .NET Certification Requirements

Innovative Architects gives bonuses and gets Microsoft Partner points for employee certifications. I want to keep track of this page because it is likely to be the track I would take to Microsoft Certification.


Saturday, June 11, 2005

Visual Studio 2005: Technical Resources for Visual Studio 2005

Visual Studio 2005: Technical Resources for Visual Studio 2005

I loaded a virtual pc with VS2005 Beta 2. I'll be coming back to this site to get some guided tours of new features.

I watched this webcast and was impressed with it:

Whidbey WebCast


Matt's Musings on Messaging - Send XML to a SQL stored procedure (RELOADED)

Matt's Musings on Messaging - Send XML to a SQL stored procedure (RELOADED)

This sample looks promising. I need to do some fairly complex CRUD operations on a table to keep track of attributes related to a business transaction. Instead of separating create/update/delete statements into separate ports, I want to do it all at once using an xml fragment that I will parse in a stored procedure.

I would use an update-gram, but the only output generated is a "success" message. I want the flexibility of returning the table data post-update back to biztalk. This requirement is not supported in an update-gram.


XSD Object Code Generator

XSD Object Code Generator

This tool generates a MUCH better class representation of an .xsd schema. The output is a lot easier to consume than the output generated by the default xsd.exe tool that ships with .NET. I wish that the project I am currently working on had used this tool instead of xsd.exe to generate the classes being used.

Friday, June 10, 2005

XML - Prefix problem with XML/XSL

XML - Prefix problem with XML/XSL

I was running into a little bit of a snaffu with using custom xslt in a BizTalk map. All I had to do was reference the appropriate namespace in the map and voila! If only I had discovered that three or four hours ago! :o(


XSL Transformations

XSL Transformations

This is a really good resource for xsl transformations. One of the useful things to me is the section about using xsl:element and xsl:attribute when transforming from xml to xml.

I had an interesting case where I needed to transform an "extensible" database model into a more usable xml structure.

This is the original output of a SQL Server stored proc using For Xml Auto:

<transaction transactionid="1">
<vendor vendordescription="DU">
<status statusdescription="Created">
<transactionattribute attributeid="1" attributekey="TestAttribute1"
attributevalue="TestValue1" attributedatatype="String">
<transactionattribute attributeid="2" attributekey="TestAttribute2"
attributevalue="TestValue2" attributedatatype="String">

I needed the output to be in a format somewhat like this:


So, to accomplish this I created this xsl transformation script:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="">
<xsl:output method="xml" indent="yes" omit-xml-declaration="no" />
<xsl:template match="/">
<xsl:element name="TransactionID">
<xsl:value-of select="//Transaction/@TransactionID" />
<xsl:element name="VendorName">
<xsl:value-of select="//Vendor/@VendorDescription" />
<xsl:element name="Status">
<xsl:value-of select="//Status/@StatusDescription" />
<xsl:for-each select="//TransactionAttribute">
<xsl:element name="{@AttributeKey}">
<xsl:value-of select="@AttributeValue" />

Thursday, June 09, 2005

Monday, June 06, 2005

Saturday, June 04, 2005

Constructing BizTalk 2004 XML Messages (In an Orchestration) - Choices

Constructing BizTalk 2004 XML Messages (In an Orchestration) - Choices

Finally, I found an example of constructing a message and assigning property values to it in BizTalk 2004 Orchestrations. Example number three in this link is what I will be using.

Friday, June 03, 2005

BizTalk Server Orchestration - message has not been initialized in construct statement

BizTalk Server Orchestration - message has not been initialized in construct statement

This may sound very basic...but...

When using the MessageAssignment orchestration shape, if the message you are using has not been instantiated by a map or a port then you must manually instantiate the message:

Message_Type = new System.Xml.XmlDocument();
//Now that the message has been instantiated it can be used.
Message_Type.[PropertyName] = "Property Value";

Wednesday, June 01, 2005

Mark Schmidt's Abode : Creating Multiple Input Maps for BizTalk Server 2004

I may use this to compose multipart mime documents.

I discovered an issue with this post. I was only able to get the BizTalk Mapper to launch when the schemas used in the example were in the same project as the orchestration. There may be another solution, but I don't have time to look for one! I think the reason for the problem is the namespacing used in the schemas I downloaded in the example. -j

...Update 2:
This method only works if the target namespace of all the input maps is defined. If the namespaces are not defined then the map generated only carries across the source schema for the first message. -j

Monday, May 30, 2005

Threat Modeling Web Applications

Since security concerns often take a back seat to speed of delivery, I thought this article was interesting. It shows a simple model for elaborating upon security concerns for web-based applications.

Saturday, May 28, 2005

Re: [xsl] how to remove xmlns attributes in html out put via copy-of

Yippie friggin doo da! I found this xsl script that strips namespaces and prefixes out of an xml document. This is going to be very useful in some Biztalk 2004 transformations that I doing.
W3Schools Online Web Tutorials

Now that I am doing BizTalk work, I will need a better understanding of XPath, advanced Xml, and XSL. So...

Thursday, May 26, 2005

Different Types of BizTalk Schemas

I used this article to generate xsd's from dtd's provided by a client that had to be conformed to. Xsd's are a much easier format to work with without a doubt!
Meeting by Wire - Your NetMeeting Information Source

This site is useful in getting netmeeting up and running and answering related questions.

Wednesday, May 25, 2005

BizTalk 2004 Naming Conventions

Innovative Architects uses these naming conventions for BizTalk 2004 Artifacts.
XML Namespaces, Prefixes, and elementFormDefault

This is a decent document on xml namespace usage.

Tuesday, May 24, 2005

The Enterprise Single Sign-On Service and associated BizTalk Server 2004 services fail after you install Windows XP Service Pack 2 (SP2)

I used method number one to enable RPC Endpoint Mapper client calls attempting to get Biztalk 2004 to configure correctly.

Wednesday, May 18, 2005

Administration for the Microsoft Outlook E-mail Security Update

More outlook security stuff...
Microsoft Office Assistance: Outlook Administrator Pack

This is the configuration tool to modify exchange so security messages in outlook no longer appear.

Thursday, May 12, 2005

Vertical Text in HTML

This may be useful for UI purposes in the future...Only works in IE

Wednesday, May 11, 2005

XML and SOAP Serialization

Here is a simple example of serializing an object to an xml file.

Monday, April 25, 2005

How to access a File Transfer Protocol site by using Visual Basic .NET

I wrapped this code in a COM interface to be used by VB6 stuff that still hangs around insidiously.

Thursday, April 21, 2005

GotDotNet User Sample: FTP Client in .NET

This C# project appears to be a useful sockets wrapper that implements basic ftp functionality.

Friday, April 15, 2005


This is an example of using the Windows API to shell out to a program and wait for the handle to be released.

Wednesday, April 06, 2005

Tuesday, March 22, 2005

Monday, March 07, 2005

We discovered this method:

Dim _dataView As DataView = New DataView(_table, String.Empty, "CartonId Asc", DataViewRowState.CurrentRows)
Dim _rowView As DataRowView() = _dataView.FindRows(_cartonId)

To be more efficient than this method:

Dim _rows() as DataRow

_rows = _table.Select("criteria")

Apparently, the first method creates an in-memory index which is "seeked" through with the find method whereas the second method must perform a table scan.

Friday, February 25, 2005

IIS Tips Tricks & Resources - Forum - IIS 6 (Windows Server 2003) Questions & Answers - invalid credentials and mysql issues

We were having a problem where our webservice was crashing. It looks like the culprit was the printer driver for our printer.

Tuesday, February 22, 2005

Sample Printer Delivery Extension

This is the boilerplate code that Shawn Wildermuth used to write our SRS webservice.

Monday, February 14, 2005

PRB: Incorrect Entries in the Csapp.ini File Cause "s_securehostname Not Found in Admin Database" Error

This fixed an error we had on a staging deployment of the Hatchery application. The csapp.ini file should be in the root of the web application directory.

Monday, February 07, 2005

Use a field in Page footers

SQL Reporting Services
We used this work-around to get dynamic content to display in a Page Footer.

Thursday, February 03, 2005

The Commerce Server 2002 Profile Service creates many connections to SQL Server

This is the source of our passive open connections to the SQL Server from Commerce Server.

Friday, January 21, 2005

mass spec

This is my brother-in-law Tim's blog.

Friday, January 14, 2005

This article explains the dbcc showcontig report and what it means.

Tuesday, January 11, 2005


This article has a sql script that generates index defrag statements for all indexes in a database.