<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8698007</id><updated>2011-11-27T15:43:21.246-08:00</updated><title type='text'>Jonathan Wu's .NET and BizTalk Blog</title><subtitle type='html'>A random collection of epiphanies, thoughts and problem solutions pertaining to .NET and BizTalk.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://biztalkshow.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://biztalkshow.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jonathan Wu. CFA, FRM, MCTS</name><uri>http://www.blogger.com/profile/17149113821662192362</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_itCKNqCAWEI/SYEI9Izr5iI/AAAAAAAAAAs/T3pCDiijMxs/S220/me.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>25</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8698007.post-116416279741943440</id><published>2006-11-21T18:14:00.000-08:00</published><updated>2006-11-21T18:33:17.590-08:00</updated><title type='text'>MCTS in BizTalk 2006</title><content type='html'>I passed the MCTS certification exam in BizTalk 2006 today. There were 50 questions and I finished them in 60-70 minutes. I have been programming in BizTalk 2004 and 2006 extensively for a couple years now, as it turned out that I over-prepared for the exam; I should have (probably) passed it just based on my experience. I would have to say the exam questions are relatively easy and not well balanced. Like most of the bloggers pointed out that there are too many BAM and BRE related questions. Moreover, there are too many questions about distinguished/promoted properties.&lt;br /&gt;There is a lack of the core architecture questions on the messaging engine, publishing-subscribing model, orchestrations etc. &lt;br /&gt;&lt;br /&gt;I almost felt that those exam authors might be programming heavily in BAM/BRE; they were probably not extremely familiar (or concerned) with the more popular/well-known features in BizTalk like orchestrations, maps, pipelines etc. There're 0 questions about the custom components development which I consider it's a big weakness of the exam. Programming custom components like adapters, pipeline components, functoids, fact retrievers, and BAM interceptors are essential part of the BizTalk framework. The exam didn't cover these areas well.&lt;br /&gt;&lt;br /&gt;Another big complaint from me is that MCTS in BizTalk 2006 is not a constituent part of the MCPD certification. From my perspective, it most definitely should be. BizTalk developers must have equally strong .NET programming skills as web / winform developer. Anyway, I hope MSFT would consider this seriously and revise the certification path.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698007-116416279741943440?l=biztalkshow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://biztalkshow.blogspot.com/feeds/116416279741943440/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8698007&amp;postID=116416279741943440' title='37 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/116416279741943440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/116416279741943440'/><link rel='alternate' type='text/html' href='http://biztalkshow.blogspot.com/2006/11/mcts-in-biztalk-2006.html' title='MCTS in BizTalk 2006'/><author><name>Jonathan Wu. CFA, FRM, MCTS</name><uri>http://www.blogger.com/profile/17149113821662192362</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_itCKNqCAWEI/SYEI9Izr5iI/AAAAAAAAAAs/T3pCDiijMxs/S220/me.jpg'/></author><thr:total>37</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8698007.post-114814459113237383</id><published>2006-05-20T09:36:00.000-07:00</published><updated>2006-05-20T11:54:49.930-07:00</updated><title type='text'>System.Web.Services.Protocols.SoapException: Server was unable to process request. --&gt; Cannot create ActiveX component. EnvDTE</title><content type='html'>I got this exception thrown at me when I tried to do the following in the web service: &lt;br /&gt;&lt;br /&gt;DTE ideObject = (DTE) Microsoft.VisualBasic.Interaction.CreateObject&lt;br /&gt;(&lt;br /&gt;    "VisualStudio.DTE.7.1", ""&lt;br /&gt;);&lt;br /&gt;&lt;br /&gt;You may run into the similar problem if you wanted to access native Microsoft objects such as excel or word. There are two solutions: &lt;br /&gt;1) Make sure your aspnet_wp work process runs under a priviledged account that has the sufficient permission to carry out this task. This is usually done through the impersonation in web.config file. You will find plenty of posts explaining how this is achieved. &lt;br /&gt;2) Grant explicit Launch/Activation and Access permission to "Microsoft Visual Studio Solution Object" in DCOM Config. &lt;br /&gt;&lt;br /&gt;The following are the steps for option 2): &lt;br /&gt;a) Go to "Start | Settings | Control Panel | Administrative Tools | Components Services". &lt;br /&gt;b) Drill thru "Components Services -&gt; Computers -&gt; My Computer -&gt; DCOM Config"&lt;br /&gt;c) Select "Microsoft Visual Studio Solution Object"&lt;br /&gt;d) Right click and bring up the "Properties"&lt;br /&gt;e) Click on the "Security" Tab&lt;br /&gt;f) In the groupbox "Launch and Activation Permissions"; select "Customize" radio button and click on "Edit" button; check both "Local Launch" and "Local Activation" to grant these permissions to Machine\ASPNET account. &lt;br /&gt;g) In the groupbox "Access Permissions"; repeat step (f) to grant the "Local Access" to Machine\ASPNET account. &lt;br /&gt;h) Click "Apply" to apply the changes. &lt;br /&gt;&lt;br /&gt;Here are some screen shots:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7850/602/1600/DCOM-VS-LauchPermission0.1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/7850/602/400/DCOM-VS-LauchPermission0.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Microsoft Visual Studio Solution Object Properties&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7850/602/1600/DCOM-VS-LauchPermission1.1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/7850/602/400/DCOM-VS-LauchPermission1.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Launch and Activation Permissions&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7850/602/1600/DCOM-VS-LauchPermission3.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/7850/602/400/DCOM-VS-LauchPermission3.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Access Permissions&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698007-114814459113237383?l=biztalkshow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://biztalkshow.blogspot.com/feeds/114814459113237383/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8698007&amp;postID=114814459113237383' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/114814459113237383'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/114814459113237383'/><link rel='alternate' type='text/html' href='http://biztalkshow.blogspot.com/2006/05/systemwebservicesprotocolssoapexceptio.html' title='System.Web.Services.Protocols.SoapException: Server was unable to process request. --&gt; Cannot create ActiveX component. EnvDTE'/><author><name>Jonathan Wu. CFA, FRM, MCTS</name><uri>http://www.blogger.com/profile/17149113821662192362</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_itCKNqCAWEI/SYEI9Izr5iI/AAAAAAAAAAs/T3pCDiijMxs/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8698007.post-113193889249358381</id><published>2005-11-13T19:22:00.000-08:00</published><updated>2005-11-13T19:28:12.506-08:00</updated><title type='text'>StartCache:  Error 0x80070002: failed to get download: 90A40409-6000-11D3-8CFE-0150048383C9</title><content type='html'>Ran into a HUGE installation problem when I attempted to install SQL Server 2005 RTM on my personal computer. I had SQL Server 2005 Beta CTP installed before. I kept getting the OWC11 installation failure message. I ended up manually install the OWC11 component with logging turned on... The log file tells me it's the infamous : 1603 problem. &lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Action ended 21:33:45: ProcessComponents. Return value 1.&lt;br /&gt;Action 21:33:45: StartCache. Starting cache of cabinets to local installation source&lt;br /&gt;Action start 21:33:45: StartCache.&lt;br /&gt;StartCache:  Error 0x80070002: failed to get download: 90A40409-6000-11D3-8CFE-0150048383C9&lt;br /&gt;Action ended 21:33:45: StartCache. Return value 3.&lt;br /&gt;Action ended 21:33:45: INSTALL. Return value 3.&lt;br /&gt;Action ended 21:33:45: ExecuteAction. Return value 3.&lt;br /&gt;Action 21:33:45: TheFatalError.&lt;br /&gt;Action start 21:33:45: TheFatalError.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;I ended up cleanning two registry keys which finally made it work: &lt;br /&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\11.0\Delivery\90A40409-6000-11D3-8CFE-0150048383C9&lt;br /&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\Delivery\SourceEngine\Downloads\90A40409-6000-11D3-8CFE-0150048383C9&lt;br /&gt;&lt;br /&gt;Hopefully it will help if you run into the same problem.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698007-113193889249358381?l=biztalkshow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://biztalkshow.blogspot.com/feeds/113193889249358381/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8698007&amp;postID=113193889249358381' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/113193889249358381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/113193889249358381'/><link rel='alternate' type='text/html' href='http://biztalkshow.blogspot.com/2005/11/startcache-error-0x80070002-failed-to.html' title='StartCache:  Error 0x80070002: failed to get download: 90A40409-6000-11D3-8CFE-0150048383C9'/><author><name>Jonathan Wu. CFA, FRM, MCTS</name><uri>http://www.blogger.com/profile/17149113821662192362</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_itCKNqCAWEI/SYEI9Izr5iI/AAAAAAAAAAs/T3pCDiijMxs/S220/me.jpg'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8698007.post-111025557354684658</id><published>2005-03-07T19:40:00.000-08:00</published><updated>2006-05-20T12:01:55.550-07:00</updated><title type='text'>A Microsoft Distributed Transaction Coordinator problem prevented connection to the Configuration database again</title><content type='html'>&lt;p&gt;When you work with a Microsoft BizTalk Server 2004 project on a Microsoft Windows Server 2003-based computer, and you deploy the assemblies to BizTalk Server 2004, you may receive the following error message from Microsoft Visual Studio .NET:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;[DeploymentException] Cannot open database BizTalkMgmtDb on server [server]. &lt;br /&gt;[DeploymentException] Cannot open database BizTalkMgmtDb on server [server]. &lt;br /&gt;A Microsoft Distributed Transaction Coordinator problem prevented connection to the Configuration database. &lt;br /&gt;The transaction has already been implicitly or explicitly committed or aborted &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;You will also receive a similar error if you run the BizTalk Deployment Wizard. &lt;a href="http://support.microsoft.com/?kbid=839187"&gt;KB839187&lt;/a&gt; provided a solution which is pertinent but not sufficient in some scenarios. Recently, I had a new development set up that took me back to this problem and it cost me approximately 2.5 hours of productivity to figure out exactly why. &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;I have a mutile server BizTalk setup. BizTalk Databases and the default BizTalk host are on a dedicated Windows 2003 server box. I do my development work on laptop with Windows XP (SP2). When I try to deploy a BizTalk assembly, I ran into the problem described above. I immediately tried the workaround suggested by KB839187 which didn't work. After some research, I belive the following steps are a better overall approach to this problem. &lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Make sure your development machine and BizTalk server (server runs BizTalk databases) can ping each other&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Make sure MS DTC service is up and running on both computers&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Modify the following registry key on both computers: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\TurnOffRpcSecurity = 1&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Enable the "Network Clients" for MS DTC for both computers. To do this: &lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Click through: Start | Settings | Control Panel | Administrative Tools | Component Services &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Expand "Computers" under "Component Services" node&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Right click on "My Computer" and click on "MSDTC" tab on "My Computer Properties" dialog&lt;/li&gt; &lt;br /&gt;&lt;li&gt;Click on "Security Configuration" button&lt;/li&gt;&lt;br /&gt;&lt;li&gt;For Windows Server 2003, check "Network Clients" checkbox as indicated in the following picture. &lt;br /&gt;&lt;img src="http://img82.exs.cx/img82/405/msdtcsecurityconfig20037ia.jpg" /&gt;&lt;br&gt;&lt;br /&gt;For Windows XP (SP2), configure the "Security Settings" as indicated by the following picture. &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7850/602/1600/DTCSecurityConfig.0.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/7850/602/400/DTCSecurityConfig.0.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;li&gt;Restart the MS DTC services on both computers if they have not been automatically restarted. &lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698007-111025557354684658?l=biztalkshow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://biztalkshow.blogspot.com/feeds/111025557354684658/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8698007&amp;postID=111025557354684658' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/111025557354684658'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/111025557354684658'/><link rel='alternate' type='text/html' href='http://biztalkshow.blogspot.com/2005/03/microsoft-distributed-transaction.html' title='A Microsoft Distributed Transaction Coordinator problem prevented connection to the Configuration database again'/><author><name>Jonathan Wu. CFA, FRM, MCTS</name><uri>http://www.blogger.com/profile/17149113821662192362</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_itCKNqCAWEI/SYEI9Izr5iI/AAAAAAAAAAs/T3pCDiijMxs/S220/me.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8698007.post-110875052099796334</id><published>2005-02-18T10:13:00.000-08:00</published><updated>2005-02-18T10:15:21.000-08:00</updated><title type='text'>Themize Windows Application</title><content type='html'>&lt;p&gt;I am thinking about writing an article about how to themize the windows forms by using a cascading style sheet. I have a subset of functionality implemented. Here's a form that applied a nice theme called "VRust". &lt;br /&gt;&lt;img src="http://img119.exs.cx/img119/7074/armsupdatergui9dm.jpg" /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698007-110875052099796334?l=biztalkshow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://biztalkshow.blogspot.com/feeds/110875052099796334/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8698007&amp;postID=110875052099796334' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/110875052099796334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/110875052099796334'/><link rel='alternate' type='text/html' href='http://biztalkshow.blogspot.com/2005/02/themize-windows-application.html' title='Themize Windows Application'/><author><name>Jonathan Wu. CFA, FRM, MCTS</name><uri>http://www.blogger.com/profile/17149113821662192362</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_itCKNqCAWEI/SYEI9Izr5iI/AAAAAAAAAAs/T3pCDiijMxs/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8698007.post-110868813410675016</id><published>2005-02-17T16:50:00.000-08:00</published><updated>2005-02-18T11:53:37.043-08:00</updated><title type='text'>How to use updategram to update multiple rows in BizTalk orchestration</title><content type='html'>&lt;p&gt;&lt;br /&gt;Using the updategram to insert and delete are very straightforward. It's also easy to update one row of data using the updategram in BizTalk. BizTalk SQL adapter seems to be problematic when dealing with updating multiple rows of data using updategram. SQL XML states that you need to use the attribute "updg:id" to associate the records enclosed in the &amp;lt;updg:before&amp;gt; and those enclosed in &amp;lt;updg:after&amp;gt;(&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sqlxml3/htm/updategram_8srx.asp"&gt;article here&lt;/a&gt;). I am pretty sure if you are reading this blog, you have tried the default schema generated by BizTalk and realized it didn't work. I have tried the following two approaches and they didn't work: &lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Use multiple &amp;lt;sync&amp;gt; nodes to describe the updategram. It didn't work. &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;?xml version="1.0" encoding="utf-8" ?&amp;gt; &lt;br /&gt;&amp;lt;ns0:updateStatsPendingRequest xmlns:ns0="http://www.bankofamerica.com/"&amp;gt;&lt;br /&gt; &amp;lt;ns0:sync&amp;gt;&lt;br /&gt;  &amp;lt;ns0:before&amp;gt;&lt;br /&gt;   &amp;lt;ns0:StatsPending APPLICATIONID="100010.032970" /&amp;gt; &lt;br /&gt;  &amp;lt;/ns0:before&amp;gt;&lt;br /&gt;  &amp;lt;ns0:after&amp;gt;&lt;br /&gt;   &amp;lt;ns0:StatsPending APPLICATIONID="100010.032970" &lt;br /&gt;     SITEID="24" ASSIGNPROCESSED="true" /&amp;gt; &lt;br /&gt;  &amp;lt;/ns0:after&amp;gt;&lt;br /&gt; &amp;lt;/ns0:sync&amp;gt;&lt;br /&gt; &amp;lt;ns0:sync&amp;gt;&lt;br /&gt;  &amp;lt;ns0:before&amp;gt;&lt;br /&gt;   &amp;lt;ns0:StatsPending APPLICATIONID="100010.032971" /&amp;gt; &lt;br /&gt;  &amp;lt;/ns0:before&amp;gt;&lt;br /&gt;  &amp;lt;ns0:after&amp;gt;&lt;br /&gt;   &amp;lt;ns0:StatsPending APPLICATIONID="100010.032971" &lt;br /&gt;     SITEID="25" ASSIGNPROCESSED="true" /&amp;gt; &lt;br /&gt;  &amp;lt;/ns0:after&amp;gt;&lt;br /&gt; &amp;lt;/ns0:sync&amp;gt&lt;br /&gt;&amp;lt;/ns0:updateStatsPendingRequest&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Conclusion: SQL Adapter has difficulty handling multiple &amp;lt;sync&amp;gt; elements. &lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Use the &amp;lt;id&amp;gt; attributed as suggested by SQL XML. I added the extra id attribute into the schema like this: &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;xs:attribute name="id" type="xs:string" updategram:Prefix="updg" /&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;This solution fails since the generated xml document instance doesn't have the correct xml schema prefix. As described by SQL XML, the prefix for the "id", "sync", "before" and "after" should really be "updg". However, the xml instance generated by BizTalk will look like: &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;?xml version="1.0" encoding="utf-8" ?&amp;gt; &lt;br /&gt;&amp;lt;ns0:updateStatsPendingReq xmlns:ns0="http://www.bankofamerica.com/"&amp;gt;&lt;br /&gt; &amp;lt;ns0:sync&amp;gt;&lt;br /&gt;  &amp;lt;ns0:before&amp;gt;&lt;br /&gt;   &amp;lt;ns0:StatsPending ns0:id="100010.040649" /&amp;gt; &lt;br /&gt;   &amp;lt;ns0:StatsPending ns0:id="100010.042313" /&amp;gt; &lt;br /&gt;  &amp;lt;/ns0:before&amp;gt;&lt;br /&gt;  &amp;lt;ns0:after&amp;gt;&lt;br /&gt;   &amp;lt;ns0:StatsPending ns0:id="100010.040649" &lt;br /&gt;                     ns0:APPLICATIONID="100010.040649" &lt;br /&gt;                     ns0:SITEID="24" &lt;br /&gt;                     ns0:ASSIGNPROCESSED="1" /&amp;gt; &lt;br /&gt;   &amp;lt;ns0:StatsPending ns0:id="100010.042313" &lt;br /&gt;                     ns0:APPLICATIONID="100010.042313" &lt;br /&gt;                     ns0:SITEID="24" &lt;br /&gt;                     ns0:ASSIGNPROCESSED="1" /&amp;gt; &lt;br /&gt;  &amp;lt;/ns0:after&amp;gt;&lt;br /&gt; &amp;lt;/ns0:sync&amp;gt;&lt;br /&gt;&amp;lt;/ns0:updateStatsPendingReq&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;As you can see from the above xml instance, all of the elements and attributes are qualified with "ns0" prefix which is not what we wanted. After some research, I figured out that SQL XML need to use the "updg" prefix in order to correctly associate the records in &amp;lt;before&amp;gt; and &amp;lt;after&amp;gt; blocks. Therefore, we need to make the BizTalk to generate the document instance looks like this: &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;?xml version="1.0" encoding="utf-8" ?&amp;gt; &lt;br /&gt;&amp;lt;ns0:updateStatsPendingReq &lt;br /&gt;  xmlns:updg="urn:schemas-microsoft-com:xml-updategram" &lt;br /&gt;  xmlns:ns0="http://www.bankofamerica.com/"&amp;gt;&lt;br /&gt; &amp;lt;ns0:sync&amp;gt;&lt;br /&gt;  &amp;lt;ns0:before&amp;gt;&lt;br /&gt;   &amp;lt;ns0:StatsPending updg:id="100010.040649" /&amp;gt; &lt;br /&gt;   &amp;lt;ns0:StatsPending updg:id="100010.042313" /&amp;gt; &lt;br /&gt;  &amp;lt;/ns0:before&amp;gt;&lt;br /&gt;  &amp;lt;ns0:after&amp;gt;&lt;br /&gt;   &amp;lt;ns0:StatsPending updg:id="100010.040649" &lt;br /&gt;                     ns0:APPLICATIONID="100010.040649" &lt;br /&gt;                     ns0:SITEID="24" &lt;br /&gt;                     ns0:ASSIGNPROCESSED="1" /&amp;gt; &lt;br /&gt;   &amp;lt;ns0:StatsPending updg:id="100010.042313" &lt;br /&gt;                     ns0:APPLICATIONID="100010.042313" &lt;br /&gt;                     ns0:SITEID="24" &lt;br /&gt;                     ns0:ASSIGNPROCESSED="1" /&amp;gt; &lt;br /&gt;  &amp;lt;/ns0:after&amp;gt;&lt;br /&gt; &amp;lt;/ns0:sync&amp;gt;&lt;br /&gt;&amp;lt;/ns0:updateStatsPendingReq&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;After I tweak the schemas to generate the xml instance like above, it worked!! &lt;br /&gt;If you run the SQL profiler, you will see the following TSQL statements are generated: &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;SET XACT_ABORT ON&lt;br /&gt;BEGIN TRAN&lt;br /&gt;DECLARE @eip INT, @r__ int, @e__ int&lt;br /&gt;SET @eip = 0&lt;br /&gt;&lt;br /&gt;UPDATE StatsPending SET SITEID=N'24', ASSIGNPROCESSED=N'1' &lt;br /&gt;WHERE (APPLICATIONID=N'100010.042313');  &lt;br /&gt;SELECT @e__ = @@ERROR, @r__ = @@ROWCOUNT&lt;br /&gt; IF (@e__ != 0 OR @r__ != 1) SET @eip = 1&lt;br /&gt; IF (@r__ &gt; 1) RAISERROR ( N'Ambiguous update, unique identifier required', 16, 1)&lt;br /&gt; ELSE IF (@r__ &lt; 1) RAISERROR ( N'Empty update, no updatable rows found', 16, 1)&lt;br /&gt;&lt;br /&gt;UPDATE StatsPending SET SITEID=N'24', ASSIGNPROCESSED=N'1' &lt;br /&gt;WHERE (APPLICATIONID=N'100010.040649');  &lt;br /&gt;SELECT @e__ = @@ERROR, @r__ = @@ROWCOUNT&lt;br /&gt; IF (@e__ != 0 OR @r__ != 1) SET @eip = 1&lt;br /&gt; IF (@r__ &gt; 1) RAISERROR ( N'Ambiguous update, unique identifier required', 16, 1)&lt;br /&gt; ELSE IF (@r__ &lt; 1) RAISERROR ( N'Empty update, no updatable rows found', 16, 1)&lt;br /&gt;&lt;br /&gt;IF (@eip != 0) ROLLBACK ELSE COMMIT&lt;br /&gt;SET XACT_ABORT OFF&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The following are list of things you need to do in order to ask BizTalk to generate the "updg" prefix. &lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Define &lt;u&gt;Updategram.xsd&lt;/u&gt; like this: &lt;br /&gt;&lt;img src="http://img206.exs.cx/img206/7386/updg16vn.jpg" /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;In your updategram schema's &amp;lt;xs:schema&amp;gt; element, add this line: &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;xmlns:updg="urn:schemas-microsoft-com:xml-updategram"&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Add an &amp;lt;xs:import&amp;gt; element in your updategram schema: &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;xs:import&lt;br /&gt;  schemaLocation="Updategram.xsd"&lt;br /&gt;  namespace="urn:schemas-microsoft-com:xml-updategram" /&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Add &amp;lt;updg:id&amp;gt; attribute in &amp;lt;before&amp;gt; and &amp;lt;after&amp;gt; elements by using the following line: &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;xs:attribute ref="updg:id" /&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Your schema will look like this: &lt;br /&gt;&lt;img src="http://img208.exs.cx/img208/1839/updg28xz.jpg" /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;?xml version="1.0"?&amp;gt;&lt;br /&gt;&amp;lt;xs:schema&lt;br /&gt; xmlns:xs="http://www.w3.org/2001/XMLSchema"&lt;br /&gt; xmlns="http://www.bankofamerica.com/commercialprocesstechnology/sbui"&lt;br /&gt; xmlns:updg="urn:schemas-microsoft-com:xml-updategram"&lt;br /&gt; targetNamespace="http://www.bankofamerica.com/commercialprocesstechnology/sbui"&lt;br /&gt; attributeFormDefault="unqualified"&lt;br /&gt; elementFormDefault="qualified"&lt;br /&gt;&amp;gt;&lt;br /&gt; &amp;lt;xs:import&lt;br /&gt;  schemaLocation="Updategram.xsd"&lt;br /&gt;  namespace="urn:schemas-microsoft-com:xml-updategram" /&amp;gt;&lt;br /&gt; &amp;lt;xs:element name="updateStatsPendingReq"&amp;gt;&lt;br /&gt;  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;   &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;     &amp;lt;xs:element&lt;br /&gt;      xmlns:updategram="urn:schemas-microsoft-com:xml-updategram"&lt;br /&gt;      updategram:Prefix="updg" minOccurs="1" maxOccurs="unbounded" name="sync"&amp;gt;&lt;br /&gt;      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;       &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;        &amp;lt;xs:element updategram:Prefix="updg" minOccurs="0" maxOccurs="unbounded" name="before"&amp;gt;&lt;br /&gt;         &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;          &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;           &amp;lt;xs:element minOccurs="0" maxOccurs="unbounded" name="StatsPending"&amp;gt;&lt;br /&gt;            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;             &amp;lt;xs:attribute ref="updg:id" /&amp;gt;&lt;br /&gt;             &amp;lt;xs:attribute name="APPLICATIONID" type="xs:decimal" /&amp;gt;&lt;br /&gt;            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;           &amp;lt;/xs:element&amp;gt;&lt;br /&gt;          &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;         &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;        &amp;lt;xs:element updategram:Prefix="updg" minOccurs="0" maxOccurs="unbounded" name="after"&amp;gt;&lt;br /&gt;         &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;          &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;           &amp;lt;xs:element minOccurs="0" maxOccurs="unbounded" name="StatsPending"&amp;gt;&lt;br /&gt;            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;             &amp;lt;xs:attribute ref="updg:id" /&amp;gt;&lt;br /&gt;             &amp;lt;xs:attribute name="APPLICATIONID" type="xs:decimal" /&amp;gt;&lt;br /&gt;             &amp;lt;xs:attribute name="SITEID" type="xs:string" /&amp;gt;&lt;br /&gt;             &amp;lt;xs:attribute name="ASSIGNPROCESSED" type="xs:boolean" /&amp;gt;&lt;br /&gt;            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;           &amp;lt;/xs:element&amp;gt;&lt;br /&gt;          &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;         &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;       &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;     &amp;lt;/xs:element&amp;gt;&lt;br /&gt;    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt; &amp;lt;/xs:element&amp;gt;&lt;br /&gt;  &amp;lt;xs:element name="updateStatsPendingRep"&amp;gt;&lt;br /&gt;    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;        &amp;lt;xs:element name="Success" /&amp;gt;&lt;br /&gt;      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;In the message transformation shape when you construct the updategram, use a map similar to this:  &lt;br /&gt;&lt;img src="http://img208.exs.cx/img208/4376/updgmap2cz.jpg" /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;Then just fire off the orchestration and watch the updategram does its work. The particular orchestration I ran was able to update approximately 1800 records in a few seconds without any problem. &lt;a href="mailto:unixdisciple@gmail.com"&gt;Email me&lt;/a&gt; if you need a sample project. &lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698007-110868813410675016?l=biztalkshow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://biztalkshow.blogspot.com/feeds/110868813410675016/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8698007&amp;postID=110868813410675016' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/110868813410675016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/110868813410675016'/><link rel='alternate' type='text/html' href='http://biztalkshow.blogspot.com/2005/02/how-to-use-updategram-to-update.html' title='How to use updategram to update multiple rows in BizTalk orchestration'/><author><name>Jonathan Wu. CFA, FRM, MCTS</name><uri>http://www.blogger.com/profile/17149113821662192362</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_itCKNqCAWEI/SYEI9Izr5iI/AAAAAAAAAAs/T3pCDiijMxs/S220/me.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8698007.post-110619593536933161</id><published>2005-01-19T20:04:00.000-08:00</published><updated>2005-01-19T20:42:16.770-08:00</updated><title type='text'>Inline XSLT Call Template</title><content type='html'>&lt;p&gt;&lt;br /&gt;Google's Biztalk group posted this interesting problem about how to use the Inline XSLT Call Template and cumulative functoid in the map. I am quoting Jeremy's question here: &lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;i&gt;&lt;br /&gt;"In the following sample, I have a multiple invoice file that has 1 header record and a repeating detail record for each invoice. Can someone help me using inline xslt to sum the detail records of each invoice so that I can get the total for each invoice. I have seen how to do this just using xslt instead of the mapper, but I would like to do this within the mapper as I have other functoids that I am using. It appears I cannot get the cumulative sum functoid to sum each invoice with the scope parameter; instead it always seems to sum the entire file or nothing at all." &lt;/i&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;inbound: &lt;br /&gt;&amp;lt;Invoices xmlns="http://www.google.com"&amp;gt;&lt;br /&gt; &amp;lt;Invoice&amp;gt;&lt;br /&gt;  &amp;lt;Header&amp;gt;&lt;br /&gt;   &amp;lt;Credit&amp;gt;-20&amp;lt;/Credit&amp;gt;&lt;br /&gt;  &amp;lt;/Header&amp;gt;&lt;br /&gt;  &amp;lt;Detail&amp;gt;&lt;br /&gt;   &amp;lt;Debit&amp;gt;10&amp;lt;/Debit&amp;gt;&lt;br /&gt;  &amp;lt;/Detail&amp;gt;&lt;br /&gt;  &amp;lt;Detail&amp;gt;&lt;br /&gt;   &amp;lt;Debit&amp;gt;9&amp;lt;/Debit&amp;gt;&lt;br /&gt;  &amp;lt;/Detail&amp;gt;&lt;br /&gt;  &amp;lt;Detail&amp;gt;&lt;br /&gt;   &amp;lt;Debit&amp;gt;1&amp;lt;/Debit&amp;gt;&lt;br /&gt;  &amp;lt;/Detail&amp;gt;&lt;br /&gt; &amp;lt;/Invoice&amp;gt;&lt;br /&gt; &amp;lt;Invoice&amp;gt;&lt;br /&gt;  &amp;lt;Header&amp;gt;&lt;br /&gt;   &amp;lt;Credit&amp;gt;-10&amp;lt;/Credit&amp;gt;&lt;br /&gt;  &amp;lt;/Header&amp;gt;&lt;br /&gt;  &amp;lt;Detail&amp;gt;&lt;br /&gt;   &amp;lt;Debit&amp;gt;7&amp;lt;/Debit&amp;gt;&lt;br /&gt;  &amp;lt;/Detail&amp;gt;&lt;br /&gt;  &amp;lt;Detail&amp;gt;&lt;br /&gt;   &amp;lt;Debit&amp;gt;3&amp;lt;/Debit&amp;gt;&lt;br /&gt;  &amp;lt;/Detail&amp;gt;&lt;br /&gt; &amp;lt;/Invoice&amp;gt;&lt;br /&gt;&amp;lt;/Invoices&amp;gt;&lt;br /&gt;&lt;br /&gt;outbound: &lt;br /&gt;&amp;lt;ns0:Invoices xmlns:ns0="http://www.google.com"&amp;gt;&lt;br /&gt; &amp;lt;ns0:TotalFileCredit&amp;gt;-30&amp;lt;/ns0:TotalFileCredit&amp;gt;&lt;br /&gt; &amp;lt;ns0:TotalFileDebit&amp;gt;30&amp;lt;/ns0:TotalFileDebit&amp;gt;&lt;br /&gt; &amp;lt;ns0:Invoice&amp;gt;&lt;br /&gt;  &amp;lt;ns0:TotalInvoiceCredit&amp;gt;-20&amp;lt;/ns0:TotalInvoiceCredit&amp;gt;&lt;br /&gt;  &amp;lt;ns0:TotalInvoiceDebit&amp;gt;20&amp;lt;/ns0:TotalInvoiceDebit&amp;gt;&lt;br /&gt;  &amp;lt;ns0:Header&amp;gt;&lt;br /&gt;   &amp;lt;ns0:Credit&amp;gt;-20&amp;lt;/ns0:Credit&amp;gt;&lt;br /&gt;  &amp;lt;/ns0:Header&amp;gt;&lt;br /&gt;  &amp;lt;ns0:Detail&amp;gt;&lt;br /&gt;   &amp;lt;ns0:Debit&amp;gt;10&amp;lt;/ns0:Debit&amp;gt;&lt;br /&gt;  &amp;lt;/ns0:Detail&amp;gt;&lt;br /&gt;  &amp;lt;ns0:Detail&amp;gt;&lt;br /&gt;   &amp;lt;ns0:Debit&amp;gt;9&amp;lt;/ns0:Debit&amp;gt;&lt;br /&gt;  &amp;lt;/ns0:Detail&amp;gt;&lt;br /&gt;  &amp;lt;ns0:Detail&amp;gt;&lt;br /&gt;   &amp;lt;ns0:Debit&amp;gt;1&amp;lt;/ns0:Debit&amp;gt;&lt;br /&gt;  &amp;lt;/ns0:Detail&amp;gt;&lt;br /&gt; &amp;lt;/ns0:Invoice&amp;gt;&lt;br /&gt; &amp;lt;ns0:Invoice&amp;gt;&lt;br /&gt;  &amp;lt;ns0:TotalInvoiceCredit&amp;gt;-10&amp;lt;/ns0:TotalInvoiceCredit&amp;gt;&lt;br /&gt;  &amp;lt;ns0:TotalInvoiceDebit&amp;gt;10&amp;lt;/ns0:TotalInvoiceDebit&amp;gt;&lt;br /&gt;  &amp;lt;ns0:Header&amp;gt;&lt;br /&gt;   &amp;lt;ns0:Credit&amp;gt;-10&amp;lt;/ns0:Credit&amp;gt;&lt;br /&gt;  &amp;lt;/ns0:Header&amp;gt;&lt;br /&gt;  &amp;lt;ns0:Detail&amp;gt;&lt;br /&gt;   &amp;lt;ns0:Debit&amp;gt;7&amp;lt;/ns0:Debit&amp;gt;&lt;br /&gt;  &amp;lt;/ns0:Detail&amp;gt;&lt;br /&gt;  &amp;lt;ns0:Detail&amp;gt;&lt;br /&gt;   &amp;lt;ns0:Debit&amp;gt;3&amp;lt;/ns0:Debit&amp;gt;&lt;br /&gt;  &amp;lt;/ns0:Detail&amp;gt;&lt;br /&gt; &amp;lt;/ns0:Invoice&amp;gt;&lt;br /&gt;&amp;lt;/ns0:Invoices&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Obviously the inbound and outbound xml document instances could share a same schema. Here's the schema code: &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;xs:schema&lt;br /&gt; xmlns:xs="http://www.w3.org/2001/XMLSchema"&lt;br /&gt; xmlns="http://www.google.com"&lt;br /&gt; targetNamespace="http://www.google.com"&lt;br /&gt; elementFormDefault="qualified"&lt;br /&gt; attributeFormDefault="unqualified"&lt;br /&gt;&amp;gt;&lt;br /&gt;&amp;lt;xs:complexType name="Detail"&amp;gt;&lt;br /&gt; &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;  &amp;lt;xs:element name="Debit" type="xs:int" /&amp;gt;&lt;br /&gt; &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;&amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;&amp;lt;xs:complexType name="Header"&amp;gt;&lt;br /&gt; &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;  &amp;lt;xs:element name="Credit" type="xs:int" /&amp;gt;&lt;br /&gt; &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;&amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;&amp;lt;xs:complexType name="Invoice"&amp;gt;&lt;br /&gt; &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;  &amp;lt;xs:element minOccurs="0" name="TotalInvoiceCredit" type="xs:int" /&amp;gt;&lt;br /&gt;  &amp;lt;xs:element minOccurs="0" name="TotalInvoiceDebit" type="xs:int" /&amp;gt;&lt;br /&gt;  &amp;lt;xs:element name="Header" type="Header" /&amp;gt;&lt;br /&gt;  &amp;lt;xs:element maxOccurs="unbounded" name="Detail" type="Detail" /&amp;gt;&lt;br /&gt; &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;&amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;&amp;lt;xs:complexType name="Invoices"&amp;gt;&lt;br /&gt; &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;  &amp;lt;xs:element minOccurs="0" name="TotalFileCredit" type="xs:int" /&amp;gt;&lt;br /&gt;  &amp;lt;xs:element minOccurs="0" name="TotalFileDebit" type="xs:int" /&amp;gt;&lt;br /&gt;  &amp;lt;xs:element maxOccurs="unbounded" name="Invoice" type="Invoice" /&amp;gt;&lt;br /&gt; &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;&amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;&amp;lt;xs:element name="Invoices" type="Invoices" /&amp;gt;&lt;br /&gt;&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Here's the map I have used: &lt;br /&gt;&lt;img src="http://img132.exs.cx/img132/5792/mapinvoice3zr.jpg" /&gt; &lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;In the scripting functoid, I used the XSLT Call Template below: &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;xsl:template name="MyXsltConcatTemplate"&amp;gt;&lt;br /&gt; &amp;lt;xsl:param name="param1" /&amp;gt;&lt;br /&gt; &amp;lt;xsl:element name="ns0:TotalInvoiceDebit" &lt;br /&gt;  namespace="http://www.google.com"&amp;gt;&lt;br /&gt;  &amp;lt;xsl:value-of &lt;br /&gt;   select="sum(*[local-name()='Detail']/*[local-name()='Debit'])" /&amp;gt;&lt;br /&gt; &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;We couldn't use the inline xslt here since we need to pass in a local node "Invoice" that occurs multiple times in the inbound document. You can't pass in any parameter using the inline xslt script. The inline xslt call template, however, allows you to pass in a local node and you can apply your xslt transformation within the scope of passed parameter. In this case it is "param1" and it refers to one of the "Invoice" element of the xml document. &lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698007-110619593536933161?l=biztalkshow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://biztalkshow.blogspot.com/feeds/110619593536933161/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8698007&amp;postID=110619593536933161' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/110619593536933161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/110619593536933161'/><link rel='alternate' type='text/html' href='http://biztalkshow.blogspot.com/2005/01/inline-xslt-call-template.html' title='Inline XSLT Call Template'/><author><name>Jonathan Wu. CFA, FRM, MCTS</name><uri>http://www.blogger.com/profile/17149113821662192362</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_itCKNqCAWEI/SYEI9Izr5iI/AAAAAAAAAAs/T3pCDiijMxs/S220/me.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8698007.post-110452398746787888</id><published>2004-12-31T13:09:00.000-08:00</published><updated>2005-02-23T07:03:19.246-08:00</updated><title type='text'>Web service project name cannot exceed 61 characters!</title><content type='html'>&lt;p&gt;I think I just figured out the problem I posted below. It turns out that the web service project name can't be longer than 61 characters. Therefore, the assembly's friendly name couldn't exceeds 61 characters for web servie dll. I took the default name &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;for the web service when I published it from the ws publishing wizard. It's 67 characters and it exceeds this arbitrary limit. I tried to create a dummy web service on my computer with the name&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;BancOfMercury_CurrencyLaunderingTechnology_DUI_GrabTheMoneySer&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;which failed to allow me to access it as well. The error reported by the fusion.exe is very deceiving. It pointed me to other directions when I troubleshoot the problem. I thought error is in the assembly probing process. FUSLOGVW says this: &lt;br /&gt;LOG: Post-policy reference: &lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy, &lt;br /&gt;Version=1.0.0.0, Culture=neutral, PublicKeyToken=null&lt;br /&gt;ERR: Setup failed with hr = 0x80131047.&lt;br /&gt;ERR: Failed to complete setup of assembly (hr = 0x80131047). &lt;br /&gt;Probing terminated.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Anyway, I tried another dummy project with name &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;BancOfMercury_CurrencyLaunderingTechnology_DUI_GrabTheMoneySe&lt;br /&gt;BancOfMercury_CurrencyLaunderingTechnology_DUI_GrabTheMoney&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;and it worked. There's no documentation states that we couldn't name web service project with a name more than 61 chars. It still perplexes me since microsoft uses a cut off to be 61 instead of 64 which is exactly 8 bytes.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img213.exs.cx/img213/3658/longname0yn.jpg" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698007-110452398746787888?l=biztalkshow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://biztalkshow.blogspot.com/feeds/110452398746787888/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8698007&amp;postID=110452398746787888' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/110452398746787888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/110452398746787888'/><link rel='alternate' type='text/html' href='http://biztalkshow.blogspot.com/2004/12/web-service-project-name-cannot-exceed.html' title='Web service project name cannot exceed 61 characters!'/><author><name>Jonathan Wu. CFA, FRM, MCTS</name><uri>http://www.blogger.com/profile/17149113821662192362</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_itCKNqCAWEI/SYEI9Izr5iI/AAAAAAAAAAs/T3pCDiijMxs/S220/me.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8698007.post-110444711226072291</id><published>2004-12-30T14:48:00.000-08:00</published><updated>2005-01-05T12:44:32.036-08:00</updated><title type='text'>0x80131047</title><content type='html'>&lt;p&gt;&lt;br /&gt;I was able to publish the web service from the biztalk and the the web service project was generated successfully. I was able to compile the program okay as well. However, when I browse to the asmx page, I got this configuration error. So far I was not able to figure out why. I also enclosed the fusion output. &lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;i&gt;Server Error in '/BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy' Application.&lt;hr width=70% size=1 color=silver&gt;&lt;/i&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;i&gt;Configuration Error&lt;/i&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;font face="Arial, Helvetica, Geneva, SunSans-Regular, sans-serif "&gt;&lt;br /&gt;&lt;b&gt; Description: &lt;/b&gt;An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.&lt;br&gt;&lt;br /&gt;&lt;b&gt; Parser Error Message: &lt;/b&gt;The given assembly name or codebase, 'BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy', was invalid.&lt;br&gt;&lt;br /&gt;&lt;b&gt;Source Error:&lt;/b&gt;&lt;br /&gt;&lt;table width=70% bgcolor="#ffffcc"&gt;&lt;br /&gt;               &lt;tr&gt;&lt;br /&gt;                  &lt;td&gt;&lt;br /&gt;                      &lt;code&gt;&lt;pre&gt;&lt;br /&gt;&lt;br /&gt;Line 196:				&amp;lt;add assembly=&amp;quot;System.EnterpriseServices, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a&amp;quot;/&amp;gt;&lt;br /&gt;Line 197:				&amp;lt;add assembly=&amp;quot;System.Web.Mobile, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a&amp;quot;/&amp;gt;&lt;br /&gt;&lt;font color=red&gt;Line 198:				&amp;lt;add assembly=&amp;quot;*&amp;quot;/&amp;gt;&lt;br /&gt;&lt;/font&gt;Line 199:			&amp;lt;/assemblies&amp;gt;&lt;br /&gt;Line 200:		&amp;lt;/compilation&amp;gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;                  &lt;/td&gt;&lt;br /&gt;               &lt;/tr&gt;&lt;br /&gt;            &lt;/table&gt;&lt;br /&gt;&lt;br /&gt;            &lt;br&gt;&lt;br /&gt;&lt;br /&gt;            &lt;b&gt; Source File: &lt;/b&gt; c:\winnt\microsoft.net\framework\v1.1.4322\Config\machine.config&lt;b&gt; &amp;nbsp;&amp;nbsp; Line: &lt;/b&gt; 198&lt;br&gt;&lt;br /&gt;&lt;br /&gt;            &lt;b&gt;Assembly Load Trace:&lt;/b&gt; The following information can be helpful to determine why the assembly 'BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy' could not be loaded.&lt;br /&gt;&lt;table width=70% bgcolor="#ffffcc"&gt;&lt;br /&gt;               &lt;tr&gt;&lt;br /&gt;                  &lt;td&gt;&lt;br /&gt;                      &lt;code&gt;&lt;pre&gt;&lt;br /&gt;&lt;br /&gt;=== Pre-bind state information ===&lt;br /&gt;LOG: DisplayName = BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy&lt;br /&gt; (Partial)&lt;br /&gt;LOG: Appbase = file:///c:/inetpub/wwwroot/BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy&lt;br /&gt;LOG: Initial PrivatePath = bin&lt;br /&gt;Calling assembly : (Unknown).&lt;br /&gt;===&lt;br /&gt;&lt;br /&gt;LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).&lt;br /&gt;LOG: Post-policy reference: BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy&lt;br /&gt;LOG: Attempting download of new URL file:///C:/WINNT/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/bancofmercury.currencylaunderingtechnology.dui.orchestrations_proxy/a47ccba5/38832147/BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy.DLL.&lt;br /&gt;LOG: Attempting download of new URL file:///C:/WINNT/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/bancofmercury.currencylaunderingtechnology.dui.orchestrations_proxy/a47ccba5/38832147/BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy/BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy.DLL.&lt;br /&gt;LOG: Attempting download of new URL file:///c:/inetpub/wwwroot/BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy/bin/BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy.DLL.&lt;br /&gt;LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).&lt;br /&gt;LOG: Post-policy reference: BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;                  &lt;/td&gt;&lt;br /&gt;               &lt;/tr&gt;&lt;br /&gt;            &lt;/table&gt;&lt;br /&gt;&lt;br /&gt;            &lt;br&gt;&lt;br /&gt;&lt;br /&gt;            &lt;hr width=100% size=1 color=silver&gt;&lt;br /&gt;&lt;br /&gt;            &lt;b&gt;Version Information:&lt;/b&gt;&amp;nbsp;Microsoft .NET Framework Version:1.1.4322.985; ASP.NET Version:1.1.4322.968&lt;br /&gt;&lt;br /&gt;            &lt;/font&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;i&gt;Here's the fusion output&lt;/i&gt;&lt;br /&gt;&lt;/br&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;*** Assembly Binder Log Entry  (12/30/2004 @ 5:40:59 PM) ***&lt;br /&gt;&lt;br /&gt;The operation failed.&lt;br /&gt;Bind result: hr = 0x80131047. No description available.&lt;br /&gt;&lt;br /&gt;Assembly manager loaded from:  C:\WINNT\Microsoft.NET\Framework\v1.1.4322\fusion.dll&lt;br /&gt;Running under executable  C:\WINNT\Microsoft.NET\Framework\v1.1.4322\aspnet_wp.exe&lt;br /&gt;--- A detailed error log follows. &lt;br /&gt;&lt;br /&gt;=== Pre-bind state information ===&lt;br /&gt;LOG: DisplayName = BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy&lt;br /&gt; (Partial)&lt;br /&gt;LOG: Appbase = file:///c:/inetpub/wwwroot/BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy&lt;br /&gt;LOG: Initial PrivatePath = bin&lt;br /&gt;LOG: Dynamic Base = C:\WINNT\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\bancofmercury.currencylaunderingtechnology.dui.orchestrations_proxy\a47ccba5&lt;br /&gt;LOG: Cache Base = C:\WINNT\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\bancofmercury.currencylaunderingtechnology.dui.orchestrations_proxy\a47ccba5&lt;br /&gt;LOG: AppName = 38832147&lt;br /&gt;Calling assembly : (Unknown).&lt;br /&gt;===&lt;br /&gt;&lt;br /&gt;LOG: Processing DEVPATH.&lt;br /&gt;LOG: DEVPATH is not set. Falling through to regular bind.&lt;br /&gt;LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).&lt;br /&gt;LOG: Post-policy reference: BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy&lt;br /&gt;LOG: Attempting download of new URL file:///C:/WINNT/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/bancofmercury.currencylaunderingtechnology.dui.orchestrations_proxy/a47ccba5/38832147/BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy.DLL.&lt;br /&gt;LOG: Attempting download of new URL file:///C:/WINNT/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/bancofmercury.currencylaunderingtechnology.dui.orchestrations_proxy/a47ccba5/38832147/BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy/BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy.DLL.&lt;br /&gt;LOG: Attempting download of new URL file:///c:/inetpub/wwwroot/BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy/bin/BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy.DLL.&lt;br /&gt;LOG: Assembly download was successful. Attempting setup of file: c:\inetpub\wwwroot\BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy\bin\BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy.DLL&lt;br /&gt;LOG: Entering download cache setup phase.&lt;br /&gt;LOG: A partially-specified assembly bind succeeded from the application directory.&lt;br /&gt;LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).&lt;br /&gt;LOG: Post-policy reference: BancOfMercury.CurrencyLaunderingTechnology.DUI.Orchestrations_Proxy, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null&lt;br /&gt;ERR: Setup failed with hr = 0x80131047.&lt;br /&gt;ERR: Failed to complete setup of assembly (hr = 0x80131047). Probing terminated.&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698007-110444711226072291?l=biztalkshow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://biztalkshow.blogspot.com/feeds/110444711226072291/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8698007&amp;postID=110444711226072291' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/110444711226072291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/110444711226072291'/><link rel='alternate' type='text/html' href='http://biztalkshow.blogspot.com/2004/12/0x80131047.html' title='0x80131047'/><author><name>Jonathan Wu. CFA, FRM, MCTS</name><uri>http://www.blogger.com/profile/17149113821662192362</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_itCKNqCAWEI/SYEI9Izr5iI/AAAAAAAAAAs/T3pCDiijMxs/S220/me.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8698007.post-110391188888387473</id><published>2004-12-24T09:31:00.000-08:00</published><updated>2004-12-24T10:13:07.606-08:00</updated><title type='text'>Create a New Message Inside an Orchestration Without using an External Component</title><content type='html'>&lt;p&gt;BizTalk documentation states: "&lt;i&gt;You construct a message any time that you introduce a message into your orchestration, either by receiving it or by assigning values to a message variable. ... You can invoke a .NET class to create a message, assign one message to another, or use a transform to map certain values within a message to values within another message. Messages are also constructed by a receive action or when your orchestration accepts a message as a parameter.&lt;/i&gt;"&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;It basically says this: To create a new message, you have these options: &lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Transform from an existing message&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Assign the variables of an existing message&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Assign an existing message or message part to the new message&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Use an external .NET component to construct a new message&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Sometime you want to create a simple empty message to start with. This message doesn't have an instance yet. You don't have an existing message to do the message transformation. You don't want to use the external component since it introduces one more layer of complexity. Now what can you do? Looks like you ran out of the options. AMOF, you could easily construct a new message right inside the orchestration by following these steps: &lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Add a System.Xml.XmlDocument variable to the documentation. Without losing generality, let's say its name is theXmlDoc &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Add a message assignment shape&lt;/li&gt;&lt;br /&gt;&lt;/li&gt;In the expression shape of the assignment shape, enter the following: &lt;br /&gt;&lt;code&gt;&lt;br /&gt;  theXmlDoc = new System.Xml.XmlDocument(); &lt;br /&gt;  theXmlDoc.LoadXml("&amp;lt;root xmlns=\"http://www.namespace.org\" /&amp;gt"); &lt;br /&gt;  newMessage = theXmlDoc; &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698007-110391188888387473?l=biztalkshow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://biztalkshow.blogspot.com/feeds/110391188888387473/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8698007&amp;postID=110391188888387473' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/110391188888387473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/110391188888387473'/><link rel='alternate' type='text/html' href='http://biztalkshow.blogspot.com/2004/12/create-new-message-inside.html' title='Create a New Message Inside an Orchestration Without using an External Component'/><author><name>Jonathan Wu. CFA, FRM, MCTS</name><uri>http://www.blogger.com/profile/17149113821662192362</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_itCKNqCAWEI/SYEI9Izr5iI/AAAAAAAAAAs/T3pCDiijMxs/S220/me.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8698007.post-110072340787186615</id><published>2004-11-17T13:05:00.000-08:00</published><updated>2004-11-17T12:31:34.016-08:00</updated><title type='text'>The signature of the map file has changed, some arguments that you specify may not be valid. </title><content type='html'>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;br /&gt;One of our developers run into this problem when using the Biztalk Mapper. We searched on internet and found out there's a guy had exact same problem on &lt;a href="http://www.webservertalk.com/showthread.php?s=&amp;postid=1566638#post1566638"&gt;http://www.webservertalk.com&lt;/a&gt;. So I am saving my keystrokes and quote his message below:&lt;br&gt;&lt;br /&gt;&lt;i&gt;I had mapping scenario in where I am having 3 input xml file and 1 output xml file, which I can easily specify in the mapping component in the orchestration. The problem is when it opens the mapper. It shows that it had 3 input documents but only shows fields of first input xml and the other two as empty. When I go back to the orchestration and try to click on the transform component it says that the signature of the map file has changed, some arguments that you specify may not be valid. I believe it is possible to have multiple input file and one output file, Am I missing something?.&lt;br /&gt;Amit&lt;/i&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;Possible Solution:&lt;/b&gt;&lt;br /&gt;I am pretty sure the problem you encountered is due to the namespace#rootElement collision. If you are using the same namespace for those 3 inbound xml documents and these documents also have the same root element, you will run into this problem exactly as you described. You need to make sure the definition of your xml namespaces will always allow BizTalk to derive a unique type. The simple solution to your problem could be: &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;use a dinstinct namespace name for each inbound document schema; or&lt;/li&gt;&lt;br /&gt;&lt;li&gt;use a distinct root element name in each schema. &lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;One common scenario you will run into this problem is when you use the schemas generated by the SQL Adapters invoking the stored procedures. If you let the stored procedure to return "FOR XML RAW" and you have the same namespaces for these stored procedures generated schemas, then BizTalk mapper will not be able to import the rest of schemas since there's a type collision after importing the first schema. You will have these collisions if you define your namespace to be: http://mynamespace. &lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;InputMessagePart_0: http://mynamespace#row&lt;br /&gt;InputMessagePart_1: http://mynamespace#row&lt;br /&gt;InputMessagePart_2: http://mynamespace#row&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698007-110072340787186615?l=biztalkshow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://biztalkshow.blogspot.com/feeds/110072340787186615/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8698007&amp;postID=110072340787186615' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/110072340787186615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/110072340787186615'/><link rel='alternate' type='text/html' href='http://biztalkshow.blogspot.com/2004/11/signature-of-map-file-has-changed-some.html' title='The signature of the map file has changed, some arguments that you specify may not be valid. '/><author><name>Jonathan Wu. CFA, FRM, MCTS</name><uri>http://www.blogger.com/profile/17149113821662192362</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_itCKNqCAWEI/SYEI9Izr5iI/AAAAAAAAAAs/T3pCDiijMxs/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8698007.post-110063009575136412</id><published>2004-11-16T10:32:00.000-08:00</published><updated>2004-11-16T10:34:55.753-08:00</updated><title type='text'>How to fix Project location not fully trusted by .Net runtime problem?</title><content type='html'>&lt;b&gt;SOLUTION&lt;/b&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt; &lt;li&gt;Go to Settings | Control Panel | Admin Tools | .NET 1.1 Configuration&lt;/li&gt;&lt;br /&gt; &lt;li&gt;Drill to "Runtime Security Policy/Machine/Code Groups/All_Code"&lt;/li&gt;&lt;br /&gt; &lt;li&gt;Add a new code group with "_" separated name such as "CC_View_Group"&lt;/li&gt;&lt;br /&gt; &lt;li&gt;Click on the "Membership Condition" and choose "URL"&lt;/li&gt;&lt;br /&gt; &lt;li&gt;In the URL: text box, type in "file://V:/*"&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698007-110063009575136412?l=biztalkshow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://biztalkshow.blogspot.com/feeds/110063009575136412/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8698007&amp;postID=110063009575136412' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/110063009575136412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/110063009575136412'/><link rel='alternate' type='text/html' href='http://biztalkshow.blogspot.com/2004/11/how-to-fix-project-location-not-fully.html' title='How to fix Project location not fully trusted by .Net runtime problem?'/><author><name>Jonathan Wu. CFA, FRM, MCTS</name><uri>http://www.blogger.com/profile/17149113821662192362</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_itCKNqCAWEI/SYEI9Izr5iI/AAAAAAAAAAs/T3pCDiijMxs/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8698007.post-110055182478400514</id><published>2004-11-15T13:32:00.000-08:00</published><updated>2004-11-16T10:36:17.090-08:00</updated><title type='text'>The "SOAP" adapter is suspending an outbound message going to destination </title><content type='html'>&lt;pre&gt;&lt;br /&gt;Event Type:	Error&lt;br /&gt;Event Source:	BizTalk Server 2004&lt;br /&gt;Event Category:	BizTalk Server 2004 &lt;br /&gt;Event ID:	5754&lt;br /&gt;Date:		15/11/2004&lt;br /&gt;Time:		15:24:02&lt;br /&gt;User:		N/A&lt;br /&gt;Computer:	B000E7F60EAA7&lt;br /&gt;Description:&lt;br /&gt;The "SOAP" adapter is suspending an outbound message going to &lt;br /&gt;destination URL:"/My.WebService/RetrieveCustomerInfo.asmx". &lt;br /&gt;Details:"Exception of type System.Runtime.InteropServices.COMException &lt;br /&gt;was thrown.". &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;You just published an web service from your beautiful orchestration and you are expecting that your web service will work like a champ. Suddenly, you are stopped by this error and scratched your head several times trying to figure out what the h... is going on. You should reproduce the error and try to get more detailed exception context. Remember your could turn on the &lt;i&gt;ThrowDetailedError&lt;/i&gt; in the web.config file to get more information about the exception.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;  &amp;lt;appSettings&amp;gt;&lt;br /&gt;   &amp;lt;add key="ThrowDetailedError" value="True" /&amp;gt;&lt;br /&gt;  &amp;lt;/appSettings&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Once you turned on this switch, the exception you received from your client application should give you enough information to go about this exception. From my experience, the error is likely due to the transformation of the xml document to the objects in the message pipeline. For example, if you have an integer type element &lt;i&gt;count&lt;/i&gt; in your outbound xml document instance you intend to map to a field or property of your object. &lt;br /&gt;&lt;pre&gt;&lt;br /&gt; &amp;lt;count&amp;gt;6.0&amp;lt;/count&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The floating point number 6.0 will cause a conversion exception: &lt;i&gt;System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)&lt;/i&gt;. This will eventually bubble up to throw the mysterious &lt;i&gt;System.Web.Services.Protocols.SoapException&lt;/i&gt;. &lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;You need also keep an eye on the possible number overflow. For example, if you have an element mapped to &lt;i&gt;xs:integer&lt;/i&gt; which has a value that's not in the range of [-2147483648, 2147483647], you will receive this type of exception as well. &lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698007-110055182478400514?l=biztalkshow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://biztalkshow.blogspot.com/feeds/110055182478400514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8698007&amp;postID=110055182478400514' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/110055182478400514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/110055182478400514'/><link rel='alternate' type='text/html' href='http://biztalkshow.blogspot.com/2004/11/soap-adapter-is-suspending-outbound.html' title='The &quot;SOAP&quot; adapter is suspending an outbound message going to destination '/><author><name>Jonathan Wu. CFA, FRM, MCTS</name><uri>http://www.blogger.com/profile/17149113821662192362</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_itCKNqCAWEI/SYEI9Izr5iI/AAAAAAAAAAs/T3pCDiijMxs/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8698007.post-109893308592400074</id><published>2004-10-27T20:01:00.001-07:00</published><updated>2004-10-27T20:13:36.723-07:00</updated><title type='text'>Got tired of running Deployment Wizard? </title><content type='html'>&lt;p&gt;&lt;br /&gt;I found it is very annoying to run the BizTalk deployment wizard to deploy or undeploy the assemblies during development phase. Especially when you have multiple assemblies to deal with. You can actually write a simple batch file to automate the deploy/undeploy process. BizTalk provides a &lt;i&gt;BTSDeploy.exe&lt;/i&gt; in the installation directory that can take various arguments to perform these tasks easily. The following code (undeploy.bat) is a very rough sample for the undeployment. The deployment step is just the opposite. In case you don't know how to find out the public key token of your assembly, you could use these commands: &lt;i&gt;sn -T assembly.dll&lt;/i&gt; and &lt;i&gt;sn -t keyfile.snk&lt;/i&gt;. &lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;@echo off&lt;br /&gt;SETLOCAL&lt;br /&gt;&lt;br /&gt;::&lt;br /&gt;:: Set the deploy environmental variables for App&lt;br /&gt;::&lt;br /&gt;SET server=dbserver&lt;br /&gt;SET db=BizTalkMgmtDb&lt;br /&gt;SET btsdir="C:\Program Files\Microsoft BizTalk Server 2004"&lt;br /&gt;SET outdir=..\App\bin\Development&lt;br /&gt;SET log=.\undeployapp.log&lt;br /&gt;&lt;br /&gt;::&lt;br /&gt;:: The following section could be repeated if mutiple assemblies&lt;br /&gt;:: to be undeployed...&lt;br /&gt;::&lt;br /&gt;SET name=App&lt;br /&gt;SET version=2.0.0.0&lt;br /&gt;SET pkt=29068414d03ece02&lt;br /&gt;SET culture=neutral&lt;br /&gt;&lt;br /&gt;echo Undeploy %name% %version% from GAC and %db% on %server% ...&lt;br /&gt;::&lt;br /&gt;:: Perform undeployment; use BTSDeploy.exe&lt;br /&gt;::&lt;br /&gt;%btsdir%\BTSDeploy &lt;br /&gt;     REMOVE SERVER=%server% DATABASE=%db% &lt;br /&gt;     NAME=%name% VERSION=%version% CULTURE=%culture% &lt;br /&gt;     PUBLICKEYTOKEN=%pkt% UNINSTALL=True LOG=%log%&lt;br /&gt;&lt;br /&gt;pause&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698007-109893308592400074?l=biztalkshow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://biztalkshow.blogspot.com/feeds/109893308592400074/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8698007&amp;postID=109893308592400074' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/109893308592400074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/109893308592400074'/><link rel='alternate' type='text/html' href='http://biztalkshow.blogspot.com/2004/10/got-tired-of-running-deployment-wizard.html' title='Got tired of running Deployment Wizard? '/><author><name>Jonathan Wu. CFA, FRM, MCTS</name><uri>http://www.blogger.com/profile/17149113821662192362</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_itCKNqCAWEI/SYEI9Izr5iI/AAAAAAAAAAs/T3pCDiijMxs/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8698007.post-109890918020197278</id><published>2004-10-27T13:16:00.000-07:00</published><updated>2004-10-27T13:58:40.043-07:00</updated><title type='text'>The node to be inserted is from a different document context</title><content type='html'>&lt;p&gt;&lt;br /&gt;Inside your message assignment shape, if you try to do :&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Construct MsgB&lt;br /&gt;{&lt;br /&gt;    theXmlDoc.DocumentElement.AppendChild&lt;br /&gt;    (&lt;br /&gt;         xpath&lt;br /&gt;        (&lt;br /&gt;            MsgA,&lt;br /&gt;            "//*[local-name()='someElement']"&lt;br /&gt;        )&lt;br /&gt;    );&lt;br /&gt;    MsgB = theXmlDoc;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;You will run into this error:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Event Type:	Error&lt;br /&gt;Event Source:	XLANG/s&lt;br /&gt;Event Category:	None&lt;br /&gt;Event ID:	10034&lt;br /&gt;Date:		10/27/2004&lt;br /&gt;Time:		4:13:29 PM&lt;br /&gt;User:		N/A&lt;br /&gt;Computer:	B00D059B675E2&lt;br /&gt;Description:&lt;br /&gt;Uncaught exception terminated service A, instance B&lt;br /&gt;&lt;br /&gt;The node to be inserted is from a different document context.&lt;br /&gt;   &lt;br /&gt;Exception type: ArgumentException&lt;br /&gt;Source: System.Xml&lt;br /&gt;Target Site: System.Xml.XmlNode AppendChild(System.Xml.XmlNode)&lt;br /&gt;Help Link:&lt;br /&gt;Additional error information:&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;SOLUTION: This is because the node to be copied belongs to another Xml document and is not recognized by the destination xml document. In order to make it work, you will need to import it first. If you read MSDN's documentation for the &lt;i&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemxmlxmlnodeclassappendchildtopic.asp"&gt;XmlNode.AppendChild()&lt;/a&gt;&lt;/i&gt; method, you will notice the following description: &lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;If the node being inserted was created from another document, you can use XmlDocument.ImportNode to import the node to the current document. The imported node can then be inserted into the current document. ...&lt;br /&gt;&lt;br /&gt;Therefore, all you need to do is to add &lt;i&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemxmlxmldocumentclassimportnodetopic.asp"&gt;XmlDocument.ImportNode()&lt;/a&gt;&lt;/i&gt; method in the message assignment expression editor:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Construct MsgB&lt;br /&gt;{&lt;br /&gt;    theXmlDoc.DocumentElement.AppendChild&lt;br /&gt;    (&lt;br /&gt;       theXmlDoc.ImportNode&lt;br /&gt;       (&lt;br /&gt;           xpath&lt;br /&gt;           (&lt;br /&gt;               MsgA,&lt;br /&gt;               "//*[local-name()='someElement']"&lt;br /&gt;           )&lt;br /&gt;       )&lt;br /&gt;    );&lt;br /&gt;    MsgB = theXmlDoc;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698007-109890918020197278?l=biztalkshow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://biztalkshow.blogspot.com/feeds/109890918020197278/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8698007&amp;postID=109890918020197278' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/109890918020197278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/109890918020197278'/><link rel='alternate' type='text/html' href='http://biztalkshow.blogspot.com/2004/10/node-to-be-inserted-is-from-different.html' title='The node to be inserted is from a different document context'/><author><name>Jonathan Wu. CFA, FRM, MCTS</name><uri>http://www.blogger.com/profile/17149113821662192362</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_itCKNqCAWEI/SYEI9Izr5iI/AAAAAAAAAAs/T3pCDiijMxs/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8698007.post-109887912725562908</id><published>2004-10-27T05:11:00.000-07:00</published><updated>2006-06-14T10:42:03.786-07:00</updated><title type='text'>Cannot retrieve list of objects due to a WMI provider failure. New transaction cannot enlist in the specified transaction coordinator.</title><content type='html'>&lt;p&gt;&lt;br /&gt;Cannot retrieve list of objects due to a WMI provider failure. New transaction cannot enlist in the specified transaction coordinator.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;This problem occurs when you run the BizTalk Server across the fire wall. Take a look at the following links: &lt;br /&gt;&lt;/p&gt; &lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/250367/EN-US/"&gt;KB 250367&lt;/a&gt; &lt;br /&gt;&lt;br&gt; &lt;br /&gt;&lt;a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;306843"&gt;KB 306843&lt;/a&gt; &lt;br /&gt;&lt;br&gt; &lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/300083/EN-US/"&gt;KB 300083&lt;/a&gt; &lt;br /&gt;&lt;br&gt; &lt;br /&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/deploying/htm/ebiz_depl_secure_htmm.asp"&gt;Ports need to be opened&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698007-109887912725562908?l=biztalkshow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://biztalkshow.blogspot.com/feeds/109887912725562908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8698007&amp;postID=109887912725562908' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/109887912725562908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/109887912725562908'/><link rel='alternate' type='text/html' href='http://biztalkshow.blogspot.com/2004/10/cannot-retrieve-list-of-objects-due-to_27.html' title='Cannot retrieve list of objects due to a WMI provider failure. New transaction cannot enlist in the specified transaction coordinator.'/><author><name>Jonathan Wu. CFA, FRM, MCTS</name><uri>http://www.blogger.com/profile/17149113821662192362</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_itCKNqCAWEI/SYEI9Izr5iI/AAAAAAAAAAs/T3pCDiijMxs/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8698007.post-109865979609641977</id><published>2004-10-24T16:11:00.000-07:00</published><updated>2004-10-29T05:34:33.080-07:00</updated><title type='text'>Windows Command Line Tricks</title><content type='html'>&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Command Line Expansion&lt;/b&gt;:&lt;br /&gt;&lt;br /&gt;I am sure you like the command line expansion capability of csh, tcsh and bash in unix family of operating systems. You can have the same capability in Windows Command Line if you enable it. :-) You can use "tab" to expand the whole command line argument after you give a few starting characters. To enable this capability, set the following registry key value to 9. &lt;br /&gt;&lt;code&gt;&lt;br /&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor\PathCompletionChar&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Open File Explorer From cmd and Set Address to Current Working Directory&lt;/b&gt;:&lt;br /&gt;&lt;br /&gt;Developers constantly spend time in command line and sometime it is useful to start up the file explorer from the comand line environment. It will be very cool and save us a little bit time if the file explorer opened will point to the same working directory. You can do this easily with this command: &lt;br /&gt;&lt;code&gt;C:\Program Files\Microsoft BizTalk Server 2004&amp;gt; explorer %cd%&lt;/code&gt;&lt;br /&gt;This command will open up a file explorer and take you to directory: &lt;br /&gt;&lt;code&gt;C:\Program Files\Microsoft BizTalk Server 2004 &lt;/code&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698007-109865979609641977?l=biztalkshow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://biztalkshow.blogspot.com/feeds/109865979609641977/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8698007&amp;postID=109865979609641977' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/109865979609641977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/109865979609641977'/><link rel='alternate' type='text/html' href='http://biztalkshow.blogspot.com/2004/10/windows-command-line-tricks.html' title='Windows Command Line Tricks'/><author><name>Jonathan Wu. CFA, FRM, MCTS</name><uri>http://www.blogger.com/profile/17149113821662192362</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_itCKNqCAWEI/SYEI9Izr5iI/AAAAAAAAAAs/T3pCDiijMxs/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8698007.post-109841164405910987</id><published>2004-10-21T19:20:00.000-07:00</published><updated>2004-10-22T11:16:39.250-07:00</updated><title type='text'>The property 'TargetSite' on type 'System.Exception' cannot be serialized because it is decorated with declarative security permission attributes.</title><content type='html'>&lt;p&gt;Detailed error: &lt;br /&gt;The property 'TargetSite' on type 'System.Exception' cannot be serialized because it is decorated with declarative security permission attributes. Consider using imperative asserts or demands in the property accessors. &lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;Solution&lt;/b&gt;: System.Exception object can not be serialized to transfer over the HTTP channel. Obviously, we need to provide some mechanism to serialize its state to some transferable medium like string. And on the other end, typically web service, we need to deserialize it back to the exception object. &lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;I have a BaseException class that derives from System.Exception class. It has&lt;br /&gt; a public property called "ExceptionState" that serializes it to Base64String representation. It also has a static method "Reconstruct" that reconstructs it from the Base64String back to the BaseException object. &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;public class BaseException : Exception, ISerializable&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;//...&lt;br /&gt;&lt;br /&gt;string state; &lt;br /&gt;static BinaryFormatter binaryFormatter = new BinaryFormatter(); &lt;br /&gt;&lt;br /&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;/// Persiste BaseException object to the base 64 string. This property returns&lt;br /&gt;/// a string representation of the exception state which could be used to &lt;br /&gt;/// reconstruct this exception if desired. &amp;lt;see cref="Reconstruct"/&amp;gt; method.&lt;br /&gt;/// This property is introduced to fix the following issue: &lt;br /&gt;/// The property 'TargetSite' on type 'System.Exception' cannot be serialized &lt;br /&gt;/// because it is decorated with declarative security permission attributes. &lt;br /&gt;/// Consider using imperative asserts or demands in the property accessors.&lt;br /&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;public string ExceptionState&lt;br /&gt;{&lt;br /&gt;    get&lt;br /&gt;    {&lt;br /&gt;	if (state == null)&lt;br /&gt;	{&lt;br /&gt;	    MemoryStream stream = new MemoryStream();&lt;br /&gt;	    binaryFormatter.Serialize(stream, this); &lt;br /&gt;	    stream.Seek(0, SeekOrigin.Begin);&lt;br /&gt;	    state = Convert.ToBase64String(stream.ToArray()); &lt;br /&gt;	}&lt;br /&gt;	return this.state; &lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;/// Reconstructs a &amp;lt;c&amp;gt;BaseException&amp;lt;/c&amp;gt; from the supplied exceptionState &lt;br /&gt;/// string. &amp;lt;see cref="ExceptionProperty"/&amp;gt; property comments. &lt;br /&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;/// &amp;lt;param name="exceptionState"&amp;gt;&lt;br /&gt;/// Base 64 string representation of the xception&amp;lt;/param&amp;gt;&lt;br /&gt;/// &amp;lt;returns&amp;gt;&lt;br /&gt;/// A reconstructed &amp;lt;c&amp;gt;BaseException&amp;lt;/c&amp;gt; object; null if reconstruction failed. &lt;br /&gt;/// &amp;lt;/returns&amp;gt;&lt;br /&gt;public static BaseException Reconstruct(string exceptionState)&lt;br /&gt;{&lt;br /&gt;   byte [] buffer = Convert.FromBase64String(exceptionState); &lt;br /&gt;   Stream stream = new MemoryStream(buffer, 0, buffer.Length, false); &lt;br /&gt;   stream.Seek(0, SeekOrigin.Begin); &lt;br /&gt;   object obj = binaryFormatter.Deserialize(stream); &lt;br /&gt;   return obj as BaseException; &lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698007-109841164405910987?l=biztalkshow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://biztalkshow.blogspot.com/feeds/109841164405910987/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8698007&amp;postID=109841164405910987' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/109841164405910987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/109841164405910987'/><link rel='alternate' type='text/html' href='http://biztalkshow.blogspot.com/2004/10/property-targetsite-on-type.html' title='The property &apos;TargetSite&apos; on type &apos;System.Exception&apos; cannot be serialized because it is decorated with declarative security permission attributes.'/><author><name>Jonathan Wu. CFA, FRM, MCTS</name><uri>http://www.blogger.com/profile/17149113821662192362</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_itCKNqCAWEI/SYEI9Izr5iI/AAAAAAAAAAs/T3pCDiijMxs/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8698007.post-109836498625028348</id><published>2004-10-21T06:09:00.000-07:00</published><updated>2005-02-18T10:09:55.916-08:00</updated><title type='text'>Scritping Functoid Catch</title><content type='html'>&lt;p&gt;&lt;br /&gt;I experienced a problem when I was using the Inline XSLT inside the scripting functoid. I entered the XSLT first, then I scrolled the "Script type" dropdown to check out the template of "Inline C#". Then I clicked on the "OK" button without noticing that "Configure Functoid Scripts" dialog actually overwrites the the script type of my choice "Inline XSLT" with "Inline C#", even though your intention is to use XSLT. As a matter of fact, when you scroll the "Script type" dropdown to any other script types in front of the "Inline XSLT" inside the "Script type" dropdown, BizTalk will automatically uses the first available in the list even somtime it only has script in comments. When you compile your project, it will not signal error since all of the commented code, i.e. empty script, is considered valid by compiler. But when you run your orchestration, it will bomb. The solution is you need to rearrange the precedence of the inline scripts. To do this, right click inside of the map area; then go to the property window and bring up the "Script Type Precedence" dialog. &lt;br /&gt;&lt;img src="http://img108.exs.cx/img108/2396/scriptprecedence0yf.png" width="409" alt="Image Hosted by ImageShack.us" /&gt;&lt;br /&gt;I would test any BizTalk mapper before I compile my projects. To do so, simply right click on your map file and select "Test map" from the context menu. &lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698007-109836498625028348?l=biztalkshow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://biztalkshow.blogspot.com/feeds/109836498625028348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8698007&amp;postID=109836498625028348' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/109836498625028348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/109836498625028348'/><link rel='alternate' type='text/html' href='http://biztalkshow.blogspot.com/2004/10/scritping-functoid-catch.html' title='Scritping Functoid Catch'/><author><name>Jonathan Wu. CFA, FRM, MCTS</name><uri>http://www.blogger.com/profile/17149113821662192362</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_itCKNqCAWEI/SYEI9Izr5iI/AAAAAAAAAAs/T3pCDiijMxs/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8698007.post-109815302366760662</id><published>2004-10-18T19:29:00.000-07:00</published><updated>2004-11-02T12:26:30.520-08:00</updated><title type='text'>BizTalk Xml Links ...</title><content type='html'>&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sdk/htm/ebiz_prog_edit_skkt.asp"&gt;Import, Include or Redefine&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Even though you could use &amp;lt;xs:import&amp;gt; or &amp;lt;xs:include&amp;gt; to reuse existing schemas, I found that BizTalk having some proprietary processing for &amp;lt;xs:include&amp;gt;. It will copy the included schema verbatim whenever you place your &amp;lt;xs:include&amp;gt; node. Moreover, the schemas will also be included whenever they are referenced. Thus, you will have multi-rooted master schema if you use &amp;lt;xs:include&amp;gt;. I prefer to use the &amp;lt;xs:import&amp;gt; because it will maintain the single root in the master schema even you reference multiple existing external schemas. &lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sdk/htm/ebiz_prog_orch_abfe.asp"&gt;Assign messages&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnexxml/html/xml05202002.asp"&gt;Xml Namespace and XPATH&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://w3future.com/html/stories/elemvsattrs.xml"&gt;Elements vs. Attributes&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www-106.ibm.com/developerworks/xml/library/x-eleatt.html"&gt;IBM's When to use elements versus attributes&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698007-109815302366760662?l=biztalkshow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://biztalkshow.blogspot.com/feeds/109815302366760662/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8698007&amp;postID=109815302366760662' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/109815302366760662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/109815302366760662'/><link rel='alternate' type='text/html' href='http://biztalkshow.blogspot.com/2004/10/biztalk-xml-links.html' title='BizTalk Xml Links ...'/><author><name>Jonathan Wu. CFA, FRM, MCTS</name><uri>http://www.blogger.com/profile/17149113821662192362</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_itCKNqCAWEI/SYEI9Izr5iI/AAAAAAAAAAs/T3pCDiijMxs/S220/me.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8698007.post-109806214848910985</id><published>2004-10-17T17:03:00.000-07:00</published><updated>2004-10-17T18:45:35.370-07:00</updated><title type='text'>Yet another BizTalk Naming Guideline Recommendations</title><content type='html'>&lt;p&gt;For all BizTalk orchestration shapes, I would recommend to call a shape with its name (or its shorthand) and suffix it with a succint description. This is only a recommendation. You don't have to follow this convention. The recommendation strives to promote a common set of guidelines.&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;...................................................................&lt;br /&gt;              Shape  Short       Example&lt;br /&gt;...................................................................&lt;br /&gt; Call Orchestration  CallOdx     CallOdx_AssembleReply&lt;br /&gt;         Call Rules  CallRule    CallRule_LoanDecisioning&lt;br /&gt;         Compensate  Compensate  Compensate_BadTransactions&lt;br /&gt;  Construct Message  Mkmsg       Mkmsg_GetEntityParams&lt;br /&gt;             Decide  Decide      Decide_ProcessBorrower&lt;br /&gt;              Delay  Delay       Delay_OneHour&lt;br /&gt;              Group  Grp         Grp_GetFirstEntity&lt;br /&gt;             Listen  Listen      Listen_IncomingReq&lt;br /&gt;               Loop  Loop        Loop_ProcessAllApplications&lt;br /&gt; Message Assignment  Assign      Assign_EntityMatchResultToReplyMsg&lt;br /&gt;   Parallel Actions  Para        Para_GetMatchAndMkReply&lt;br /&gt;              Port*  Port        Port_GetEntities&lt;br /&gt;            Receive  Recv        Recv_AppReq&lt;br /&gt;               Send  Send        Send_AppRep&lt;br /&gt;Start Orchestration  Init        Init_PlaceOrder&lt;br /&gt;            Suspend  Susp        Susp_CreditEvaluationOdx&lt;br /&gt;          Terminate  Stop        Stop_CreditEvaluationOdx&lt;br /&gt;    Throw Exception  Throw       Throw_UnknownReqException&lt;br /&gt;          Transform  Xform       Xform_GetEntityParams&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;* Since orchestration's port name has nothing to do with the transfer protocol, the name should not contain the word like Soap, Http, File, etc. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698007-109806214848910985?l=biztalkshow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://biztalkshow.blogspot.com/feeds/109806214848910985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8698007&amp;postID=109806214848910985' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/109806214848910985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/109806214848910985'/><link rel='alternate' type='text/html' href='http://biztalkshow.blogspot.com/2004/10/yet-another-biztalk-naming-guideline.html' title='Yet another BizTalk Naming Guideline Recommendations'/><author><name>Jonathan Wu. CFA, FRM, MCTS</name><uri>http://www.blogger.com/profile/17149113821662192362</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_itCKNqCAWEI/SYEI9Izr5iI/AAAAAAAAAAs/T3pCDiijMxs/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8698007.post-109785374642877605</id><published>2004-10-15T08:04:00.000-07:00</published><updated>2004-10-27T19:59:40.303-07:00</updated><title type='text'>This Assembler cannot retrieve document specification by using this type: "http://tempuri#request"</title><content type='html'>&lt;pre&gt;&lt;br /&gt;Event Type:	Error&lt;br /&gt;Event Source:	BizTalk Server 2004&lt;br /&gt;Event Category:	BizTalk Server 2004 &lt;br /&gt;Event ID:	5720&lt;br /&gt;Date:		14/10/2004&lt;br /&gt;Time:		18:19:46&lt;br /&gt;User:		N/A&lt;br /&gt;Computer:	yourhost&lt;br /&gt;Description:&lt;br /&gt;There was a failure executing the send pipeline: &lt;br /&gt;"Microsoft.BizTalk.DefaultPipelines.XMLTransmit" &lt;br /&gt;Source: "XML assembler" &lt;br /&gt;Send Port: "SQL://server/db/" Reason: This Assembler cannot retrieve &lt;br /&gt;document specification by using this type: "http://tempuri#request".  &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;b&gt;SOLUTIONS:&lt;/b&gt; This is noramlly caused by the failure of BizTalk's message engine to derive the unique type from the deployed Xml Schema. Type generated by the schema will have the format of "&lt;i&gt;namespace#typename&lt;/i&gt;". For example, if you have defined your &lt;i&gt;xmlns=http://myproject&lt;/i&gt; and you have an root element called &lt;i&gt;item&lt;/i&gt;. The fully qualified element type derived by the BizTalk will be: &lt;i&gt;http://myproject#item&lt;/i&gt;. So your responsibility is to make sure: &lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Indeed you have this schema and desired root element defined &lt;/li&gt;&lt;br /&gt;&lt;li&gt;You don't have two or more elements with the exact same name and same namespace deployed. This includes all schemas previously deployed to the BizTalkMgmtDb. You could find the Xml namespaces are saved in the bt_XmlShare and bt_XmlShareReference tables in the BizTalkMgmtDb&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698007-109785374642877605?l=biztalkshow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://biztalkshow.blogspot.com/feeds/109785374642877605/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8698007&amp;postID=109785374642877605' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/109785374642877605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/109785374642877605'/><link rel='alternate' type='text/html' href='http://biztalkshow.blogspot.com/2004/10/this-assembler-cannot-retrieve.html' title='This Assembler cannot retrieve document specification by using this type: &quot;http://tempuri#request&quot;'/><author><name>Jonathan Wu. CFA, FRM, MCTS</name><uri>http://www.blogger.com/profile/17149113821662192362</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_itCKNqCAWEI/SYEI9Izr5iI/AAAAAAAAAAs/T3pCDiijMxs/S220/me.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8698007.post-109763904783062891</id><published>2004-10-12T20:41:00.000-07:00</published><updated>2004-10-13T14:23:17.523-07:00</updated><title type='text'>BizTalk: 'ActiveView.ColumnAxis' is null or not an object</title><content type='html'>&lt;font face="century;book antiqua" size=2&gt;&lt;br /&gt;HAT failed to run properly, it complains about the snap in. You need download Office 2000 Web Components:&lt;br /&gt;&lt;a href="http://office.microsoft.com/downloads/2002/owc10.aspx"&gt;download from here&lt;/a&gt;&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698007-109763904783062891?l=biztalkshow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://biztalkshow.blogspot.com/feeds/109763904783062891/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8698007&amp;postID=109763904783062891' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/109763904783062891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/109763904783062891'/><link rel='alternate' type='text/html' href='http://biztalkshow.blogspot.com/2004/10/biztalk-activeviewcolumnaxis-is-null.html' title='BizTalk: &apos;ActiveView.ColumnAxis&apos; is null or not an object'/><author><name>Jonathan Wu. CFA, FRM, MCTS</name><uri>http://www.blogger.com/profile/17149113821662192362</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_itCKNqCAWEI/SYEI9Izr5iI/AAAAAAAAAAs/T3pCDiijMxs/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8698007.post-109763882046013835</id><published>2004-10-12T20:34:00.000-07:00</published><updated>2005-03-07T19:21:34.396-08:00</updated><title type='text'>A Microsoft Distributed Transaction Coordinator problem prevented connection to the Configuration database. Exception from HRESULT: 0x8004D00E</title><content type='html'>&lt;font face="century;book antiqua;" size=2&gt;&lt;br /&gt;&lt;p&gt;Follow these steps:&lt;/p&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Make sure host and server can ping each other&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Make sure DTC service is up and running&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Check out &lt;a href="http://support.microsoft.com/?kbid=839187"&gt;kbid 839187&lt;/a&gt;&lt;br /&gt;SET HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\TurnOffRpcSecurity = 1&lt;/li&gt;&lt;br /&gt;&lt;li&gt;If your DEV BizTalk server is on a Windows XP box with SP2 installed, take a look at this article by Florin Lazar: &lt;a href="http://blogs.msdn.com/florinlazar/archive/2004/06/18/159127.aspx"&gt;XP SP2 and Transactions&lt;/a&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698007-109763882046013835?l=biztalkshow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://biztalkshow.blogspot.com/feeds/109763882046013835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8698007&amp;postID=109763882046013835' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/109763882046013835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/109763882046013835'/><link rel='alternate' type='text/html' href='http://biztalkshow.blogspot.com/2004/10/microsoft-distributed-transaction.html' title='A Microsoft Distributed Transaction Coordinator problem prevented connection to the Configuration database. Exception from HRESULT: 0x8004D00E'/><author><name>Jonathan Wu. CFA, FRM, MCTS</name><uri>http://www.blogger.com/profile/17149113821662192362</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_itCKNqCAWEI/SYEI9Izr5iI/AAAAAAAAAAs/T3pCDiijMxs/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8698007.post-109763782655758862</id><published>2004-10-12T20:00:00.000-07:00</published><updated>2004-10-13T05:43:09.613-07:00</updated><title type='text'>BizTalk: Type "http://www.w3.org/2001/XMLSchema:char" is not declared or not a simple type</title><content type='html'>&lt;p&gt;If you use the datatype char(1) in the stored procedure, it will bomb when you try to generate XML schema in the "add SQL adapter wizard".&lt;/p&gt;&lt;br /&gt;&lt;p&gt;It turns out to be a BizTalk bug. You can still use char(1) and it will just work fine after applying the following fix. By default, the schema returned by SQL XML is XDR (XML data Reduced). You can observe this from the Query Analyzer. This reduced schema is not used by BizTalk; BizTalk uses the xsd. BizTalk relies on the XDRToXSD.xslt to transfrom the xdr generated by SQL Server to the desired xsd format. There's a problem in the XDRToXSD.xslt (this file locates in "C:\Program Files\Microsoft BizTalk Server 2004\"). To fix this problem change the following line:&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;xsl:template match="@dt:type[.='char']" mode="convert-datatype"&amp;gt;xs:char&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;to:&lt;br /&gt;&amp;lt;xsl:template match="@dt:type[.='char']" mode="convert-datatype"&amp;gt;xs:string&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Thus, char(1) or char will be mapped to a xs:string. Actually, the default http://www.w3.org/2001/XMLSchema namespace has no xs:char build-in type. If you look at the following picture of the build in XMLSchema type hierachy you will find there's no xs:char. &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.w3.org/TR/xmlschema-2/type-hierarchy.gif" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;For details about the XMLSchema build in data type click &lt;a href="http://www.w3.org/TR/xmlschema-2/"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8698007-109763782655758862?l=biztalkshow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://biztalkshow.blogspot.com/feeds/109763782655758862/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8698007&amp;postID=109763782655758862' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/109763782655758862'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8698007/posts/default/109763782655758862'/><link rel='alternate' type='text/html' href='http://biztalkshow.blogspot.com/2004/10/biztalk-type-httpwwww3org2001xmlschema.html' title='BizTalk: Type &quot;http://www.w3.org/2001/XMLSchema:char&quot; is not declared or not a simple type'/><author><name>Jonathan Wu. CFA, FRM, MCTS</name><uri>http://www.blogger.com/profile/17149113821662192362</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_itCKNqCAWEI/SYEI9Izr5iI/AAAAAAAAAAs/T3pCDiijMxs/S220/me.jpg'/></author><thr:total>0</thr:total></entry></feed>
