Posts

Showing posts from October, 2011

Changing BizTalk Mapper Item templates

Image
  To be able to configure default value for artifacts that are created from within Visual Studio we can leverage the ‘Item Template‘ functionality. I have done this to adjust the mapping behavior , specifically the value for setting ‘GenerateDefaultFixedNodes’ which is default ‘YES’. See my previous post on this subject. Tags van Technorati: Item Templates BizTalk Mapper Mapper behavior Below are the steps to follow The ItemTemplates is a folder that contains the template files used when you create a new item. The map template can be found in the folder: Map Files This is a .zip file that contains a .BTM file. Change the value of ‘GenerateDefaultFixedNodes’ to one of the above values and save the .zip file. After changing the value, the template is not working, why??? The templates are cached in the folder: C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\ ItemTemplatesCached \BizTalk\ Map Files You have to register the value by entering the following co

BizTalk Mapper vs Attributes with Defaults….Schema Elements with an attribute having a default value are ALWAYS generated

Image
  ‘Challenge’: Schema Elements with an attribute having a default value are ALWAYS generated, this is because of the default mapping behavior. Structure of this post: What is the problem Why is this How to overcome this Change BizTalk behavior using visual studio templates What is the problem Attributes with a Default Value are generated even though the element is optional. Consider this schema, which has an Data element. The element ‘OptionalAttributeDefault’ is optional (minoccurs:0) and has an attribute with a Default value: ‘LINUX’ The element ‘RequiredAttributeDefault’ is mandatory (minoccurs:1) and has an attribute with a Default value: ‘CAT141.12’ The element ‘RequiredDefaultValue’ is mandatory (minoccurs:1) and has a default value: ‘Test’ When we execute the map which does not map the ‘Data’ element like this: The XML output generated is: <ns0:Destination xmlns:ns0=" http://AttributeTest.Schema2" >     <Name>Name_0</Name>  

BizTalk Scripting functoid explorer (codeplex)

  I came across this tool to extract the scripts from maps found in a folder and really like it. Running the tool on my project BizTalk 2010, I had some errors (minor), I have posted a patch with some minor modifications. If anyone is an Xslt Guru, please contribute because this would make it a perfect tool to generate Mapping documentation!   Cheers, Sander

Flat File schema - The tag overlaps one or more fields that contain a fixed data value

Image
  I recently had to patch up a schema that was defined but had to be evaluated for re-usability. This warning was generated: Warning    1    Record "RecepientOrderShipDetail" - The tag overlaps one or more fields that contain a fixed data value.    \OrderShipped_FF_<System>.xsd   The record RecepientOrderShipDetail had a TAG identifier which was correct, however for some reason a child atrribute @RecordID has a FIXED value with the same value as the parents TAG identifier. Since both the TAGS were working on the same Offset the positional ‘bandwidth’ was used by the Attribute. To prevent this warning I removed the fixed value of the Attribute   Since this error is rather unclear I hope this helps in solving the problem when you run into this.   Regards, Sander

BizTalk Deployment Framework – Always provide the OutputPath!

Image
A hard lesson I learnt….as I was fiddling around with the BizTalk Deployment Configuration, ALWAYS make sure to define a property group applicable to your configuration and be sure to set the OutputPath. I had defined several propertygroups and modified the conditions to make sure it would work on a build server (provided additional MSBuild properties), however I forgot one combination, the PropertyGroup for the ‘Release’ configuration. I had set my BTDF project to configuration ‘Release’….which led to a not so cool outcome…files were removed from C:\ This is caused by the WixTargets file (MSBUILD\Deployment Framework For BizTalk\5.0\BizTalkDeploymentFramework.WiXSetup.targets;       <!-- Delete any existing output files -->     <CreateItem Include="$(OutputPath)\**\*.*">       <Output TaskParameter="Include" ItemName="OutputsToClean" />     </CreateItem> If the $(OutputPath) is not provided the value become “.” causing the effe

ESB Toolkit ‘DSL Itinerary error (XML Node not serializable)’

Today I received this error; Cannot save 'C:\Projects\<SolutionFolders>\<NameOfItinerary>.itinerary': Type 'System.Xml.XmlNode' in Assembly 'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' is not marked as serializable.   As stated in the Biztalk social forum ; - Somehow one of the shapes led to a corrupted itinerary - Remove the shapes one by one to identify the one generating the error - Recreate the shape - It now works…magic!   Also make sure that everything is properly deployed   (when using an orchestation extender) before changing the itineraries.   HTH, Sander

WCF-Oracle and Oracle Advanced Queing (AQ) – tips

Image
If you use the WCF-Oracle adapter to communicate with Oracle Advanced Queing you are in for a treat. We followed the steps suggested in a very good MSDN post . There are however some caveats; Username is case sensitive The generated schemas have a reference to the package, and Database schema, make sure this is consistent throughout the environments The generated schemas are slightly different then what the WCF-Oracle adapter expects in some cases (more on that below) Use a count procedure to determine if there are messages Generated the schemas is done by following the standard ‘Add Generated items’ wizard so that should not be hard to do. When you generate schemas for Oracle they will typically have the targetnamespace: /Package/http://Microsoft.LobServices.OracleDB/2007/03/ <DATABASESCHEMA> /Package/ <PACKAGENAME > Where the <DATABASESCHEMA> could be something like ‘DBOWNER’ and the packagename could be whatever. When you implement thi

New look and feel

Hi there, Minor update on my blog, I completely changed to look and feel, hopefully it’s now more accessible. I will try to update my blog more often!   Regards, Sander