More servicesWindows Live
HomeHotmailSpacesOneCare
 
MSN
Sign in
 
 
Spaces home  Andy's WarholeProfileFriendsBlogMore Tools Explore the Spaces community

Andy's Warhole

No list items have been added yet.
8/14/2008

Correlating BizTalk Instance with the PID of the BizTalk Service

Just back from holidays, I needed to debug a c# component used in one of our orchestrations. Since we introduced some additional host instances, I needed to to determine to which host instance (service) to attach to. In the Attach to Process dialog it is not possible to see to which host instance the pid belongs, they, in this example, both show as  BTSNTSvc.exe.

Attach to Process  

However, by executing the tasklist command using the command prompt you are able to determine where to attach to.
Execute the following command (on a 32 bit server):

tasklist /svc /fi "imagename eq btsntsvc.exe"

  • tasklist
    Displays a list of applications and services with their Process ID (PID) for all tasks.
  • /svc
    Lists all the service information for each process without truncation.
  • /fi <filter name>
    Specifies the types of process(es) to include in or exclude from the query. The eq is equals.

The result after executing the command will be something like:

Taslist Command

As the orchestrations are run within the BtsProcessingHost, the belonging PID can now easily be found and the component attached the corresponding BizTalk service.

7/15/2008

Promoted properties and datatypes

 
When doing some modifications in a BizTalk solution I changed the datatype of an element in a Property Schema from string to long. After deployment it gave me the following error:
 
There was a failure executing the receive pipeline: "Microsoft.BizTalk.DefaultPipelines.XMLReceive, Microsoft.BizTalk.DefaultPipelines, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Source: "XML disassembler" Receive Port: "Load ..." URI: "D:\In\XML\*.xml" Reason: Cannot convert "SomeID" to "long" because the type is not supported.
I simply forgot BizTalk does not support promoted properties of type long. Changing the datatype back to string solved the problem.
 
 
6/4/2008

BizTalk schema editor, base data types and restrictions

When you define an element with data type xs:decimal, there is no way that you can control the digits using the XSD schema editor in Visual Studio. However, you can still add the fractionDigit facet, by editing the BizTalk schema in a text/xml editor. Just add the following code under the xs:decimal data type element:

<xs:simpleType>
            <xs:restriction base="xs:decimal">
                        <xs:fractionDigits value="3" />
            </xs:restriction>
</xs:simpleType>

If you than validate an instance the error nicely refers to the fractionDigits facet specified:

The '….' element is invalid - The value '169.5652174' is invalid according to its datatype 'Decimal' - The FractionDigits constraint failed.

Nice feature!

While searching the internet I found this article by Stephen Kaufman describing the fractionDigit feature. It was written before BizTalk 2006 was even there. I'm wandering why this feature was not incorporated in BizTalk Server 2006 (R#).

6/3/2008

Flat-file Custom Date/Time Formats

Technorati Tags: BizTalk Server 2006;Flat File;Custom Date/Time Format
 
Lately I've been doing a lot of flat file validations and transformations. One of the conversions dealt with date/time conversions. In the schemas I wanted to use the xs:date datatype. However, the dates in the files supplied did not conform to the ISO 8601 format.
 
When experimenting with the schemas, I ran into a property called Custom Date/Time Format. In that property you can define the alternative format of the actual supplied value and the flat file disassembler converts it to an xs:date format.
 
 BTS - Custom Format
 
The use of Custom Date/Time Formats is explained in details at the Microsoft's BizTalk Server TechCenter.
4/28/2008

Team Foundation Server; 'Working folder is already in use'

Technorati Tags: Team Foundation System;TFS
 
Recently we migrated to TFS using virtual machines. However, when trying to get the sources creating work spaces and mapping working folder I ran into problems. The message I got was: 'The working folder is already in use by another workspace on this computer'.
 
I followed some advice to remove the workspace using the command:
 tf workspace /delete /server:http://<server>:8080 <computer>;<domain>\<client>
 
It did not solve my problem. The error indicates tha the server believes this folder is already in use in another workspace. So, I created a workspace using a different machine name and it worked. However, I did not want to use a different name other than my virtual machine name. It took me a moment to realise that there indeed was another workspace with the same name.  The person who cloned the virtual machines also had a workspace with the same machine name, but a different user name. Aparently, the workspace is bounded to a machine name and not to machine name and user as I would expect.
 
Another lesson learned...
View more entries
 
No list items have been added yet.