![]() |
|
Spaces home Andy's WarholeProfileFriendsBlogMore ![]() | ![]() |
|
|
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:
If you than validate an instance the error nicely refers to the fractionDigits facet specified:
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 FormatsTechnorati 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.
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:
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... 4/25/2008 'An error has occurred while establishing a connection to the server'
When deploying a BizTalk project from Visual Studio, you sometimes run into this error:
This happened to me when migrating from Visual SourceSafe, VSS, to Team Foundation System, TFS, by copying the projects from a pc to a virtual machine. To solve this error, perform the following steps:
The error happens since the servername is listed in the projectname.btproj.user file that is a part of the project. I often forget the change the servername, so this is to not forget it the next time. 4/23/2008 BizTalk Server 2006 R3Technorati Tags: BizTalk 2006,BizTalk 2006 R3,VS2008,SQL Server 2008 Today I read a blogpost on BizTalk Server Team Blog announcing the plans to deliver BizTalk server 2006 R3. This new release will support Windows Server 2008, .Net framework 3.5, Visual Studio 2008 and SQL Server 2008. According to Steve Martin's blogpost a CTP of BizTalk Server R3 is expected later this year and the RTM is planned the first half of 2009.
3/25/2008 "Could not write to output file"Occasionally, I run into the following error when building a solution containing multiple BizTalk projects:
I found this simple solution here. Just close and reopen Visual Studio 2005. Now you can rebuild your solution. Annoying, but it works. 3/18/2008 "An error has occurred while establishing a connection to the server"Recently I ran into this when I tried to deploy my BizTalk project from Visual Studio 2005:
I had run into this error before and after a few minutes I remembered what I did wrong: the server name. Since I moved the solution and projects from Visual Source Safe to Team Foundation System in a virtual machine environment, I needed to change the server name of the project. To change the property, complete the following steps:
Now let's hope I won't forget it a next time. 2/15/2008 Enlist Send port problemRecently I ran into a strange problem using a bindings file.
To improve error handling for Oracle send port errors I enabled routing for failed messages and setup a send port subscribing to those error messages using a filter. After running some tests I concluded all worked nicely. So far, so good.
Since we're using different environments; development, integration, test, acceptance and production to name them all, we're using installation scripts to install BizTalk applications. In order to include the newly created port in the binding files for the separate environments, I exported my development binding file and manually adjusted the binding file for the test integration environment using visual studio 2005.
Then I successfully ran the install script. However, when I checked the BizTalk application I noticed the orchestrations were not enlisted, and the send ports and receive locations were not started. When I tried to manually start the newly created port I ran into the following error:
I than looked a the properties and noticed the filter expression had disappeared. When I live searched the internet, I came across the article Problem Enlisting Send Port. The article mentioned exactly mentioned the exact problem and more important the solution.
The cause of the problem is the slight reformatting xml within the Filter element of the binding file; extra lines are added before and after within the filter element.
<Filter>
<?xml version="1.0" encoding="utf-16"?>
... </Filter> </Filter>
The way it should be.
<Filter><?xml version="1.0" encoding="utf-16"?> ... </Filter></Filter> Strange? Certainly! 1/29/2008 Catching errors from the Oracle Adapter
My current BizTalk project involves implementation of the Oracle adapter. In order to improve the current error handling when writing data into and retrieving data from Oracle I tried to implement the suggested way of using a fault message in How to Add a Fault Message. However, I could not get it to work. According to the documentation the Oracle adapter communicates through the ODBC API via SOAP messages. Instead of using the Fault method I decided to catch the SOAP exception message. Since it involved a request response send port I could not use the DeliveryFailureException by setting the Delivery Transmitted property to Transmitted. In order to catch the SOAP Exception you have to add a reference to the System.Web.Services namespace in your BizTalk project. Once you have added the reference, you can set the Exception Object Type to System.Web.Services.Protocols.SoapException in the Catch/Error handler block. Note that when you make use of the InnerException object of the SOAP exception object an error can occur when the InnerException object is null. ExSOAP.InnerException.Message will then result in an XLANGS/s error:
1/23/2008 'System.Xml.XmlDocument' does not contain a definition for 'xxxxx'
Recently I used the following code to get the value of a promoted property:
However, this statement caused the following error during compilation:
There is an easy way to solve this; use the System.Convert method:
That's it. 1/9/2008 BizTalk FTP adapter: final round 2OK, in BizTalk FTP adapter: round 1, I was facing some problems when downloading large files.Apparently, this problem is very easy to solve according to this knowledge base article. "This problem occurs because the value of the Polling Interval property of the receive location that is configured for an FTP site is less than the time that it takes to receive a large file." The resolution than is set the Polling Interval property in the FTP Transport Properties dialog box to a longer duration. To be safe, the first time I set he first a very long polling interval. After extensive analysis and testing, I managed to bring it back to a just a couple of minutes. Further enhancements will be made when files are zipped. Flat file to XMLWhile processing large flat files with BizTalk 2006, I thought it be useful to have the files archived for informational purposes. So, I made a send pipeline subscribing to the large message to archive the file. The flat file coming in was about 230 MB in size, while the size file was about 650 MB. After a moment of being surprised by this large increase in size, I realized that the file being archived is XML format. Sometimes, I forget. Note that initially the file was much larger, about 3-5 times as large. We managed to decrease the file size by using very short element and node names in the schema. 1/4/2008 Orchestration Exception HandlingRecently I was investigating an orchestration's exception handling. When I looked into some of the error messages, the object properties were empty, meaning no error number or error description. After some live-searching I found this post. Indeed, the exception caught in the orchestration was the General Exception and not the System.Exception. So, keep in mind the subtle differences between BizTalk 2004 and Biztalk 2006. Sometimes backwards compatibility is not one of my favorite features. 12/24/2007 BizTalk FTP adapter: round 1Recently I had to implement BizTalk's the FTP adapter. However, we're using large files and I mean really large files; 250+ MB. I know BizTalk is not meant for handling bulk messages, but that discussion is past now. The problem with these large files is that when you're copying the file to the FTP site, BizTalk at the same time is polling for the file and tries to receive it. This results in errors. 1. BizTalk Server 2006 Warning 2. BizTalk Server 2006 Error 3..7 BizTalk Server 2006 Warnings I've changed the polling interval and some of the configurations of the FTP adapter. It actually worked once, but I'm still testing if it works in all cases. I'll keep you posted. 12/19/2007 BizTalk 2006 Oracle Adapter issueRecently I wanted to provide nil values to an Oracle database using the standard Oracle adapter. So I used the handy Nil value functoid in the BizTalk mapper. However, the Nil value functoid doesn't work for number fields. The value supplied to Oracle is a 0 (zero). It does fortunately work for string fields. Really annoying to write triggers in Oracle to overcome this nil value 'bug' for number fields. 12/17/2007 Re-organizing BizTalk project solutionRecently I wanted to re-organize a BizTalk solution. I had some maps, schemas and orchestrations and wanted them neatly organized in folders with the same name. So I moved a map in the maps folder in my project. However, the mapper complained I couldn't find the schema's anymore. A simple replacement of the schemas involved did not work, which greatly surprised me. I recalled that if you opened the mapping in a text editor you can see a reference to the schema. This reference is a relative path reference. I ended up changing the mapping in a text editor. Changing the beginning of the reference from .\<path> to ..\<path> solved my problem. Strange?! 12/10/2007 External assembly in BizTalk mappingSome strange things happened to me last week. I have a mapping in BizTalk and in that mapping I'm calling an external assembly. When I changed the assembly version I updated my mapping, but I got errors using the assembly. So I checked the mapping, but everything seemed to be fine. However, when I opened the mapper the previous version of my assembly was still referenced. After a couple of tries solving the problem, I ended up editing the mapping in a text editor which finally solved the problem. Strange! 11/23/2007 BizTalk Server 2006Currently I'am working for a large music company. For the processing of their world wide digital sales they use BizTalk Server 2006. I'm responsible for the implementation of functional and non-functional changes. In monthly iterations new functionalities are released into production. Besides designing and implementing, I do some consultancy about the new BizTalk environment for the global services platform that will support the world wide SOA architecture. |
|
|