Drummond Certification for AS2 processing

Hello Edi World!


 


BizTalk Server 2006 R2 has been certified by Drummond for EDIINT-AS2 processing http://www.drummondgroup.com/html-v2/as2-companies.html.


 


AS2 support is natively available within the product – meaning you don’t have to pay ’extra’ for it. The integration of the AS2 functionality is seamless so no worries about ’external’ integration!


 


AS2 is support in BizTalk is available in Synch and Asynch (HTTP) modes. MDN/Ack is generated seamlessly and NRR/Reporting is supported too! Bottom-line this is a full feature product!


 


Imagine the possibilities!


 


Namaste!


Suren

Failed to deploy BizTalk system assembly … Microsoft.BizTalk.DefaultPipelines.dll

During the configuration of BizTalk 2004, during the configuring of WMI, there is the following error:

Failed to deploy Biztalk system assembly “D:\Program Files\Microsoft BizTalk Server 2004 Microsoft.BizTalk.DefaultPipelines.dll”. Unspecified exception: Unable to generate a temporary class (result=1).
error CS2001: Source file ‘C:\WINDOWS\TEMP\zkf0npgt.0.cs’ could not be found.
error CS2008: No inputs specified.

Unable to generate a temporary class (result=1).

error CS2001: Source File ‘C:\WINDOWS\TEMP\zkf0npgt.0.cs’ could not be found

error CS2008: No inputs specified

The resolution is to give NETWORK SERVICE read/write access to the C:\WINDOWS\TEMP directory

BizTalk 2006 Configuration: Microsoft SQL Server 2005 Data Transformation Services (DTS) for BAM Archiving is not installed on the local machine

Recently I had to configure a BizTalk 2006 multi-server environment that someone else had built out (installed BizTalk, SQL, prerequisites, etc.)  When running the BizTalk configuration tool I would get the following error:

 

"BizTalk 2006 Configuration: Microsoft SQL Server 2005 Data Transformation Services (DTS) for BAM Archiving is not installed on the local machine.  Please install Microsoft SQL Server 2005 Integration Services.  (Microsoft.BizTalk.Bam.CfgExtHelper.ToolsHelper" … Additional information: “Could not load file or assembly ‘Microsoft.SqlServer.ManagedDTS, Version=9.0.242.0”…

 

I assumed that the SQL Client Tools weren’t installed, which is a requirement per the installation guides.  I also found this post on the same problem, http://blogs.msdn.com/mattlind/archive/2006/08/30/730575.aspx

 

This hunch (which the post confirmed) turned out to be correct so I tracked down the SQL Server DVDs; however, when installing the required SQL Client Tools I would get this error message when the setup package was trying to install OWC11:

 

"Error 1706.  Setup cannot find the required files.  Check your connection to the network, or CD-ROM drive. For other potential solutions to this problem, see C:\Program Files\Microsoft Office\OFFICE11\1033\SETUP.CHM"

  

Since it was failing on the OWC11 portion of the installation I had a hunch that it was the already installed OWC11 (11.0.8003.0) (likely from the BizTalk 2006 pre-requisites .cab file) that was causing the SQL Client Tools setup program problems so I uninstalled OWC11 and then tried to install the SQL Client Tools again.  They installed successfully this time (and they installed OWC11 (11.0.6558.0).

 

I decided to repair BizTalk since things we’re being installed in an odd order; additionally, I extracted the owc11.exe (installer) from the BizTalk prerequisites cab and installed it to be safe.  Now the OWC11 version is back to (11.0.8003.0)

 

I ran the BizTalk configuration tool again it worked smoothly.

 

So, please follow the installation guides carefully to avoid having to troubleshoot your installation/configuration – or at least to avoid increasing the chances of having to troubleshoot J.

Catching XML Schema Errors with the PipelineTesting Library

Catching XML Schema Errors with the PipelineTesting Library

Gregory
Van de Wiele
, a fellow BizTalk MVP, wrote to me a couple of weeks ago with some
good information on how to catch XML Schema errors thrown by the XML Disassembler
Component in a BizTalk pipeline when using my BizTalk PipelineTesting library.
Here’s the scoop:

In order to find a real XML schema error, when using XMLDASM component for validating,
you need to do this:

  1. Inside your test, catch type XmlDasmException
  2. You won’t find the real schema validation error using the Message or ExtendedDescription
    prop: both are empty
  3. GetArgument(0) does the trick. Alternatively you could call the GetErrorMessage(Exception)
    on the Utilities type in the  Microsoft.Test.BizTalk.PipelineObjects

It took me quite some time because I somehow overlooked the private ’arguments’
collections in the debugger. Maybe other people will make the same mistake.

Thanks for the tip, Gregory, I’m sure other people will find it useful! As soon as
I find some free time, I’ll update the PipelineTesting library with this and other
suggestions Gregory passed on! If anyone has other suggestions or feature requests,
now is the time for them :-)

