tag:blogger.com,1999:blog-67701968608948359032024-02-21T00:28:47.375+11:00Number Eight WiredGreg Sharphttp://www.blogger.com/profile/01580786233886681114noreply@blogger.comBlogger12125tag:blogger.com,1999:blog-6770196860894835903.post-72300262926073285842013-11-06T18:43:00.000+11:002013-11-06T21:12:27.312+11:00Passing XML To An XML Datatype Stored Procedure Parameter Using WCF-SQL AdapterSometimes a collection or complex data structure needs to be delivered to a SQL database for storage. Strongly typed stored procedure schemas do not make it apparent what is required to pass XML data type parameter values (they are presented as xs:string types).
What you need to do is pass the XML parameter content as a CDATA section. The CDATA section is stripped by the adapter/Greg Sharphttp://www.blogger.com/profile/01580786233886681114noreply@blogger.com0tag:blogger.com,1999:blog-6770196860894835903.post-91547510369984920392013-02-12T19:56:00.000+11:002013-02-12T19:56:00.050+11:00"Error saving map. Stored procedure returned non-zero result." error message when you deploy the BizTalk Server 2009 applications in BizTalk Server 2009 Administration ConsoleA KB article related to this issue in BizTalk 2010 can be found here: http://support.microsoft.com/kb/2673264
However, somewhere between BizTalk 2009's CU3 and CU6 release this same issue was introduced to BizTalk 2009. At the time of writing, there is no known fix from Microsoft but what you can do is temporarily rollback the BizTalkMgmt.dbo.dpl_SaveMap sproc so you can continue importingGreg Sharphttp://www.blogger.com/profile/01580786233886681114noreply@blogger.com3tag:blogger.com,1999:blog-6770196860894835903.post-49780749651054335032010-11-22T19:34:00.013+11:002013-02-11T17:56:08.632+11:00WCF SQL Adapter Composite Operation TimeoutMicrosoft.ServiceModel.Channels.Common.InvalidUriException: Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached. ---> System.InvalidOperationException: Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have Greg Sharphttp://www.blogger.com/profile/01580786233886681114noreply@blogger.com0tag:blogger.com,1999:blog-6770196860894835903.post-8369186301478904762010-11-09T17:18:00.015+11:002013-11-22T17:41:40.230+11:00DNS Aliases And DisableLoopbackCheckIt makes sense to employ CNAME records when configuring a BizTalk infrastructure. That is, SQL Server and Enterprise Single Sign-On Master Secret Server (ENTSSO MSS) DNS aliases. In the typical High Availability (HA) model SQL Server and the ENTSSO MSS are clustered and a Network Name and IP Address cluster resource exist for both of these entities. Some smaller implementations, transitioning Greg Sharphttp://www.blogger.com/profile/01580786233886681114noreply@blogger.com0tag:blogger.com,1999:blog-6770196860894835903.post-51987341341211029142010-11-02T19:41:00.020+11:002010-11-23T21:38:34.180+11:00Enlist In A Send Pipeline Transaction From A Custom Pipeline ComponentA recent messaging project I worked on required executing a database update when a send port succeeded but not when it failed. It has been shown that one can leverage a receive pipeline's underlying transaction but not a send pipeline's. Enter IPersistQueryable.
By implementing IPersistQueryable your unit of work, for example a transaction status update, can be added as a transactional custom Greg Sharphttp://www.blogger.com/profile/01580786233886681114noreply@blogger.com0tag:blogger.com,1999:blog-6770196860894835903.post-19922405345481822952010-05-19T20:32:00.034+10:002010-06-17T10:31:52.362+10:00AppDomains, ESB Faults and Context PropertiesLast week threw up an interesting problem in the fault message creation module of the BizTalk ESB. The effect of which meant that our fault handler orchestration could not perform callbacks which in turn resulted in orphaned subscriptions. For more detail on the fault handler and subscription model refer to this previous post about the Scatter Gather pattern.Here's some background information to Greg Sharphttp://www.blogger.com/profile/01580786233886681114noreply@blogger.com0tag:blogger.com,1999:blog-6770196860894835903.post-3427737705956061972010-04-20T17:18:00.016+10:002010-04-23T07:47:24.500+10:00WCF LOB Adapter Ambient Transaction SuppressionThe WCF LOB Adapter SDK literature explains some considerations when developing your own LOB adapters. One of these considerations is performance when invoked by BizTalk because loading the channel and subsequent call to LOB adapters is done within a TransactionScope.Like the other DAL LOB adapters, for example, the WCF SQL Adapter, it is likely you will want to execute some operations outside Greg Sharphttp://www.blogger.com/profile/01580786233886681114noreply@blogger.com0tag:blogger.com,1999:blog-6770196860894835903.post-41812781096873644032010-03-11T21:13:00.018+11:002010-05-19T20:49:46.369+10:00BizTalk ESB Scatter Gather FrameworkI have recently been working on a BizTalk ESB project which uses the scatter gather pattern heavily. One of the key requirements was to execute itineraries in parallel. This thread is an overview of the framework written to fit the requirement.The scatter gather model chosen was taken from the ESB sample but extended to allow advanced correlation, abstraction of the broker and dispatcher Greg Sharphttp://www.blogger.com/profile/01580786233886681114noreply@blogger.com0tag:blogger.com,1999:blog-6770196860894835903.post-46865080842222294572009-08-18T14:23:00.022+10:002011-04-12T18:21:25.408+10:00Upgrading A Clustered ENTSSO Master Secret ServerIt is best practice to cluster the Enterprise Single Sign-On Master Secret Server (ENTSSO MSS) on the SQL Server tier to provide high availability.There is plenty of information available to guide us in setting up a clustered ENTSSO MSS. However, there is no documentation out there on upgrading a clustered ENTSSO MSS, for example, when moving to BT2K6 R2 an upgrade of SSO is recommended. So, Greg Sharphttp://www.blogger.com/profile/01580786233886681114noreply@blogger.com0tag:blogger.com,1999:blog-6770196860894835903.post-25876604985913484282009-06-24T12:59:00.006+10:002011-04-20T20:48:18.386+10:00Large Message Persistence In BAMBAM is all about interchange transparency. Whether you're looking for operational instrumentation, business process monitoring, exception logging, messaging trend analysis, data aggregation or as a nonrepudiation database BAM, in my opinion, should be your weapon of choice.The EventStream API is the most powerful of all the interfaces into BAM. The buffered, direct, orchestration and pipeline (Greg Sharphttp://www.blogger.com/profile/01580786233886681114noreply@blogger.com0tag:blogger.com,1999:blog-6770196860894835903.post-70345511051128518712009-04-30T17:23:00.028+10:002010-11-24T21:01:23.877+11:00Debugging BizTalk IL With ReflectorI've been using Reflector quite a bit lately to analyse BizTalk artifacts. Have also been talking to a colleague recently about IL debugging to work out how BizTalk works under the covers.Recently I found Deblector which allows IL debugging in Reflector. This is a really cool combo. John Flanders wrote about debugging orchestration IL back in '04 but Deblector reveals the IL of the framework and Greg Sharphttp://www.blogger.com/profile/01580786233886681114noreply@blogger.com0tag:blogger.com,1999:blog-6770196860894835903.post-33932483409757857922009-04-18T11:00:00.021+10:002009-05-01T13:34:08.482+10:00Mocking & Stubbing BizTalk Map Extension ObjectsIf you're a red/green TDD developer, BizTalk can be frustrating. There are some cool frameworks available but nothing beats the ability to test a unit of work in isolation without having to plumb-up peripheral services. BT2K9 goes some way to appeasing the masses but testing maps in isolation is not afforded out of the box.Why would you want to isolate BizTalk maps from extension objects? Answer:Greg Sharphttp://www.blogger.com/profile/01580786233886681114noreply@blogger.com0