<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Atin Agarwal's Blog</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/atinag/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/atinag/feed.xml</link>
    <description>From the desk of a BizTalk Professional</description>
    <lastBuildDate>Tue, 16 Apr 2019 04:42:28 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Nice wiki on Application Configuration options in BizTalk server</title>
      <link>https://docs.microsoft.com/archive/blogs/atinag/nice-wiki-on-application-configuration-options-in-biztalk-server</link>
      <pubDate>Wed, 31 Oct 2012 23:52:57 GMT</pubDate>
      <dc:creator><![CDATA[Atin Agarwal]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/atinag/2012/10/31/nice-wiki-on-application-configuration-options-in-biztalk-server/</guid>
      <description><![CDATA[&#160;  Here, is a nice wiki article on Application Configuration options in BizTalk Server....]]></description>
      <content:encoded><![CDATA[<p>&#160;</p>  <p>Here, is a nice wiki article on Application Configuration options in BizTalk Server.</p>  <p><a href="https://social.technet.microsoft.com/wiki/contents/articles/6494.biztalk-server-application-configuration-options.aspx">https://social.technet.microsoft.com/wiki/contents/articles/6494.biztalk-server-application-configuration-options.aspx</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Property getting promoted with null or empty value</title>
      <link>https://docs.microsoft.com/archive/blogs/atinag/property-getting-promoted-with-null-or-empty-value</link>
      <pubDate>Tue, 06 Dec 2011 09:44:05 GMT</pubDate>
      <dc:creator><![CDATA[Atin Agarwal]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/atinag/2011/12/06/property-getting-promoted-with-null-or-empty-value/</guid>
      <description><![CDATA[Today, I was looking into an issue where a property was getting promoted with a null value though we...]]></description>
      <content:encoded><![CDATA[<p>Today, I was looking into an issue where a property was getting promoted with a null value though we were expecting property to not get promoted as the element was not present in the input message. Due to this, our subscription criteria at the Send Port of Property exists matched and the message was routed to this Send Port. Our business logic was that whenever that element exists in the input message and property gets promoted, then only Send Port needs to subscribe to it. But due to the null value getting promoted, whenever element was not present in the input message, our business logic failed.</p>  <p>The interesting thing was that on another BizTalk environment , whenever that element was not present in the input message, property was not getting promoted and hence subscription worked as expected. One difference I could find out between these two environments,&#160; was that where it worked as expected was BizTalk 2006 R2 and other where it promoted null values was BizTalk 2006. I am not sure if there is a change in behavior on promoted properties between BizTalk 2006 and BizTalk 2006 R2.</p>  <p>Searching on internet, I found <a href="https://support.microsoft.com/kb/942250">https://support.microsoft.com/kb/942250</a> which says, “Properties that have a null value are not permitted in the message context. Therefore, if a null value is written into the message context, this value will be deleted.” So definitely promoting null values is not expected and may be, this could be a bug with BizTalk 2006.</p>  <p>We needed to have a quick workaround as there was some other testing which depends on it. Now I tried adding a filter with a blank value &lt;empty string&gt; as below.</p>  <p><a href="https://atinag.files.wordpress.com/2011/06/untitled.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Untitled" border="0" alt="Untitled" src="https://atinag.files.wordpress.com/2011/06/untitled_thumb.png" width="658" height="531" /></a></p>  <p>But when I clicked Apply, it threw error: “The filter expression statement element is missing the value attribute”</p>  <p><a href="https://atinag.files.wordpress.com/2011/06/image.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://atinag.files.wordpress.com/2011/06/image_thumb.png" width="625" height="141" /></a></p>  <p>So it means that I cannot add a filter on a blank value or empty string.</p>  <p>But surprisingly, there was a easy workaround. Just put a space in the Value and there we go, we were able to Apply the filter successfully. And it worked too, i.e. it didn’t subscribed to the messages with null promoted property.</p>  <p><a href="https://atinag.files.wordpress.com/2011/06/untitled1.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Untitled" border="0" alt="Untitled" src="https://atinag.files.wordpress.com/2011/06/untitled_thumb1.png" width="658" height="531" /></a></p>  <p>I still need to find out why it promoted null values at the first place or if it is a bug with BizTalk 2006. Will update this blog post if I am able to find out any further information on it.</p>]]></content:encoded>
    </item>
    <item>
      <title>ENTSSO Error</title>
      <link>https://docs.microsoft.com/archive/blogs/atinag/entsso-error</link>
      <pubDate>Tue, 06 Dec 2011 09:38:03 GMT</pubDate>
      <dc:creator><![CDATA[Atin Agarwal]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/atinag/2011/12/06/entsso-error/</guid>
      <description><![CDATA[Today I was looking into an issue where we were receiving following error in the event log while...]]></description>
      <content:encoded><![CDATA[<p>Today I was looking into an issue where we were receiving following error in the event log while trying to start the SSO Service.</p>  <p>Event Type:&#160;&#160;&#160; Error    <br />Event Source:&#160;&#160;&#160; ENTSSO     <br />Event Category:&#160;&#160;&#160; Enterprise Single Sign-On     <br />Event ID:&#160;&#160;&#160; 10728     <br />User:&#160;&#160;&#160;&#160;&#160;&#160;&#160; N/A     <br />Description:     <br />This version of the SSO server is not compatible with the SSO database. Please upgrade your master secret server.     <br />SQL Server Name:<font color="#555555"> </font><font color="#000000">xxxxxxxxxxx</font><font color="#000000">     <br /></font>SSO Database Name: SSODB     <br />SSO Database Version: 0.0     <br />Required Version: 3.0</p>  <p>This error was confusing since there was no change made to the SSODB or the SSO Server. Troubleshooting here and there, we didn’t got any clue. That time, I wanted to gather a <a href="https://blogs.technet.com/b/jpierauc/archive/2007/12/18/msgboxviewer.aspx" target="_blank">MsgBoxViewer</a> report to see if it gives any insight as to what caused this incompatibility. But, MsgBoxViewer tool itself threw error “Cannot generate SSPPI context” while trying to connect to BizTalkMgmtDB. It meant that from BizTalk server we were not able to connect to SQL Server hosting BizTalk databases. This got confirmed when we tried to test the connectivity using a UDL file with Windows Integrated Security.</p>  <p>We then worked to resolved the error “Cannot Generate SSPI Context” while connecting to SQL databases. This issue was resolved once we ran the SQL server under Local System account. Apparently, looks like we were running into issue similar to what is described in <a href="https://blogs.msdn.com/b/sql_protocols/archive/2005/10/15/481297.aspx">https://blogs.msdn.com/b/sql_protocols/archive/2005/10/15/481297.aspx</a>.</p>  <p>Once, the error “Cannot Generate SSPI Context” was resolved, we were able to start the SSO Service successfully.</p>]]></content:encoded>
    </item>
    <item>
      <title>Is it mandatory to install SSIS on SQL Server hosting BizTalk Databases</title>
      <link>https://docs.microsoft.com/archive/blogs/atinag/is-it-mandatory-to-install-ssis-on-sql-server-hosting-biztalk-databases</link>
      <pubDate>Mon, 02 Aug 2010 15:13:45 GMT</pubDate>
      <dc:creator><![CDATA[Atin Agarwal]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/atinag/2010/08/02/is-it-mandatory-to-install-ssis-on-sql-server-hosting-biztalk-databases/</guid>
      <description><![CDATA[I was working with a customer recently where they do not want to install SSIS on the SQL Server...]]></description>
      <content:encoded><![CDATA[<p>I was working with a customer recently where they do not want to install SSIS on the SQL Server hosting BizTalk databases, instead the requirement was to have a separate server dedicated to SSIS which will run the BAM packages. At the first instinct, it seemed like that this is not possible and we need to have SSIS on the SQL Server otherwise we cannot deploy any BAM package using bm.exe. While working on it, we figured out that it is not mandatory to have SSIS on the same SQL Server hosting BizTalk databases and we figured out some more pieces of it. So I thought this blog post will help if you are not aware of it. </p>  <p>Basically, when we deploy a BAM Activity, it creates the packages at the following location: </p>  <p>1. Data Maintenance(DM) packages are stored on the BAM Archive Database server.    <br />2. Analysis(AN) packages are stored on the BAM Star Schema Database server. </p>  <p>bm.exe also needs a few components from SSIS management API's to create BAM packages, therefore the servers from where you deploy (typically it will be BizTalk Server) also need to install them. You can go through the following posts if&#160; you are interested to find out what is the minimum requirement for the server from where you run bm.exe: <a href="https://blogs.msdn.com/joscot/archive/2009/05/25/do-i-need-to-install-ssis-on-my-biztalk-server-to-configure-and-use-bam-no.aspx">https://blogs.msdn.com/joscot/archive/2009/05/25/do-i-need-to-install-ssis-on-my-biztalk-server-to-configure-and-use-bam-no.aspx</a> and <a href="https://blogs.msdn.com/joscot/archive/2009/08/04/an-update-to-bam-ssis-pre-requisites.aspx">https://blogs.msdn.com/joscot/archive/2009/08/04/an-update-to-bam-ssis-pre-requisites.aspx</a></p>  <p>So now the question is where the SSIS package will be deployed if you do not have the SSIS installed on the SQL server (star schema, archive). These SSIS packages are stored in the MSDB database. If you are interested to know where it will be stored if you are running a named instance of SQL, I will recommend to go through another blog post by John Scott: <a href="https://blogs.msdn.com/b/joscot/archive/2009/05/25/do-i-need-to-install-ssis-on-my-biztalk-server-to-configure-and-use-bam-no.aspx">https://blogs.msdn.com/b/joscot/archive/2009/05/25/do-i-need-to-install-ssis-on-my-biztalk-server-to-configure-and-use-bam-no.aspx</a></p>  <p>Now, you have got the SSIS packages stored in the MSDB database of SQL Server (star schema, archive). You can now remotely run these packages from another server which have got SSIS installed on it. A SSIS package runs on the same computer which starts the package. If a remote package is directly run from a local computer, the package will load and run from the local computer itself. As long as we have the right permissions, the packages should be able to run from anywhere. Considering these, SSIS must be installed on the server from where you plan to run these packages. You can go through <a href="https://blogs.msdn.com/b/michen/archive/2006/08/11/package-exec-location.aspx">https://blogs.msdn.com/b/michen/archive/2006/08/11/package-exec-location.aspx</a> for more details on it. </p>  <p>We can now say that it is not mandatory to have SSIS on the SQL Server hosting BizTalk Databases and it is very much possible to have a dedicated SSIS Server to run these packages. Thanks to Rajat from BizTalk Product Group for providing me the information! </p>  <p>Atin Agarwal</p>]]></content:encoded>
    </item>
    <item>
      <title>Important hotfix if you are running in OutOfMemoryException with Orchestration Host</title>
      <link>https://docs.microsoft.com/archive/blogs/atinag/important-hotfix-if-you-are-running-in-outofmemoryexception-with-orchestration-host</link>
      <pubDate>Mon, 14 Jun 2010 07:23:22 GMT</pubDate>
      <dc:creator><![CDATA[Atin Agarwal]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/atinag/2010/06/14/important-hotfix-if-you-are-running-in-outofmemoryexception-with-orchestration-host/</guid>
      <description><![CDATA[I have seen many BizTalk customers running into OutofMemory Exception while calling a map from...]]></description>
      <content:encoded><![CDATA[<p>I have seen many BizTalk customers running into OutofMemory Exception while calling a map from inside the Orchestration, so I thought this blog post should help.</p>  <p>Typically, this happens when we are calling a map from inside the Orchestration and the map is inside a large assembly. This was a known issue and was documented at <a title="https://support.microsoft.com/kb/918643" href="https://support.microsoft.com/kb/918643">https://support.microsoft.com/kb/918643</a></p>  <p><em>“The System.Policy.Security.Evidence object is often used in transforms and can consume much memory. Whenever a map contains a scripting functoid that uses inline C# (or any other inline language), the assembly is created in memory. <strong>The System.Policy.Security.Evidence object uses the object of the actual calling assembly.</strong> <strong>This situation creates a rooted object that is not deleted until the BizTalk service is restarted</strong>. </em></p>  <p><em>Most of the default BizTalk functoids are implemented as inline script. These items can cause System.Byte[] objects to collect in memory. To minimize memory consumption, we recommend that you put any map that uses these functoids into a small assembly. Then, reference that assembly.”</em></p>  <p>So for example if you have got the map inside a 10 MB Assembly, it will always create 10 MB System.Byte[] objects in the memory and you can imagine how quickly you could run into the OOM Exception if you are on a 32 bit environment. Earlier only workaround was to put map in the small assembly but if you are not able to split the maps and other artifacts by different project, then the good news is that this issue is fixed in <a title="https://support.microsoft.com/?id=975118" href="https://support.microsoft.com/?id=975118">https://support.microsoft.com/?id=975118</a>.</p>  <p>This hotfix has been released for BizTalk 2006, BizTalk 2006 R2 and BizTalk 2009. Also, this hotfix is part of BizTalk 2006 R2 SP1. </p>  <p>I have seen that this hotfix improves memory utilization by the orchestration hosts. This also helps increase performance and stability of the BizTalk applications. If you haven’t got this fix as of yet, I will highly recommend to apply this fix ASAP.</p>]]></content:encoded>
    </item>
    <item>
      <title>DehydrationFailedException occuring in an Atomic orchestration</title>
      <link>https://docs.microsoft.com/archive/blogs/atinag/dehydrationfailedexception-occuring-in-an-atomic-orchestration</link>
      <pubDate>Tue, 20 Apr 2010 13:43:00 GMT</pubDate>
      <dc:creator><![CDATA[Atin Agarwal]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/atinag/2010/04/20/dehydrationfailedexception-occuring-in-an-atomic-orchestration/</guid>
      <description><![CDATA[Have you seen the below error? If yes, may be this post helps.
My customer was receiving below...]]></description>
      <content:encoded><![CDATA[<p>Have you seen the below error? If yes, may be this post helps.</p>
<p>My customer was receiving below error and the strange thing was that though we receive this error in the event log, but we do not see any suspended or dehydrated orchestration in the BizTalk Group which would mean that it got processed successfully. </p>
<p>Event Type: Error    <br />Event Source: XLANG/s     <br />Event Category: None     <br />Description:     <br />Suspending due to exception occurring during dehydration of instance a09542e6-ebe5-489d-af31-ece26de13cf4.     <br />Exception type: DehydrationFailedException     <br />Additional error information:     <br />Exception from HRESULT: 0xC0C01B05     <br />Exception type: COMException     <br />Source: mscorlib     <br />Target Site: Void ThrowExceptionForHRInternal(Int32, IntPtr)     <br />The following is a stack trace that identifies the location where the exception occured     <br />at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)     <br />at Microsoft.BizTalk.XLANGs.BTXEngine.BTXXlangStore.PrepareForActivationComplete(Boolean wait)     <br />at Microsoft.BizTalk.XLANGs.BTXEngine.BTXService.PerformDehydration(Boolean wait)     <br />at Microsoft.XLANGs.Core.Service.Dehydrate() </p>
<p>On further investigation, it was found that this is an transactional orchestration with type atomic (not an atomic scope but complete orchestration is atomic). Also, we found that there is a Send Shape in the end which has got delievery notification to transmitted. Once we changed delievery notification to none, it resolved the error.</p>
<p>I tried to repro this issue only on BizTalk 2006 R2 box. I was able to repro this only when the orchestration is atomic not when we put a send shape with delivery notification under an atomic scope.</p>
<p>Atin Agarwal</p>]]></content:encoded>
    </item>
    <item>
      <title>Biztalk and .NET 4.0</title>
      <link>https://docs.microsoft.com/archive/blogs/atinag/biztalk-and-net-4-0</link>
      <pubDate>Wed, 28 Oct 2009 12:51:48 GMT</pubDate>
      <dc:creator><![CDATA[Atin Agarwal]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/atinag/2009/10/28/biztalk-and-net-4-0/</guid>
      <description><![CDATA[Just wanted to point you all to...]]></description>
      <content:encoded><![CDATA[<p>Just wanted to point you all to <a title="https://blogs.msdn.com/biztalkcrt/archive/2009/10/28/biztalk-and-net-4-0.aspx" href="https://blogs.msdn.com/biztalkcrt/archive/2009/10/28/biztalk-and-net-4-0.aspx">https://blogs.msdn.com/biztalkcrt/archive/2009/10/28/biztalk-and-net-4-0.aspx</a>, which says not to install .NET 4.0 on existing Biztalk installations. This is still being investigated.</p>]]></content:encoded>
    </item>
    <item>
      <title>Inserting parent child records with Identity column using WCF-SQL Adapter in one transaction</title>
      <link>https://docs.microsoft.com/archive/blogs/atinag/inserting-parent-child-records-with-identity-column-using-wcf-sql-adapter-in-one-transaction</link>
      <pubDate>Mon, 05 Oct 2009 13:47:19 GMT</pubDate>
      <dc:creator><![CDATA[Atin Agarwal]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/atinag/2009/10/05/inserting-parent-child-records-with-identity-column-using-wcf-sql-adapter-in-one-transaction/</guid>
      <description><![CDATA[There would be scenarios where you are inserting into a Parent table which have got an auto...]]></description>
      <content:encoded><![CDATA[<p>There would be scenarios where you are inserting into a Parent table which have got an auto incrementing or an Identity field and you need to get this identity value back and use it to insert into child table records. And that too all, in a single transaction.</p>  <p>In Native SQL Adapter, this kind of composite operation can be achieved using updategram by capturing the value generated for the Identity field using the updg:at-identity attribute. This is documented at whitepaper: <a href="https://msdn.microsoft.com/en-us/library/ms935658(BTS.10).aspx" target="_blank">Working With BizTalk Adapter for SQL Server</a>. But when it comes to WCF-SQL Adapter (Adapter Pack 2.0), since it would not work with updategram, only way I could figure out is to write a Stored Procedure which will do all the stuff in a single transaction and you can then call it from the Send Port. Of course, you can do the same in multiple operations without calling Stored Procedure where you first write to Parent table and get the identity value back as response and then write to child table; but this would not be a single transaction and any failures will writing to child table will not rollback the insertion into Parent table by itself.</p>  <p>Now, when it comes to writing Stored Procedure, if you just need to insert into one parent record and one child record, it would be simpler. But what about if there are multiple child records for a single parent record? For this, we would need to create an Xml message and pass this to the Stored Procedure as an Xml parameter. And then inside the stored procedure, we need to retrieve the values from the Xml message and insert it to our Parent and Child tables. Parsing the Xml message inside Procedure will be not an easy task if the message schema is complicated (especially for EDI Schemas :) ) and will involve good knowledge of writing Xpath Queries. But this becomes really simpler with use of Table Types and Table-Valued Parameters in SQL 2008. (Thanks to Mustansir Doctor for pointing me to this new feature of SQL 2008)</p>  <p>Here is an example of how we can achieve the same using Table Types and Table-Valued Parameters.</p>  <p>Lets say we have two tables Orders &amp; Order Details in SQL 2008 with Primary Foreign relationship&#160; and OrderId is an auto incrementing field.</p>  <p>&#160; <a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/atinag/WindowsLiveWriter/a16ba1b3000b_45F4/Untitled_2.jpg" original-url="https://blogs.msdn.com/blogfiles/atinag/WindowsLiveWriter/a16ba1b3000b_45F4/Untitled_2.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Untitled" border="0" alt="Untitled" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/atinag/WindowsLiveWriter/a16ba1b3000b_45F4/Untitled_thumb.jpg" original-url="https://blogs.msdn.com/blogfiles/atinag/WindowsLiveWriter/a16ba1b3000b_45F4/Untitled_thumb.jpg" width="404" height="148" /></a> </p>  <p>Now, first step will be to create Table Types for the above two tables:</p>  <p>&#160;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/atinag/WindowsLiveWriter/a16ba1b3000b_45F4/image_2.png" original-url="https://blogs.msdn.com/blogfiles/atinag/WindowsLiveWriter/a16ba1b3000b_45F4/image_2.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/atinag/WindowsLiveWriter/a16ba1b3000b_45F4/image_thumb.png" original-url="https://blogs.msdn.com/blogfiles/atinag/WindowsLiveWriter/a16ba1b3000b_45F4/image_thumb.png" width="430" height="202" /></a>&#160; </p>  <p><span style="font-family: &quot;Courier New&quot;; color: blue; font-size: 10pt"></span></p>  <p><span style="font-family: &quot;Courier New&quot;; color: blue; font-size: 10pt"></span></p>  <p><span style="font-family: &quot;Courier New&quot;; color: blue; font-size: 10pt"></span></p>  <p><span style="font-family: &quot;Courier New&quot;; color: blue; font-size: 10pt"></span></p>  <p><span style="font-family: &quot;Courier New&quot;; color: blue; font-size: 10pt"></span></p>  <p><span style="font-family: &quot;Courier New&quot;; color: blue; font-size: 10pt"></span></p>  <p><span style="font-family: &quot;Courier New&quot;; color: blue; font-size: 10pt"></span></p>  <p><span style="font-family: &quot;Courier New&quot;; color: blue; font-size: 10pt"></span></p>  <p><span style="font-family: &quot;Courier New&quot;; color: blue; font-size: 10pt"></span></p>  <p><span style="font-family: &quot;Courier New&quot;; color: blue; font-size: 10pt"></span></p>  <p><span style="font-family: &quot;Courier New&quot;; color: blue; font-size: 10pt"></span></p>  <p><span style="font-family: &quot;Courier New&quot;; color: blue; font-size: 10pt"></span></p>  <p><span style="font-family: &quot;Courier New&quot;; color: blue; font-size: 10pt"></span></p>  <p><span style="font-family: &quot;Courier New&quot;; color: blue; font-size: 10pt"></span></p>  <p>We do not need to have OrderId field in the Table Type created as this is an incrementing field and we do not need to pass this in parameters passed to Stored Procedure.</p>  <p>Now, create a stored procedure to which we will pass this Table Type as parameter and inside it we will first insert into Orders table and read out the Identity value and use it to insert into OrderDetails table. Also, notice that reading out values from the Table Type objects is as simple as reading out form a Table.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/atinag/WindowsLiveWriter/a16ba1b3000b_45F4/Untitled_2.png" original-url="https://blogs.msdn.com/blogfiles/atinag/WindowsLiveWriter/a16ba1b3000b_45F4/Untitled_2.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Untitled" border="0" alt="Untitled" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/atinag/WindowsLiveWriter/a16ba1b3000b_45F4/Untitled_thumb_2.png" original-url="https://blogs.msdn.com/blogfiles/atinag/WindowsLiveWriter/a16ba1b3000b_45F4/Untitled_thumb_2.png" width="541" height="484" /></a> </p>  <p>Now, what all we have to do is to use Consume Adapter Service through Visual Studio to generate Schema.</p>  <p>&#160;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/atinag/WindowsLiveWriter/a16ba1b3000b_45F4/Untitled2_2.jpg" original-url="https://blogs.msdn.com/blogfiles/atinag/WindowsLiveWriter/a16ba1b3000b_45F4/Untitled2_2.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Untitled2" border="0" alt="Untitled2" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/atinag/WindowsLiveWriter/a16ba1b3000b_45F4/Untitled2_thumb.jpg" original-url="https://blogs.msdn.com/blogfiles/atinag/WindowsLiveWriter/a16ba1b3000b_45F4/Untitled2_thumb.jpg" width="679" height="607" /></a> </p>  <p>It will generate two schemas TableType.dbo.xsd and TypedProcedure.dbo.xsd along with a binding file for the WCF-SQL Adapter.</p>  <p><strong>TableType.dbo.xsd</strong></p>  <p>&#160;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/atinag/WindowsLiveWriter/a16ba1b3000b_45F4/Untitled3_2.jpg" original-url="https://blogs.msdn.com/blogfiles/atinag/WindowsLiveWriter/a16ba1b3000b_45F4/Untitled3_2.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Untitled3" border="0" alt="Untitled3" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/atinag/WindowsLiveWriter/a16ba1b3000b_45F4/Untitled3_thumb.jpg" original-url="https://blogs.msdn.com/blogfiles/atinag/WindowsLiveWriter/a16ba1b3000b_45F4/Untitled3_thumb.jpg" width="218" height="294" /></a> </p>  <p>&#160;<strong>TypedProcedure.dbo.xsd</strong></p>  <p>&#160; <a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/atinag/WindowsLiveWriter/a16ba1b3000b_45F4/Untitled4_2.jpg" original-url="https://blogs.msdn.com/blogfiles/atinag/WindowsLiveWriter/a16ba1b3000b_45F4/Untitled4_2.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Untitled4" border="0" alt="Untitled4" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/atinag/WindowsLiveWriter/a16ba1b3000b_45F4/Untitled4_thumb.jpg" original-url="https://blogs.msdn.com/blogfiles/atinag/WindowsLiveWriter/a16ba1b3000b_45F4/Untitled4_thumb.jpg" width="243" height="226" /></a> </p>  <p>TypedProcedure.dbo.xsd contains the request and response schema for WCF-SQL Adapter. </p>  <p>Now, only thing remaining is to construct a message of the request schema type inside the Orchestration and send it to WCF-SQL Adapter which will execute the Stored Procedure. I am not going into it more detail on how we do it inside Orchestration as it will be similar to any other operation we do using WCF-SQL Adapter.</p>  <p>You can see that using the Table Types simplify the things to a large extent and we do not need to write a single line of code to parse the XML.</p>  <p>I hope it helps.</p>]]></content:encoded>
    </item>
    <item>
      <title>Messages for MQSeries Adapter failing due to DTC failure</title>
      <link>https://docs.microsoft.com/archive/blogs/atinag/messages-for-mqseries-adapter-failing-due-to-dtc-failure</link>
      <pubDate>Tue, 08 Sep 2009 18:57:48 GMT</pubDate>
      <dc:creator><![CDATA[Atin Agarwal]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/atinag/2009/09/08/messages-for-mqseries-adapter-failing-due-to-dtc-failure/</guid>
      <description><![CDATA[If you are trying to send or receive message to MQ Server using the MQSeries Adapter, and receiving...]]></description>
      <content:encoded><![CDATA[<p>If you are trying to send or receive message to MQ Server using the MQSeries Adapter, and receiving following errors in the application event log:</p>  <p><strong>on BizTalk Server</strong></p>  <p>Event ID: 5740    <br />Description:     <br />The adapter &quot;MQSeries&quot; raised an error message. Details &quot;Error encountered on opening Queue Manager name = &lt;queue manager&gt;&#160; Reason code = 2354.&quot;</p>  <p><strong>on MQ Server</strong></p>  <p>Event Source: Microsoft BizTalk Server 2006 Adapter for MQSeries    <br />Event Category: Devices     <br />Event ID: 264     <br />Description:     <br />Error encountered as BizTalk attempts to retrive a message from MQSeries, description = Error encountered on opening Queue Manager name = &lt;queue manager&gt; Reason code = 2354. hresult = <strong>0XC0C11007</strong>. This error will also be reported on the BizTalk server.</p>  <p>Most probably, this issue arises due to lack of DTC connectivity between the BizTalk and MQ Server. </p>  <p>To resolve it, we have to make sure the DTC communication between two computers is fine. Make sure that the MSDTC security settings on both BizTalk as well as MQ Server looks like in the below screen shot.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/atinag/WindowsLiveWriter/MessagesforMQSeriesAdapterfailingduetoDT_3EBE/Untitled_2.jpg" original-url="https://blogs.msdn.com/blogfiles/atinag/WindowsLiveWriter/MessagesforMQSeriesAdapterfailingduetoDT_3EBE/Untitled_2.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Untitled" border="0" alt="Untitled" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/atinag/WindowsLiveWriter/MessagesforMQSeriesAdapterfailingduetoDT_3EBE/Untitled_thumb.jpg" original-url="https://blogs.msdn.com/blogfiles/atinag/WindowsLiveWriter/MessagesforMQSeriesAdapterfailingduetoDT_3EBE/Untitled_thumb.jpg" width="436" height="426" /></a></p>  <p></p>  <p></p>  <p>Also, DTC communication can usually fail if the name resolution or RPC communication between two computers is failing. To test it, we can use a small but useful tool named as DTCPing. </p>  <p>DTCPing Download: <a title="https://www.microsoft.com/downloads/details.aspx?FamilyID=5e325025-4dcd-4658-a549-1d549ac17644&amp;DisplayLang=en" href="https://www.microsoft.com/downloads/details.aspx?FamilyID=5e325025-4dcd-4658-a549-1d549ac17644&amp;DisplayLang=en">https://www.microsoft.com/downloads/details.aspx?FamilyID=5e325025-4dcd-4658-a549-1d549ac17644&amp;DisplayLang=en</a></p>  <p>Troubleshooting MSDTC issues with the DTCPing tool: <a title="https://blogs.msdn.com/distributedservices/archive/2008/11/12/troubleshooting-msdtc-issues-with-the-dtcping-tool.aspx" href="https://blogs.msdn.com/distributedservices/archive/2008/11/12/troubleshooting-msdtc-issues-with-the-dtcping-tool.aspx">https://blogs.msdn.com/distributedservices/archive/2008/11/12/troubleshooting-msdtc-issues-with-the-dtcping-tool.aspx</a></p>  <p>I hope it helps!</p>]]></content:encoded>
    </item>
    <item>
      <title>Error due to missing HIPPA Schema Trigger Field Annotations</title>
      <link>https://docs.microsoft.com/archive/blogs/atinag/error-due-to-missing-hippa-schema-trigger-field-annotations</link>
      <pubDate>Thu, 30 Jul 2009 19:45:17 GMT</pubDate>
      <dc:creator><![CDATA[Atin Agarwal]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/atinag/2009/07/30/error-due-to-missing-hippa-schema-trigger-field-annotations/</guid>
      <description><![CDATA[Recently, I was working on a support incident where the customer have modified 837I HIPPA schema by...]]></description>
      <content:encoded><![CDATA[<p>Recently, I was working on a support incident where the customer have modified 837I HIPPA schema by adding a child node under DTP segment. But, while we tried to validate an instance against the schema at both design time and run time, we will get error “Object reference not set to an instance of an object”.</p>  <p>Below is the error thrown by EDIReceive pipeline at run time.</p>  <p>Event Type: Error    <br />Event Source: BizTalk Server 2009 EDI     <br />Event Category: None     <br />Event ID: 4097     <br />Description:     <br />Fatal error encountered in EDI Disassembler, error information is Object reference not set to an instance of an object.</p>  <p>The issue would not happen if we were using the default 837I HIPPA schema which comes out of the box with BizTalk. Now, it means that something going wrong with the node which we have added to schema and the error is also of not much help here. Also, if we remove the data from the input instance corresponding to the node added in the schema, it would get successfully parse.&#160;&#160; </p>  <p>After we did a thorough examination of schema (all thanks to Farida for this), we found that the child node added under DTP segment in the schema was missing the HIPPA Schema Trigger Field Annotations. First learn what are HIPPA Schema Trigger Field Annotations, for that click <a href="https://msdn.microsoft.com/en-us/library/dd792702(BTS.10).aspx" target="_blank">here</a>. Here it was happening that, for DTP segment, we had other default child nodes which have got their Trigger Field Annotations specifying what their qualifier values (or trigger values) are. Now when the EDI Disassembler encounters DTP segment followed by the qualifier value, it should be able to resolve it to the corresponding XML child node under DTP segment. But when it encountered DTP segment for the child node added to the schema, it was not able to resolve the qualifier value to any node since there is no child node matching that qualifier value and hence the error. </p>  <p>Once we added the Trigger Field Annotations to the node added manually, it resolved the error. Note that, for adding the trigger info, we have to open the schema in a text editor.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/atinag/WindowsLiveWriter/ErrorduetomissingHIPPASchemaTriggerField_37EA/image_2.png" original-url="https://blogs.msdn.com/blogfiles/atinag/WindowsLiveWriter/ErrorduetomissingHIPPASchemaTriggerField_37EA/image_2.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/atinag/WindowsLiveWriter/ErrorduetomissingHIPPASchemaTriggerField_37EA/image_thumb.png" original-url="https://blogs.msdn.com/blogfiles/atinag/WindowsLiveWriter/ErrorduetomissingHIPPASchemaTriggerField_37EA/image_thumb.png" width="879" height="320" /></a></p>]]></content:encoded>
    </item>
  </channel>
</rss>