<?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>Shashi</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/shashi/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/shashi/feed.xml</link>
    <description />
    <lastBuildDate>Wed, 17 Apr 2019 04:08:19 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>when you have escape characters in the string the liquid template fails</title>
      <link>https://docs.microsoft.com/archive/blogs/shashi/when-you-have-escape-characters-in-the-string-the-liquid-template-fails</link>
      <pubDate>Mon, 29 Jan 2018 12:29:01 GMT</pubDate>
      <dc:creator><![CDATA[Shashidharan Krishnan]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/shashi/?p=405</guid>
      <description><![CDATA[I came across a scenario, where I got bad request error when I have double quotes(“) in my incoming...]]></description>
      <content:encoded><![CDATA[<p class="xmsonormal"><span style="color: #1f3864">I came across a scenario, where I got bad request error when I have double quotes(“) in my incoming string property while performing json to json transforming using liquid template. When there is not double quotes it works as expected. </span></p>
<p class="xmsonormal"><span style="color: #1f3864"> </span><b><span style="color: #1f3864">My Liquid Template: </span></b><span style="color: #1f3864">performing a simple append of first name and last name</span></p>
<p class="xmsonormal"><span style="color: #1f3864">{</span><span style="color: #1f3864">    "fullName": "{{content.FirstName | Append: ' ' | Append: content.LastName}}",</span><span style="color: #1f3864">} </span></p>
<p class="xmsonormal"><span style="color: #1f3864"> </span><span style="color: #1f3864">When input message is:</span></p>
<p class="xmsonormal"><span style="color: #1f3864">{    </span><span style="color: #1f3864">"FirstName": "Shashidharan",     "LastName" : "Krishnan"  </span><span style="color: #1f3864">}</span></p>
<p class="xmsonormal"><span style="color: #1f3864"> <a href="https://msdnshared.blob.core.windows.net/media/2018/01/liquid-Template-output.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/01/liquid-Template-output.png" alt="" width="643" height="486" class="alignnone size-full wp-image-415" /></a></span><span style="color: #1f3864"> </span></p>
<p class="xmsonormal"><span style="color: #1f3864">When input message contains doubles qoutes, which is still a valid json message. </span></p>
<p class="xmsonormal"><span style="color: #1f3864">{ </span><span style="color: #1f3864">"FirstName": "<span style="background: yellow">\"</span>Shashidharan","LastName" : "Krishnan" </span><span style="color: #1f3864">}</span></p>
<span style="color: #1f3864">we get bad request error </span><span style="color: #1f3864"> </span>
<p class="xmsonormal" style="line-height: 14.25pt;background: #1E1E1E"><span style="font-size: 10.5pt;font-family: Consolas;color: #9cdcfe">"body"</span><span style="font-size: 10.5pt;font-family: Consolas;color: gainsboro">:</span><span style="font-size: 10.5pt;font-family: Consolas;color: #d4d4d4"> </span><span style="font-size: 10.5pt;font-family: Consolas;color: gainsboro">{</span><span style="font-size: 10.5pt;font-family: Consolas;color: #d4d4d4">        </span><span style="font-size: 10.5pt;font-family: Consolas;color: #9cdcfe">"Code"</span><span style="font-size: 10.5pt;font-family: Consolas;color: gainsboro">:</span><span style="font-size: 10.5pt;font-family: Consolas;color: #d4d4d4"> </span><span style="font-size: 10.5pt;font-family: Consolas;color: #ce9178">"IncorrectLiquidTransformOutputType"</span><span style="font-size: 10.5pt;font-family: Consolas;color: gainsboro">,</span><span style="font-size: 10.5pt;font-family: Consolas;color: #d4d4d4">        </span><span style="font-size: 10.5pt;font-family: Consolas;color: #9cdcfe">"Message"</span><span style="font-size: 10.5pt;font-family: Consolas;color: gainsboro">:</span><span style="font-size: 10.5pt;font-family: Consolas;color: #d4d4d4"> </span><span style="font-size: 10.5pt;font-family: Consolas;color: #ce9178">"An error occurred while converting the transformed value to JSON. The transformed value is not a valid JSON. 'After parsing a value an unexpected character was encountered: S. Path 'fullName', line 2, position 19.'"</span><span style="font-size: 10.5pt;font-family: Consolas;color: gainsboro">,</span><span style="font-size: 10.5pt;font-family: Consolas;color: #d4d4d4">        </span><span style="font-size: 10.5pt;font-family: Consolas;color: #9cdcfe">"Details"</span><span style="font-size: 10.5pt;font-family: Consolas;color: gainsboro">:</span><span style="font-size: 10.5pt;font-family: Consolas;color: #d4d4d4"> </span><span style="font-size: 10.5pt;font-family: Consolas;color: #ce9178">null</span><span style="font-size: 10.5pt;font-family: Consolas;color: gainsboro">,</span><span style="font-size: 10.5pt;font-family: Consolas;color: #d4d4d4">        </span><span style="font-size: 10.5pt;font-family: Consolas;color: #9cdcfe">"InnerError"</span><span style="font-size: 10.5pt;font-family: Consolas;color: gainsboro">:</span><span style="font-size: 10.5pt;font-family: Consolas;color: #d4d4d4"> </span><span style="font-size: 10.5pt;font-family: Consolas;color: #ce9178">null  </span><span style="font-size: 10.5pt;font-family: Consolas;color: #d4d4d4"> </span><span style="font-size: 10.5pt;font-family: Consolas;color: #d4d4d4">   </span><span style="font-size: 10.5pt;font-family: Consolas;color: gainsboro">}</span></p>
<p class="xmsonormal"><span style="color: #1f3864"> <a href="https://msdnshared.blob.core.windows.net/media/2018/01/liquid-Template-error.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/01/liquid-Template-error.png" alt="" width="704" height="534" class="alignnone size-full wp-image-425" /></a></span></p>
<p class="xmsonormal"><!-- [if gte vml 1]&gt;--></p>
<!--[endif]-->
<p class="xmsonormal"><span style="color: #1f3864"> This is basically a limitation with the underlying .liquid library. So we might need to use workaround to replace the escape character as below. </span></p>
<strong>Workaround:</strong>

{     "fullName": "{{content.FirstName | <strong>Escape | Replace: '&amp;quot;', '\"'</strong> | Append: ' ' | Append: content.LastName}}"  }
<p class="xmsonormal"><span style="color: #1f3864"> <a href="https://msdnshared.blob.core.windows.net/media/2018/01/liquid-Template-output1.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/01/liquid-Template-output1.png" alt="" width="655" height="432" class="alignnone size-full wp-image-435" /></a></span></p>]]></content:encoded>
    </item>
    <item>
      <title>Logic apps Service bus connector not honoring Maximum message count</title>
      <link>https://docs.microsoft.com/archive/blogs/shashi/logic-apps-service-bus-connector-not-honoring-maximum-message-count</link>
      <pubDate>Mon, 29 Jan 2018 11:49:57 GMT</pubDate>
      <dc:creator><![CDATA[Shashidharan Krishnan]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/shashi/?p=335</guid>
      <description><![CDATA[You might come across a scenario where you dont receive the batch of messages configured under...]]></description>
      <content:encoded><![CDATA[You might come across a scenario where you dont receive the batch of messages configured under maximum message count property in your logic app service bus connector setting.

<a href="https://msdnshared.blob.core.windows.net/media/2018/01/SB-maximum-message-count.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/01/SB-maximum-message-count.png" alt="" width="619" height="205" class="alignnone size-full wp-image-345" /></a>

In this example, i have configured the maximum message count as 20 but still I recieved only 1 or 2 messages every time even when i had a lot of messages in Service bus.

<a href="https://msdnshared.blob.core.windows.net/media/2018/01/messages-_read.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/01/messages-_read.png" alt="" width="701" height="340" class="alignnone size-full wp-image-355" /></a>

The reason being my testqueue was partition enabled.

<a href="https://msdnshared.blob.core.windows.net/media/2018/01/partitionpic.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/01/partitionpic.png" alt="" width="1087" height="154" class="alignnone size-full wp-image-365" /></a>

Once i use the non partition queue, i was able to receive the configured number of messages in a single batch.

<a href="https://msdnshared.blob.core.windows.net/media/2018/01/SB-maximum-message-count-non-partitioning.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/01/SB-maximum-message-count-non-partitioning.png" alt="" width="628" height="203" class="alignnone size-full wp-image-375" /></a>

<a href="https://msdnshared.blob.core.windows.net/media/2018/01/messages-_read-non.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/01/messages-_read-non.png" alt="" width="670" height="333" class="alignnone size-full wp-image-385" /></a>

The message count property specifies the maximum number of messages that can be returned. The actual number of messages returned can be anywhere between 0 to message count. The documentation of Service bus partitioning <a href="https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fazure%2Fservice-bus-messaging%2Fservice-bus-partitioning&amp;data=02%7C01%7CShashidharan.Krishnan%40microsoft.com%7C82762d8b88c44f4e49fb08d52c567904%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636463672284906377&amp;sdata=wPP2V3jXQIHkyX6YZguJXZrcR0%2FxeqpRFwx1k8gK%2BGQ%3D&amp;reserved=0">https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-partitioning</a> also mentions this:
<blockquote><strong>Browse/Peek messages</strong>: <a href="https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fdotnet%2Fapi%2Fmicrosoft.servicebus.messaging.queueclient%23Microsoft_ServiceBus_Messaging_QueueClient_PeekBatch_System_Int32_&amp;data=02%7C01%7CShashidharan.Krishnan%40microsoft.com%7C82762d8b88c44f4e49fb08d52c567904%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636463672284906377&amp;sdata=r0yZS1nxwjIWBe9Oknv4S5pGeEJeOlDsgl2n8qvCjZY%3D&amp;reserved=0">PeekBatch</a> does not always return the number of messages specified in the <a href="https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fdotnet%2Fapi%2Fmicrosoft.servicebus.messaging.queuedescription%23Microsoft_ServiceBus_Messaging_QueueDescription_MessageCount&amp;data=02%7C01%7CShashidharan.Krishnan%40microsoft.com%7C82762d8b88c44f4e49fb08d52c567904%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636463672284906377&amp;sdata=1mJ4LuqOfdeiGhC2AYZvFoxuMoxPXV2eQpQyKsFo1nk%3D&amp;reserved=0">MessageCount</a> property. There are two common reasons for this. One reason is that the aggregated size of the collection of messages exceeds the maximum size of 256KB. Another reason is that if the queue or topic has the <a href="https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fdotnet%2Fapi%2Fmicrosoft.servicebus.messaging.queuedescription%23Microsoft_ServiceBus_Messaging_QueueDescription_EnablePartitioning&amp;data=02%7C01%7CShashidharan.Krishnan%40microsoft.com%7C82762d8b88c44f4e49fb08d52c567904%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636463672284906377&amp;sdata=7reWx0CdN2Yha%2FF6ICui1K5fb9UfRXuxS%2FKamiIH8J0%3D&amp;reserved=0">EnablePartitioning property</a> set to <strong>true</strong>, a partition may not have enough messages to complete the requested number of messages.</blockquote>
&nbsp;]]></content:encoded>
    </item>
    <item>
      <title>Original Run Vs Resubmitted Run in Logic apps</title>
      <link>https://docs.microsoft.com/archive/blogs/shashi/original-run-vs-resubmitted-run-in-logic-apps</link>
      <pubDate>Fri, 26 Jan 2018 17:29:38 GMT</pubDate>
      <dc:creator><![CDATA[Shashidharan Krishnan]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/shashi/?p=285</guid>
      <description><![CDATA[In Logic app, you would often come across a scenario to differentiate between the original run and...]]></description>
      <content:encoded><![CDATA[In Logic app, you would often come across a scenario to differentiate between the original run and if the run is resubmitted via the Logic app portal(or Rest API)

the Resubmitted Runs reuse Client Tracking ID of the Original Run, so they can be correlated. So

IF RUNID= ClientTrackingID THEN Original RUN

IF RUNID ≠ ClientTrackingID THEN Resubmitted RUN.
<ol>
 	<li>To differentiate in Portal</li>
</ol>
<strong>ORIGINAL RUN</strong>

<a href="https://msdnshared.blob.core.windows.net/media/2018/01/Original-Run-portal.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/01/Original-Run-portal.png" alt="" width="466" height="277" class="alignnone size-full wp-image-295" /></a>

<strong>RESUBMITTED RUN</strong>

<a href="https://msdnshared.blob.core.windows.net/media/2018/01/Resubmitted-Run-portal.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/01/Resubmitted-Run-portal.png" alt="" width="461" height="278" class="alignnone size-full wp-image-305" /></a>

2. To Differenciate at Runtime

You can get the ClientTrackingID using <strong>"@trigger().clientTrackingId" </strong>function and RunId using <strong>"@workflow().run.name" </strong>function<strong> </strong>

"RUNID": {"inputs": "@workflow().run.name"
<div>                            "ClientTrackingID": {"inputs": "@trigger().clientTrackingId",</div>
<div></div>
<div>                    <strong>ORIGINAL RUN</strong></div>
<div>                             <a href="https://msdnshared.blob.core.windows.net/media/2018/01/Original-Run-Runtime.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/01/Original-Run-Runtime.png" alt="" width="533" height="336" class="alignnone size-full wp-image-315" /></a></div>
<div>                    <strong>RESUBMITTED RUN</strong></div>
<div>                          <a href="https://msdnshared.blob.core.windows.net/media/2018/01/Resubmitted-Run-Runtime.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/01/Resubmitted-Run-Runtime.png" alt="" width="520" height="327" class="alignnone size-full wp-image-325" /></a></div>
<div></div>]]></content:encoded>
    </item>
    <item>
      <title>Logic App: Json serialization issue when receiving message from Service Bus</title>
      <link>https://docs.microsoft.com/archive/blogs/shashi/logic-app-json-serialization-issue-when-receiving-message-from-service-bus</link>
      <pubDate>Thu, 21 Sep 2017 10:27:08 GMT</pubDate>
      <dc:creator><![CDATA[Shashidharan Krishnan]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/shashi/?p=245</guid>
      <description><![CDATA[When parsing message received by logic App from Service, got the error “
InvalidJSON. The 'content'...]]></description>
      <content:encoded><![CDATA[When parsing message received by logic App from Service, got the error “<strong>
<em>InvalidJSON</em></strong><em>. The 'content' property of actions of type 'ParseJson' must be valid JSON. The provided value '@string3https://schemas.microsoft.com/2003/10/Serialization/�&gt;{ "Field1": "Test1", "Field2": "Test2", "Field3": "Test3" }' cannot be parsed: 'Unexpected character encountered while parsing value: @. Path '', line 0, position 0.'.</em>”

We have the additional<em> @string3https://schemas.microsoft.com/2003/10/Serialization/�&gt;</em> serialization information before my actual message content.

<a href="https://msdnshared.blob.core.windows.net/media/2017/09/JsonError.png"><img src="https://msdnshared.blob.core.windows.net/media/2017/09/JsonError.png" alt="" width="667" height="550" class="alignnone size-full wp-image-247" /></a>

Code used to send message to Service bus

var connectionString = @"ConnectionString";

var queueName = "queuename";

&nbsp;

var client = QueueClient.CreateFromConnectionString(connectionString, queueName);

string jsonmsg = @"{  ""Field1"": ""Test1"",  ""Field2"": ""Test2"",  ""Field3"": ""Test3"" }

var message = new BrokeredMessage(jsonmsg);

&nbsp;

client.Send(message);

I am formatting the String datatype jsonmsg as a Brokered message sending it to Service bus.

Instead I send the jsonmsg as a stream to the brokered, to resolve the above issue.

var client = QueueClient.CreateFromConnectionString(connectionString, queueName);

string jsonmsg = @"{  ""Field1"": ""Test1"",  ""Field2"": ""Test2"",  ""Field3"": ""Test3"" }";

&nbsp;

byte[] bytes = Encoding.UTF8.GetBytes(jsonmsg);

MemoryStream stream = new MemoryStream(bytes, writable: false);

var msg = new BrokeredMessage(stream) ;

client.Send(msg);

<a href="https://msdnshared.blob.core.windows.net/media/2017/09/JsonError1.png"><img src="https://msdnshared.blob.core.windows.net/media/2017/09/JsonError1.png" alt="" width="638" height="611" class="alignnone size-full wp-image-255" /></a>]]></content:encoded>
    </item>
    <item>
      <title>"MMC could not create the snap in" error for Biztalk Admin console</title>
      <link>https://docs.microsoft.com/archive/blogs/shashi/mmc-could-not-create-the-snap-in</link>
      <pubDate>Wed, 13 Sep 2017 13:22:12 GMT</pubDate>
      <dc:creator><![CDATA[Shashidharan Krishnan]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/shashi/?p=217</guid>
      <description><![CDATA[After in place upgrade of operating system on BizTalk Server, when i launch BizTalk admin console we...]]></description>
      <content:encoded><![CDATA[After in place upgrade of operating system on BizTalk Server, when i launch BizTalk admin console we got the error "<em>MMC count not create the snap in</em>"

&nbsp;

<a href="https://msdnshared.blob.core.windows.net/media/2017/09/MMC-snap-in-failed1.png"><img src="https://msdnshared.blob.core.windows.net/media/2017/09/MMC-snap-in-failed1.png" alt="" width="955" height="649" class="alignnone size-full wp-image-236" /></a>

<strong>Resolution: </strong>

<strong>Repair</strong> BizTalk Server from Add/Remove programs]]></content:encoded>
    </item>
    <item>
      <title>MQSC related host instance fails after BizTalk Server restart</title>
      <link>https://docs.microsoft.com/archive/blogs/shashi/mqsc-related-host-instance-fails-after-biztalk-server-restart</link>
      <pubDate>Tue, 12 Sep 2017 10:05:38 GMT</pubDate>
      <dc:creator><![CDATA[Shashidharan Krishnan]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/shashi/?p=205</guid>
      <description><![CDATA[After restarting Biztalk Server, Host instances running MQSC adapter fails to start and the error...]]></description>
      <content:encoded><![CDATA[After restarting Biztalk Server, Host instances running MQSC adapter fails to start and the error message in the event viewer is "<em>Could not load file or assembly 'Microsoft.BizTalk.Adapter.Mqsc.ImqWrapper.dll' or one of its dependencies. The network path was not found. A dependency could not be found. Refer to product documentation for information on MQSC Adapter software prerequisites</em>."  However once we manually start the host instance, the MQSC host instances runs fine.

<strong>RESOLUTION:</strong>

to resolve the issue, change the Biztalk host instance startup type from Automatic to <strong>Automatic (delayed Start)</strong>

<a href="https://msdnshared.blob.core.windows.net/media/2017/09/bts-startup-type.png"><img src="https://msdnshared.blob.core.windows.net/media/2017/09/bts-startup-type.png" alt="" width="210" height="162" class="alignnone size-full wp-image-206" /></a>]]></content:encoded>
    </item>
    <item>
      <title>xml resultset from SQL store procedure is splitt into multiple nodes in Logic Apps</title>
      <link>https://docs.microsoft.com/archive/blogs/shashi/xml-resultset-from-sql-store-procedure-is-splitt-into-multiple-nodes-in-logic-apps</link>
      <pubDate>Wed, 24 May 2017 08:00:33 GMT</pubDate>
      <dc:creator><![CDATA[Shashidharan Krishnan]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/shashi/?p=166</guid>
      <description><![CDATA[I have a stored procedure which returns an XML  result set. when I execute the stored procedure, the...]]></description>
      <content:encoded><![CDATA[I have a stored procedure which returns an XML  result set. when I execute the stored procedure, the output is a single XML as below.

CREATE PROCEDURE [dbo].[TESTSP]

AS

BEGIN

SELECT * from testtable

FOR XML AUTO

END

&nbsp;

The output is a single xml object as below.

<a href="https://msdnshared.blob.core.windows.net/media/2017/05/Untitled.jpg"><img src="https://msdnshared.blob.core.windows.net/media/2017/05/Untitled.jpg" alt="untitled" width="547" height="69" class="alignnone size-full wp-image-175" /></a>

&lt;testtable ID="1" Detail="testdata  " /&gt;&lt;testtable ID="1" Detail="testdata  " /&gt;&lt;testtable ID="1" Detail="testdata  " /&gt;&lt;testtable ID="1" Detail="testdata  " /&gt;&lt;testtable ID="1" Detail="testdata  " /&gt;&lt;testtable ID="1" Detail="testdata  " /&gt;&lt;testtable ID="1" etail="testdata  " /&gt;&lt;testtable ID="1" Detail="testdata  " /&gt;&lt;testtable ID="1" Detail="testdata  " /&gt;&lt;testtable ID="1" Detail="testdata  " /&gt;&lt;testtable ID="1" Detail="testdata  " /&gt;&lt;testtable ID="1" Detail="testdata  " /&gt;&lt;testtable ID="1" Detail="testdata  " /&gt;&lt;testtable ID="1" Detail="testdata  " /&gt;&lt;testtable ID="1" Detail="testdata  " /&gt;&lt;testtable ID="1" Detail="testdata  " /&gt;

&nbsp;

But however when I execute the same in logic app, the xml was split into multiple nodes in json each with 2033 characters, as below.

Output:

"ResultSets": {

"x": [

{                    "XML_F52E2B61-18A1-11d1-B105-00805F49916B": "&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;test"

},

{                    "XML_F52E2B61-18A1-11d1-B105-00805F49916B": "table ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;"

}            ]

}

&nbsp;

When you return XML from SQL Server, it does indeed split it into 2033-character chunks.  There does not seem to be a way to control this behavior when returning raw XML as a result set. The solution here is to convert the output to NVARCHAR(MAX) before you do so.

<a href="https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fblogs.msdn.microsoft.com%2Fsqlprogrammability%2F2006%2F04%2F13%2Fwhat-does-server-side-for-xml-return%2F&amp;data=02%7C01%7CShashidharan.Krishnan%40microsoft.com%7Cd583030644d545dcbf2408d4a1ed3c69%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636311487679683565&amp;sdata=nwXVzZFFf69z3WEF2W9aNe3Hilbc%2Bn3ZTAAExNpN4v4%3D&amp;reserved=0">https://blogs.msdn.microsoft.com/sqlprogrammability/2006/04/13/what-does-server-side-for-xml-return/</a>. “<em>The chunk size is 2033 UCS-2 characters. Thus, XML larger than 2033 UCS-2 characters is sent to the client side in multiple rows each containing a chunk of the XML</em>.“

The modified SP which fixes the issue,

ALTER PROCEDURE [dbo].[TESTSP]

AS

BEGIN

DECLARE @xml XML;

SET @xml = (SELECT * from testtable FOR XML AUTO);

SELECT CONVERT(NVARCHAR(MAX),@xml);

END

&nbsp;

After which the output in Logic app is in single node as below.

"body": {        "OutputParameters": {},"ReturnCode": 0,

"ResultSets": {            "Table1": [                {

"Column1": "&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;&lt;testtable ID=\"1\" Detail=\"testdata  \"/&gt;"

}            ]        }

Further Reads :

<a href="https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.simple-talk.com%2Fsql%2Flearn-sql-server%2Fusing-the-for-xml-clause-to-return-query-results-as-xml%2F&amp;data=02%7C01%7CShashidharan.Krishnan%40microsoft.com%7Cd583030644d545dcbf2408d4a1ed3c69%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636311487679683565&amp;sdata=4ZI5AFV4te0VsBLXgV4FPIt9PmHfBIm3EdoZQgXUPBQ%3D&amp;reserved=0">https://www.simple-talk.com/sql/learn-sql-server/using-the-for-xml-clause-to-return-query-results-as-xml/</a>

<a href="https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.simple-talk.com%2Fsql%2Fdatabase-administration%2Fconverting-string-data-to-xml-and-xml-to-string-data%2F&amp;data=02%7C01%7CShashidharan.Krishnan%40microsoft.com%7Cd583030644d545dcbf2408d4a1ed3c69%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636311487679683565&amp;sdata=jpVK2kKgUq%2BudQHgCFzhe%2F8RIPBfs0WGQVk8UTsPOsU%3D&amp;reserved=0">https://www.simple-talk.com/sql/database-administration/converting-string-data-to-xml-and-xml-to-string-data/</a>

&nbsp;]]></content:encoded>
    </item>
    <item>
      <title>Orchestration Subscription Throttling</title>
      <link>https://docs.microsoft.com/archive/blogs/shashi/orchestration-subscription-throttling</link>
      <pubDate>Mon, 24 Apr 2017 15:30:12 GMT</pubDate>
      <dc:creator><![CDATA[Shashidharan Krishnan]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/shashi/?p=125</guid>
      <description><![CDATA[One of the less heard features of orchestration throttling is Subscription Throttling.  The...]]></description>
      <content:encoded><![CDATA[One of the less heard features of orchestration throttling is Subscription Throttling.  The Subscription based throttling will decide when to pause/resume the messages from moving to Subscribing orchestration instance based on the number waiting to be consumed.

<a href="https://msdnshared.blob.core.windows.net/media/2017/04/New-Bitmap-Image.bmp"><img src="https://msdnshared.blob.core.windows.net/media/2017/04/New-Bitmap-Image.bmp" alt="new-bitmap-image" width="569" height="464" class="alignnone size-full wp-image-155" /></a>

Recently I came across a scenario, where we had to utilize this functionality, but we don’t have a performance counter to check if we hit this condition or not. Like we use to figure out high memory or high database size or other throttling condition via perfmon counters.

After collecting Microsoft internal Biztalk Traces(PSSDIAGforBiztalk), we found

<em>Line 6001: [1]0E10.1BDC::09/06/2016-10:34:05.244 [CSharp]:XLANG:Subscription.Delivered a message: instance: 1553b96b-bdbb-492d-8f48-649d06ad414f, msg: 392a204f-c859-4323-a9e4-fa090d6832e9 sub=280989aa-3eed-476f-b32f-f1c57b1ddceb</em>

<em>Line 6039: [1]0E10.1BDC::09/06/2016-10:34:05.247 [CSharp]:XLANG:Subscription.Delivered a message: instance: 1553b96b-bdbb-492d-8f48-649d06ad414f, msg: 574e34be-9ada-41b9-bb01-4151ee8d2996 sub=280989aa-3eed-476f-b32f-f1c57b1ddceb</em>

<em>Line 6078: [1]0E10.1BDC::09/06/2016-10:34:05.247 [CSharp]:XLANG:Subscription.Delivered a message: instance: 1553b96b-bdbb-492d-8f48-649d06ad414f, msg: 08822c2a-e179-4c79-8442-e03645c73fc7 sub=280989aa-3eed-476f-b32f-f1c57b1ddceb</em>

<em>Line 6116: [1]0E10.1BDC::09/06/2016-10:34:05.247 [CSharp]:XLANG:Subscription.Delivered a message: instance: 1553b96b-bdbb-492d-8f48-649d06ad414f, msg: 96f85380-813f-4512-a04e-12bdbcf9f55c sub=280989aa-3eed-476f-b32f-f1c57b1ddceb</em>

<em>Line 6154: [1]0E10.1BDC::09/06/2016-10:34:05.248 [CSharp]:XLANG:Subscription.Delivered a message: instance: 1553b96b-bdbb-492d-8f48-649d06ad414f, msg: 101c52c5-8b59-46c6-9b51-63f3d13fe3e9 sub=280989aa-3eed-476f-b32f-f1c57b1ddceb</em>

<em>Line 6192: [1]0E10.1BDC::09/06/2016-10:34:05.248 [CSharp]:XLANG:Subscription.Delivered a message: instance: 1553b96b-bdbb-492d-8f48-649d06ad414f, msg: 2b77b798-a3c2-4c7e-92c1-fd3b65a86d19 sub=280989aa-3eed-476f-b32f-f1c57b1ddceb</em>

<em>Line 6193: [1]0E10.1BDC::09/06/2016-10:34:05.248 [CSharp]:XLANG:Subscription.Deliver:<strong> suspending subscription 280989aa-3eed-476f-b32f-f1c57b1ddceb</strong>, instance 1553b96b-bdbb-492d-8f48-649d06ad414f</em>

&nbsp;

Currently, I have set the value Pause/resume at 5:3. So when the sixth message arrived, the subscription was suspended and avoided messages to be sent to the actual orchestration instance. But you will still find the messages being refereeing in the orchestration instances( as you can not make it a suspended or subscription failure, on the subscription is paused)

<a href="https://msdnshared.blob.core.windows.net/media/2017/04/New-Bitmap-Image-2.bmp"><img src="https://msdnshared.blob.core.windows.net/media/2017/04/New-Bitmap-Image-2.bmp" alt="new-bitmap-image-2" width="854" height="578" class="alignnone size-full wp-image-135" /></a>

to check the subscription has throttled or not, you can check the Subscriptiontable(for Normal orchestration) or ConvoySetinstancetable(for Convoy Orchestration), first you will find fEnabled set to true and then the fpuased flag will be set to true, which will control the orchestration Subscription throttling.

In my example I had Subscription pause at set to 5 and resume at set to 3, and could see the pause at value being modified when the message crossed 5, the paused value was 1 and when it reduced to 3, the pause at value changed to 0.

<a href="https://msdnshared.blob.core.windows.net/media/2017/04/New-Bitmap-Image-3.bmp"><img src="https://msdnshared.blob.core.windows.net/media/2017/04/New-Bitmap-Image-3.bmp" alt="new-bitmap-image-3" width="1267" height="91" class="alignnone size-full wp-image-136" /></a>

After Resume value reached when the orchestration contains less than 3 messages

<a href="https://msdnshared.blob.core.windows.net/media/2017/04/New-Bitmap-Image-4.bmp"><img src="https://msdnshared.blob.core.windows.net/media/2017/04/New-Bitmap-Image-4.bmp" alt="new-bitmap-image-4" width="1271" height="96" class="alignnone size-full wp-image-145" /></a>

This is not visible in admin console, as all the messages are in the same state because only the subscription is suspended or resumed.

Hope this helps!!

Happy BizTalking]]></content:encoded>
    </item>
    <item>
      <title>Logic Apps : Blob name is null or empty</title>
      <link>https://docs.microsoft.com/archive/blogs/shashi/logic-apps-blob-name-is-null-or-empty</link>
      <pubDate>Mon, 05 Dec 2016 13:36:59 GMT</pubDate>
      <dc:creator><![CDATA[Shashidharan Krishnan]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/shashi/?p=46</guid>
      <description><![CDATA[Recently when working with Azure blob Storage Action :  Extract Archive to Folder I faced the error...]]></description>
      <content:encoded><![CDATA[Recently when working with <strong>Azure blob Storage Action :  Extract Archive to Folder </strong>I faced the error “<strong>Blob name is null or empty</strong>”.

Host

{ "api": { "runtimeUrl": "https://logic-apis-westeurope.azure-apim.net/apim/azureblob" },

<a href="https://msdnshared.blob.core.windows.net/media/2016/12/110.png"><img src="https://msdnshared.blob.core.windows.net/media/2016/12/110.png" alt="1" width="490" height="198" class="alignnone size-full wp-image-95" /></a>

&nbsp;

&nbsp;

Method<strong> : </strong>post

Path<strong> : </strong>/datasets/default/extractFolderV2

Queries<strong>: </strong>{ "<strong>destination</strong>": "/<strong>testoutput</strong>", "<strong>source</strong>": "/test/shashiwebsite_201506011619.zip" }

Output Body<strong> : </strong>{ "status": <strong>400</strong>, "message": "<strong>Blob name is null or empty</strong>.", "source": "127.0.0.1" }

<strong>Solution</strong>:

In the destination, we should also provide a prefix for the files extracted along with the destination folder name like.

<strong>Source archive blob path : </strong>/test/shashiwebsite_201506011619.zip

<strong>Destination folder path : </strong>/testoutput/<strong>testout</strong>

<a href="https://msdnshared.blob.core.windows.net/media/2016/12/210.png"><img src="https://msdnshared.blob.core.windows.net/media/2016/12/210.png" alt="2" width="500" height="185" class="alignnone size-full wp-image-56" /></a>

Post which the files are extracted successfully and all the files are unzipped with the provided prefix.

<a href="https://msdnshared.blob.core.windows.net/media/2016/12/3.jpg"><img src="https://msdnshared.blob.core.windows.net/media/2016/12/3.jpg" alt="3" width="806" height="299" class="alignnone size-full wp-image-105" /></a>]]></content:encoded>
    </item>
    <item>
      <title>BizTalk Receive Location crashes with the error “80131522”</title>
      <link>https://docs.microsoft.com/archive/blogs/shashi/biztalk-receive-location-crashes-with-the-error-80131522</link>
      <pubDate>Thu, 10 Mar 2016 08:56:00 GMT</pubDate>
      <dc:creator><![CDATA[Shashidharan Krishnan]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/shashi/2016/03/10/biztalk-receive-location-crashes-with-the-error-80131522/</guid>
      <description><![CDATA[When enabling BizTalk Receive location getting the error
"Event Type:Error
Event Source:BizTalk...]]></description>
      <content:encoded><![CDATA[<p class="Publishwithline">When enabling BizTalk Receive location getting the error</p>
<p>"<em>Event Type:<br />Error</em></p>
<p><em>Event Source:<br />BizTalk Server 2006</em></p>
<p><em>Event Category:<br />BizTalk Server 2006 </em></p>
<p><em>Event ID: 5644</em></p>
<p><em>Computer: xyz</em></p>
<p><em>Description: The<br />Messaging Engine failed to add a receive location "rloc_abc" with URL<br />"C:\Test\In\*.*" to the adapter "FILE". Reason: "<strong>80131522</strong></em>&rdquo;</p>
<p>Taking a process dump from the procdump, in the cmd prompt<br />we get the error types.</p>
<p><em>Exception: E06D7363.PEAVEETypeLoadException@@</em><em><br />Exception: E06D7363.msc</em><em><br />Exception: E06D7363.PEAVEETypeLoadException@@</em></p>
<p>&nbsp;</p>
<p>Analysing dumps and the stack is something like below.</p>
<p>18<br />00000000`0131e920 00000000`03c44eeb <strong><span style="background-color: #ffff00;">BTSMsgCore!CMessageHelper::GetMessageFactory+0xf7</span></strong></p>
<p>19 00000000`0131edb0 00000000`03c150f8 BTSMsgCore!CBTTransportProxy::GetMessageFactory+0x2cb</p>
<p>1a 00000000`0131ee80 00000000`03c16020 BTSMsgCore!CFileWatcher::InternalInit+0x6d8</p>
<p>1b 00000000`0131ef50 00000000`03c111c9 BTSMsgCore!CFileWatcher::Initialize+0x140</p>
<p>1c 00000000`0131ef80 00000000`03c91441 BTSMsgCore!CBTMFileListener::AddReceiveEndpoint+0x249</p>
<p>1d 00000000`0131f020 00000000`03c947b2 BTSMsgCore!CReceiverContainer::_AddReceiveEndpoint+0xc1</p>
<p>1e 00000000`0131f0b0 00000000`03c87332 BTSMsgCore!CReceiverContainer::AddReceiveEndpoint+0x2f2</p>
<p>1f 00000000`0131f240 00000000`03c8db57 BTSMsgCore!CReceiveManager::AddReceiver+0x602</p>
<p>20 00000000`0131f330 00000000`03c90744 BTSMsgCore!CReceiveManager::NotifyReceivers+0x9d7</p>
<p>21 00000000`0131f640 00000000`03c33b7d BTSMsgCore!CReceiveManager::Initialize+0x514</p>
<p>22 00000000`0131f6f0 00000000`03c43162 BTSMsgCore!CBTEndpointManager::InitializeEPM+0x67d</p>
<p>23 00000000`0131fae0 00000000`03c437b2 BTSMsgCore!CBTEndpointManager::InitializeAgent+0x652</p>
<p>24 00000000`0131fc20 00000000`00f88020 BTSMsgCore!CBTEndpointManager::Start+0x2f2</p>
<p>25 00000000`0131fc80 00000000`00f89e48 BTSPrcCntnr!CDBMultipleRowsetWalker::Attach+0x1f80</p>
<p>26 00000000`0131fce0 00000000`00f88245 BTSPrcCntnr!CDBMultipleRowsetWalker::Attach+0x3da8</p>
<p>27 00000000`0131fda0 00000000`01006645 BTSPrcCntnr!CDBMultipleRowsetWalker::Attach+0x21a5</p>
<p>28 00000000`0131fe10 00000000`010083ad BTSNTSvc64!CDBMultipleRowsetWalker::Attach+0x17c5</p>
<p>29 00000000`0131fe70 00000000`010086ee BTSNTSvc64!CDBMultipleRowsetWalker::Attach+0x352d</p>
<p>2a 00000000`0131ff10 000007ff`7fee4dc6 BTSNTSvc64!CDBMultipleRowsetWalker::Attach+0x386e</p>
<p>2b 00000000`0131ff50 00000000`77d6b8caadvapi32!ScSvcctrlThreadW+0x25</p>
<p>2c 00000000`0131ff80 00000000`00000000 kernel32!BaseThreadStart+0x3a</p>
<p>The exception is raised when loading <strong>GetMessageFactory</strong> class which is implemented in unmanaged library&nbsp; BTSMessageAgent.dll.</p>
<p>This CLSID is located in the registry:</p>
<p>HKEY_CLASSES_ROOT\CLSID\{6C90E0C2-4918-11d3-A242-00C04F60A533}</p>
<p>HKEY_CLASSES_ROOT\CLSID\{6C90E0C2-4918-11d3-A242-00C04F60A533}\InprocServer32</p>
<p>And the subkey InprocServer32 refers to the full path of the BTSMessageAgent.dll</p>
<p>BTSMessageAgent.dll is present in &lt;Biztalk installation directory&gt;\Microsoft BizTalk Server 2013 R2\Bins64\BTSMessageAgent.dll.</p>
<p>In our case the dll was referring to incorrect path, in which BTSMessageAgent.dll was not present.</p>
<p>Corrected the registry key to point to right path and dll to resolve the issue.</p>
<p>&nbsp;Hope this helps.</p>]]></content:encoded>
    </item>
  </channel>
</rss>