Technorati
tags: BizTalk, BTS, Testing

Microsoft – Demystifying Workflow at the SOA and BP Conference

At this Thursday’s SOA and BP Conference in Sydney, Graham Elliott and I will be doing a session called Demystifying Workflow which will aim to clear up some confusion between WF, BTS and OFFICE workflow. Please drop in and say hi 🙂  We receive lots of questions and have plenty of dialog around this topic so we thought it would be a great opportunity for us to tackle this head on at the conference. We are presenting in the Microsoft Sydney offices 4–5 pm.

Commerce Server 2007: Max’s Training Resources

Max Akbar [MSFT] has put together an excellent post with all the currently available sources of Commerce Server 2007 training. This includes Webcasts, white papers, online docs, virtual labs and blogs. It's a great resource for folks looking to learn more about Commerce Server 2007. Take a look!

Commerce Server Pre-Training Resources

Technorati Tags: Commerce Server

Share this post: Email it! | bookmark it! | digg it! | reddit!| kick it!

How to get workflow data/properties at runtime

I’ve seen many people in the forums trying to figure out the best way to get data from a workflow at runtime. The root of the problem lies in the fact that while you can get a handle to a WorkflowInstance from the runtime, this is really a template and does not contain the values of properties on the workflow. It is a common need to get the current state of your process, or get values from the class.
One solution is to use the local communications activities and call back to the host and have a local service manage the values. But, who wants to drop a bunch of CallExternalMethod activities in all of their workflows. No the answer, not surprisingly, lies with tracking.
Tracking in workflow provides so much power and flexibility to extract data that you are interested in. I’ve created a custom tracking service which tracks the workflow properties at runtime and stores them in a dictionary in the service. When you want to get the current property values for a workflow, you get the tracking service from the runtime, then ask it for the properties which you get back as a Dictionary<string, object> just like the parameters you passed into the workflow.
There are two keys to getting this work and both revolve around the tracking profile. First, it is important to know that when you define an ActivityTrackPoint, you can add data extracts which define the data to extract and send to the tracking channel. But those extracts can either be activity extracts, or workflow extracts. So, I define an activity track point to track all activities on close and add Workflow level extracts to pull the properties off of the workflow at that point. The second key piece is figuring out what properties are available on each workflow type. This service would be pretty limited if it were tied to a specific workflow type. Instead, when the profile is created based on a workflow type, I reflect on the type to get the public properties defined in this type (not the base classes though you can do that too) and build the extract definitions from them.
So, when a workflow is run, the profile is created indicating that on each activity closed, the properties of the workflow should be sent to the tracking channel. In the channel, I simply update the dictionary of values stored in the service. Finally, when an instance completes or terminates, I remove the values from the dictionary.
You could track more often by using other statuses on the activity tracking location, but beware of the overhead tracking may add in these cases.
I hope this is helpful. As always, comments and feedback are welcome.

SQL Adapter changes in BTS 2006!

This is been an old post lying in my drafts…apologies if it is slightly not in sync.
While migrating our applications from BizTalk Server 2004 to BizTalk Server 2006, we came across a weird error when we were trying to debatch a message received from sql server 2000/2005:
“Unexpected event (”document_start”) in state”processing_empty_document”.”
This error occurs due to […]