BizTalk 2010 Likely Compatible with Commerce Server 2007 Adapters

Based on a thread today on the MSDN forums I tried working with BizTalk 2010 RTM and the Commerce Server 2007 adapters. These are the same adapters used for Commerce Server 2009. I had worked with these adapters on a recent project with BizTalk 2009. I just wanted to post that the adapter install went successfully and I was able to add the adapters in the BizTalk 2010 administration console and able to create ports like normal. So this is an excellent compatibility story.

I had already confirmed these adapters worked with W2K8 R2 about a year ago. My test today of BizTalk 2010 RTM was also on W2K8 R2 with SQL 2K8 R1. Be aware that I only tested the BizTalk adapters and did not work with the Commerce Server business applications or any other aspect of Commerce Server.

Last year Cactus eventually certified/verified that these same adapters appeared to work successfully with BizTalk 2009: http://blogs.msdn.com/b/rdonovan/archive/2009/07/22/biztalk-server-2009-now-works-with-commerce-server.aspx, so I would expect a similar announcement eventually.

Thanks,

How to Abort a Commerce Server Catalog Import Part II

A couple months ago I wrote a post about a dirty way of aborting a Commerce Server catalog import which involved stopping SQL Server and various other invasive procedures. Tonight I found out there is at least one but maybe two ways of doing this, one supported and other basically a hack.  
 
First for the supported way. I was able to dig up this API method for cancelling an import as part of the ImportProgress class. It seems like the cancel method would be on a catalog import class rather than on the progress tracking class but I am just glad to know there is a supported way: http://msdn.microsoft.com/en-us/library/microsoft.commerceserver.catalog.importprogress.abort(CS.70).aspx. Once I can build a utility class to do this I will post it here.
 
I did find another approach that seemed to work too. A colleague suggested looking at the CatalogStatus table in the productcatalog table to watch the status of the imports. When looking at this table I noticed the AbortRequested field which is a bit flag that can be set to cancel a pending or ongoing import. It seemed like this would be documented better and I did find a small amount of information on this field: http://msdn.microsoft.com/en-us/library/bb509008(CS.70).aspx. I set the field to 1 in order to stop some pending imports and they did not start. The statement to run is based on the StatusId column which seems to hold an arbitrary value so I am not sure if it is possible to get this value from somewhere else. So you would run something like this to cancel a catalog import with a StatusId of 1:
 
Update [MyCommerceSite_productcatalog].[dbo].[CatalogStatus]
Set AbortRequested = 1
Where StatusId = 1
 
Again, I wish this were documented better but was quite glad to have at least a hack to save me a couple hours waiting for some imports to finish. Thanks!

How to Abort a Commerce Server Catalog Import

While working on a Commerce Server/BizTalk project I have encountered a workaround for when you are running a Commerce Server replace import. From BizTalk server we would kick off a large import of Commerce Server catalog records and occasionally need to run these in replace mode. Replace mode handles reorganizing the underlying data structures of the Commerce Server catalog. Incremental mode merely updates the data with supplemental information. These modes are documented here: http://msdn.microsoft.com/en-us/library/aa546041(CS.70).aspx.
 
We have found that replace mode runs quite a bit slower than incremental so we usually just run incremental. When the Commerce Server catalog columns or design changes we need to run a replace. A significant issue with the Commerce Server catalog adapter is that it does not allow you to do concurrent import execution for the same Commerce Server site. So usually if you start up a replace you wind up waiting for it to complete. Even if the BizTalk process stops, the Commerce Server process continues and keeps blocking subsequent imports. I had not been able to find any other way to abort an import except these steps:
 
If you want to force a stop of a Commerce Server import, do the following steps:
 
  • Stop the SQL Server instance hosting the Commerce Server catalog database
  • Run iisreset to refresh the process hosting the Commerce Server catalog web service.

Thanks,

Blog at WordPress.com.

Up ↑