<?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-3078460769226170088</id><updated>2012-01-17T21:22:50.031-08:00</updated><category term='BizTalk High Availability'/><category term='Off Topic'/><category term='BizTalk 2006'/><category term='High Availability'/><category term='Dublin'/><category term='BizTalk Virtualization'/><category term='AppFabric'/><category term='Windows Server 2008'/><category term='.Net Services'/><category term='BizSpark'/><category term='BizTalk vNext'/><category term='Azure'/><category term='Sweden'/><category term='WF'/><category term='Application Server'/><category term='BizTalk Server Version'/><category term='Ignite Your Career'/><category term='Node Exists'/><category term='AppFabric Service Bus'/><category term='BizTalk Server 2010 R2'/><category term='DevTeach/SQLTeach'/><category term='Clustering'/><category term='Websphere MQ'/><category term='PAL'/><category term='BizTalk Server 2009 Beta'/><category term='SCOM 2007 R2'/><category term='.Net Web Service Studio'/><category term='Dynamics CRM'/><category term='BizTalk 2009'/><category term='XSLT'/><category term='TechEd 2009'/><category term='Web Services'/><category term='SharePoint'/><category term='CS2001'/><category term='BAM'/><category term='nSoftware Adapters'/><category term='BizTalk 2010'/><category term='Functoids'/><category term='Microsoft TechDays'/><category term='SQL Server Broker'/><category term='WCF books'/><category term='BizTalk 2010 Beta'/><category term='HAT'/><category term='SAP Adapter'/><category term='biztalk hotrod'/><category term='Microsoft PDC 2008'/><category term='Enterprise Single Sign On'/><category term='code migration'/><category term='WCF'/><category term='BizTalk Light and Easy Viewing Webcast Series'/><category term='Tracked Message Bodies'/><category term='ShareTalk Integration'/><category term='BizTalk 2009 Beta'/><category term='Microsoft MVP'/><category term='SQL Server Notifications'/><category term='architecture'/><category term='HTTP Adapter'/><category term='WIndows 7'/><category term='BizTalk Isolated Host instance user'/><category term='BizTalk Mapper'/><title type='text'>Kent Weare's BizTalk Blog</title><subtitle type='html'>I have created this blog to document some of the techniques/patterns/tricks that I have come across during some of my projects.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default?start-index=101&amp;max-results=100'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>140</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-5182959819343054055</id><published>2011-12-08T21:06:00.001-08:00</published><updated>2011-12-08T21:06:59.509-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BizTalk Server 2010 R2'/><category scheme='http://www.blogger.com/atom/ns#' term='BizTalk vNext'/><title type='text'>BizTalk Server 2010 R2 Announced</title><content type='html'>&lt;p&gt;In a previous &lt;a href="http://kentweare.blogspot.com/2011/07/biztalk-server-still-has-pulse.html" target="_blank"&gt;post&lt;/a&gt;, I discussed Microsoft’s integration road map particularly related to Microsoft BizTalk Server.&amp;#160; The foundation of that post was based upon Tony Meleg’s &lt;a href="http://digitalwpc.com/Videos/AllVideos/Permalink/e821e9f8-e379-45b0-8879-12fe271c86be#fbid=jdv7SM6JXtJ" target="_blank"&gt;presentation&lt;/a&gt; from the World Partner Conference.&amp;#160; The good news is that today, Microsoft has given us a glimpse into what is to come with respect to BizTalk Server.&amp;#160; Previously, Tony cautioned us that Microsoft will continue to support BizTalk and will introduce incremental changes to the platform.&amp;#160; Where as most of the innovation will occur in the Azure AppFabric space.&lt;/p&gt;  &lt;p&gt;The next version of BizTalk Server is currently called BizTalk Server 2010 R2.&amp;#160; I suspect they are calling this an “R2” release since it is an evolutionary release that particularly focuses on platform alignment with Windows Server 8, SQL Server 12 and Visual Studio 11.&amp;#160; For those of you who do follow the BizTalk scene closely you may recall that BizTalk Server 2010 was originally called &lt;a href="http://www.holisticpage.com.au/Albumpics/4251076.jpg" target="_blank"&gt;BizTalk Server 2009 R2&lt;/a&gt; when it was in beta.&amp;#160; It was renamed to BizTalk Server 2010 prior to RTM.&amp;#160; So who knows if the BizTalk 2010 R2 name will stick but for now that is the name we will go with.&lt;/p&gt;  &lt;p&gt;In addition to the platform alignment that I have already mentioned, we can look forward to some new features in the areas of:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Adapter connectivity to new data sources including IBM Informix V11 and IBM IMS/DB V11&lt;/li&gt;    &lt;li&gt;Updates to industry schemas like HIPPA, HL7, SWIFT and SWIFTNet&lt;/li&gt;    &lt;li&gt;Improved Performance and Scalability&lt;/li&gt;    &lt;li&gt;Tighter integration with the Azure Service Bus&lt;/li&gt;    &lt;li&gt;Adjustment to licensing geared towards cloud hosting&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Of the features mentioned, I certainly will not complain about improved performance and am happy to see tighter integration with Azure AppFabric.&amp;#160; I really hope that they introduce a smoother way of integrating with Azure AppFabric Queues and Subscriptions.&lt;/p&gt;  &lt;p&gt;I am a little disappointed that there was no mention of fully supported REST endpoints, but it is early so I am hoping that Microsoft will surprise us with that feature.&lt;/p&gt;  &lt;p&gt;I have only touched on some of the new features that will be available.&amp;#160; You can find the complete post from Microsoft &lt;a href="http://blogs.msdn.com/b/biztalk_server_team_blog/archive/2011/12/08/biztalk-server-2010-r2.aspx" target="_blank"&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/3078460769226170088-5182959819343054055?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/5182959819343054055/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=5182959819343054055' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/5182959819343054055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/5182959819343054055'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2011/12/biztalk-server-2010-r2-announced.html' title='BizTalk Server 2010 R2 Announced'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-8408746573975584744</id><published>2011-10-01T09:58:00.001-07:00</published><updated>2011-10-01T09:58:25.021-07:00</updated><title type='text'>BizTalk: Adding BizTalk 360 to your Environment</title><content type='html'>&lt;p&gt;For those that are not familiar with &lt;a href="http://www.biztalk360.com"&gt;BizTalk 360&lt;/a&gt;, it is a Rich Internet Application (RIA) that allows you to monitor and maintain your BizTalk environment via a Web browser.&amp;#160; From what I can see, from a high level, there are a few components that you install in your BizTalk environment that make up the solution:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Silverlight Application which can be accessed via a remote web browser &lt;/li&gt;    &lt;li&gt;WCF Service(s) that expose the operations to the Silverlight application &lt;/li&gt;    &lt;li&gt;A Windows Service that handles some of the monitoring and notification features &lt;/li&gt;    &lt;li&gt;A BizTalk 360 database that will store your configuration and audit/governance &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;My organization recently purchased a license and support from BizTalk 360.&amp;#160; In this blog post I plan on explaining some of the rational and features that influenced our decision.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Requirements&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Over the past 5 years our BizTalk environment continues to grow.&amp;#160; With this growth comes more responsibility maintaining it.&amp;#160; Our current middleware team consists of both developers and administrators and therefore there is an on-call rotation that is used to handle the after hours support.&amp;#160; After hours support requirements are very binary; BizTalk’s infrastructure is either on or off.&amp;#160; This would include the core components like SQL Server, SSO, Host instances and applications being online.&amp;#160; We are not concerned if a single message is suspended.&amp;#160; The reason?&amp;#160; There is no one from the business available to consult with in order to correctly determine a resolution to the problem.&lt;/p&gt;  &lt;p&gt;Also, in parts of Canada the IT Market is getting hot.&amp;#160; Let’s face it there is nothing fun, or cool about being on-call. Even though our environment is very stable, people felt that they were still tied down to their cell phone since we have Service Availability metrics to meet and when an issue occurs response time is very important.&amp;#160; As all BizTalk resources know, BizTalk doesn’t have to be down to get roped into “fire fighting” triage sessions.&amp;#160; Sometimes your large ERP or engineering systems go down and since BizTalk connects into them you are impacted as well.&amp;#160; &lt;/p&gt;  &lt;p&gt;The company that I work for is very committed to employee retention and reducing the amount of on-call is a step in the right direction for reducing turnover and keeping employee morale high.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Solution&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I know Saravana from the MVP program and at the last MVP Summit Saravana was showing MVPs and some of the BizTalk Product Group an early preview of what is now BizTalk 360.&amp;#160; My initial thoughts included what a nice looking application and some of the features fill a void left by the BizTalk Admin Console but I wasn’t convinced that I had an immediate use for it.&amp;#160; &lt;/p&gt;  &lt;p&gt;While I was in Sweden in June, with &lt;a href="http://seroter.wordpress.com/"&gt;Richard Seroter&lt;/a&gt;,&amp;#160; promoting the &lt;a href="http://www.amazon.com/gp/product/1849681902/ref=as_li_ss_tl/?ie=UTF8&amp;amp;tag=richserosarch-20&amp;amp;linkCode=as2&amp;amp;camp=217153&amp;amp;creative=399701&amp;amp;creativeASIN=1849681902"&gt;book&lt;/a&gt; I contributed to, I ran into Saravana again and checked out the progress his start-up made on the product.&amp;#160; Once again I was impressed with the tool but wasn’t sure how I would use it.&lt;/p&gt;  &lt;p&gt;Come July and some more concerns about the on-call situation arose and this turned on a light bulb in my head about how we could use BizTalk 360 to help support our environment after hours.&amp;#160; We already have contracted resources that focus on after-hours support for our core infrastructure: Servers, SAN, Network etc.&amp;#160; I thought what if I could piggy back on this existing agreement?&amp;#160; Knowing that I didn’t need BizTalk Experts to keep an eye on my servers after hours, remember the type of service I am looking for is binary: on or off.&amp;#160; BizTalk 360 provides this visibility in a couple ways:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Dashboard&lt;/strong&gt; – By looking at this type of screen if is very obvious which artifacts are up and which are down.&amp;#160; Enabling these artifacts is a pretty easy action to perform so I don’t need to pay to have BizTalk Experts monitoring after hours. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-BLndQWEB73s/TodGqD9UcGI/AAAAAAAABqQ/hfNvp1EYyD0/s1600-h/Portal%25255B3%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Portal" border="0" alt="Portal" src="http://lh4.ggpht.com/-t9YGoo0F9kw/TodGrUL7DlI/AAAAAAAABqU/irS3XWXt1TA/Portal_thumb%25255B1%25255D.png?imgmax=800" width="644" height="352" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Notifications&lt;/strong&gt; – My company also uses SCOM for monitoring BizTalk and we will continue to do so even with BizTalk 360.&amp;#160; But the feature that I like about BizTalk 360 is the Health Summary email notification that you can configure.&amp;#160; I can now subscribe this after hours team to periodic notifications where they can quickly, and easily, determine the health of the environment.&amp;#160; I don’t want these people logged onto my BizTalk servers hitting F5 all night inside of the BizTalk Admin Console.&amp;#160; Using these email notifications frees them up to work on other things but also provides the visibility that we need. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;font size="1"&gt;(Sample email notification – note I have added the black marks to retain some privacy)&lt;/font&gt;&lt;/p&gt;  &lt;ul&gt;&lt;a href="http://lh5.ggpht.com/-fsCdFEcop6k/TodGrt-vJWI/AAAAAAAABqY/TM7oFH5wwX0/s1600-h/EmailNotification%25255B3%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="EmailNotification" border="0" alt="EmailNotification" src="http://lh4.ggpht.com/-H9BzKu4ABgk/TodGsIH01ZI/AAAAAAAABqc/8XPdcTB_WvE/EmailNotification_thumb%25255B1%25255D.png?imgmax=800" width="644" height="445" /&gt;&lt;/a&gt;&lt;/ul&gt;  &lt;ul&gt;Another area that is important to me is the Audit and Governance features that exist.&amp;#160; When trusting a 3rd party to provide support it is very nice to have an audit of what actions took place during support periods.&amp;#160; It protects both the client and the service provider and is a win-win all around.&amp;#160; This is a feature that has been missing from the BizTalk Admin Console that could benefit many organizations.&lt;/ul&gt;  &lt;p&gt;Overall the process of procuring the BizTalk 360 application has been very positive.&amp;#160; When I first tested out the product there were a few features missing that I really wanted.&amp;#160; Saravana took the time to review them over a Live Meeting, took my high priority needs and was able to provide me with a build on a committed timeline.&amp;#160; Some of my feature requests involve clustered host instances so if you use clustered host instances in your environment – you are welcome! &lt;/p&gt;  &lt;p&gt;The BizTalk 360 team is very committed to the product and their customers.&amp;#160; It has been refreshing to work with a company that is so motivated.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Something that I have learned through this process is to always keep your eyes open to new trends and tools.&amp;#160; I find Twitter really helps in this regard by following likeminded individuals.&amp;#160; You don’t need to deep dive on every new technology that you see but it is important to know that it exists as you never know when your requirements may change and you can benefit from it.&amp;#160; Case in point my situation that emerged this past summer.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3078460769226170088-8408746573975584744?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/8408746573975584744/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=8408746573975584744' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/8408746573975584744'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/8408746573975584744'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2011/10/biztalk-adding-biztalk-360-to-your.html' title='BizTalk: Adding BizTalk 360 to your Environment'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/-t9YGoo0F9kw/TodGrUL7DlI/AAAAAAAABqU/irS3XWXt1TA/s72-c/Portal_thumb%25255B1%25255D.png?imgmax=800' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-470003242167047292</id><published>2011-08-26T11:06:00.001-07:00</published><updated>2011-08-26T11:06:56.831-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BizTalk 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='nSoftware Adapters'/><title type='text'>BizTalk: /n Software Read Only (S)FTP Locations</title><content type='html'>&lt;p&gt;Another /n Software feature that I recently learned about involves Read Only FTP locations.&amp;#160; The idea behind this feature is the the source system does not want you to remove the file once it has been downloaded.&amp;#160; This could be for a variety of reasons including the file may be available to multiple consumers or the source system would like to archive the file once it has been consumed.&lt;/p&gt;  &lt;p&gt;Read only FTP locations is a new supported scenario with BizTalk 2010.&amp;#160; /n Software has supported this scenario for at least a few years.&amp;#160; You can enable this feature by simply specifying the &lt;strong&gt;Delete Mode&lt;/strong&gt; as &lt;strong&gt;Never &lt;/strong&gt;on a Receive Location that is using the /n Software adapter&lt;strong&gt;.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-uSEp6PCI5II/Tlfgq7gCC5I/AAAAAAAABpw/dEKtXAVi2KY/s1600-h/image%25255B3%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/-cqyxyNIBdM0/Tlfgsfz0UkI/AAAAAAAABp0/iRaUZp21yik/image_thumb%25255B1%25255D.png?imgmax=800" width="354" height="175" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;So this is all very intriguing,&amp;#160; I am sure,&amp;#160; but it is pretty obvious so why does this deserve a blog post?&amp;#160; The reason for the blog post is to discuss a lesser known property called &lt;strong&gt;DownloadCacheFile.&lt;/strong&gt; After scanning your receive location you will discover that this property is not visible.&amp;#160; This property is exposed through the &lt;strong&gt;Other&lt;/strong&gt; property.&amp;#160; Within this property we can specify &lt;strong&gt;DownloadCacheFile&lt;/strong&gt;=c:\myCacheFile.txt&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-lbDci-lC4Sk/TlfgtMvt7AI/AAAAAAAABp4/UvylXbkYgSo/s1600-h/image%25255B7%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-RW5uqnFV71Y/TlfgtztZQqI/AAAAAAAABp8/HWSvtD12mK8/image_thumb%25255B3%25255D.png?imgmax=800" width="354" height="230" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;As files are processed they will be added to this file and a record is kept so that they are not downloaded in subsequent polls of the (S)FTP location.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-AbkYad5kygM/Tlfgut_Ut3I/AAAAAAAABqA/MqLUCStFnvY/s1600-h/image%25255B11%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-49ICViOfdHw/TlfgvlQi_6I/AAAAAAAABqE/Ep-RDKyfApw/image_thumb%25255B5%25255D.png?imgmax=800" width="354" height="121" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;In the BizTalk 2010 implementation, Microsoft is using a database to store this type of information where as /n Software has chosen the file route.&amp;#160; Time will tell how well this feature works.&amp;#160; I would imagine that there is an upper limit where the file becomes so large that it slows performance or potentially corrupts.&lt;/p&gt;  &lt;p&gt;Also note that if you are using a Clustered host instance to host your FTP Receive locations, this file should be in a shared storage location so that the Clustered host instance has access to it no matter which Server it is actively running on.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3078460769226170088-470003242167047292?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/470003242167047292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=470003242167047292' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/470003242167047292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/470003242167047292'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2011/08/biztalk-n-software-read-only-sftp.html' title='BizTalk: /n Software Read Only (S)FTP Locations'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/-cqyxyNIBdM0/Tlfgsfz0UkI/AAAAAAAABp0/iRaUZp21yik/s72-c/image_thumb%25255B1%25255D.png?imgmax=800' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-7199896592080371052</id><published>2011-08-26T09:54:00.001-07:00</published><updated>2011-08-26T09:56:34.392-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BizTalk 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='nSoftware Adapters'/><category scheme='http://www.blogger.com/atom/ns#' term='BizTalk 2009'/><title type='text'>BizTalk: Configuring /n Software’s SFTP Adapter for Public/Private Key Security</title><content type='html'>&lt;p&gt;I was recently involved in a project that required secure FTP connectivity between my organization and a partner organization.&amp;#160; We continue to leverage /n Software’s SFTP adapter as we are still running BizTalk 2009 in production and we also find that our partners tend to leverage Secure FTP using SSH (SFTP) as opposed to FTP over SSL (FTPS).&amp;#160; BizTalk 2010 now includes an FTP adapter that supports SSL so we are likely to continue to use the /n Software adapter based upon SSH requirements even once we upgrade to BizTalk 2010.&lt;/p&gt;  &lt;p&gt;I am very far from being a Security/Certificate expert so I did learn a few things being involved in this project.&amp;#160; Hopefully if you have Secure FTP requirements that you will find this post helpful.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Generating Public and Private Keys&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;In my scenario, our trading partner required us to provide them with our Public key.&amp;#160; They wanted us to generate Private and Public keys.&amp;#160; They would then take our public key and install it in their SFTP server.&amp;#160; To generate these keys I simply used GlobalScape’s CuteFTP 8.3 Professional.&lt;/p&gt;  &lt;p&gt;Note: Your mileage may vary here.&amp;#160; There are some requirements that were enforced by our Trading partner including the Key type and the number of bits required for encryption.&lt;/p&gt;  &lt;p&gt;1. Click on Tools -&amp;gt; Global Options&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-lj0mJ97FZoc/TlfPYgfsSUI/AAAAAAAABoY/xbkONG99xVA/s1600-h/image%25255B4%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-TviHQiBBq0g/TlfPZ6uJJiI/AAAAAAAABoc/Vjgo0_mUhac/image_thumb%25255B2%25255D.png?imgmax=800" width="254" height="405" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;2. Click on &lt;strong&gt;Create identity file&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-tMe_vFOTVqI/TlfPa44N1aI/AAAAAAAABog/oNJr5eHuIy4/s1600-h/image%25255B9%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-dvl7q5DVla8/TlfPcs565gI/AAAAAAAABok/FRij4xJXY-A/image_thumb%25255B5%25255D.png?imgmax=800" width="354" height="264" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;3. Use &lt;strong&gt;DSA&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-6ACNGIm5_aQ/TlfPdzOO7-I/AAAAAAAABoo/V12FVyhTfhw/s1600-h/image%25255B17%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/-EpNCF3ahcM4/TlfPfWJMMjI/AAAAAAAABos/X5x_YFx8vHA/image_thumb%25255B9%25255D.png?imgmax=800" width="354" height="293" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;4. Provide a &lt;strong&gt;Passphrase&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-CmDBBWPZxdM/TlfPgvpoC1I/AAAAAAAABow/DC96Ywy73O4/s1600-h/image%25255B13%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-G_52Uq72pJ0/TlfPh_o8oFI/AAAAAAAABo0/Uom_KHj-Pwo/image_thumb%25255B7%25255D.png?imgmax=800" width="354" height="293" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;5. Enter a location for files to be generated and ensure the key length is set to 1024&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-lTGLHAUR768/TlfPjeKD7mI/AAAAAAAABo4/eAMtB5BNQp0/s1600-h/image%25255B22%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-6HwHb5MKWmE/TlfPklZWpjI/AAAAAAAABo8/9kDHzVdTqO0/image_thumb%25255B12%25255D.png?imgmax=800" width="354" height="293" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Configuring BizTalk Receive Location&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Since the Receive Location configuration is a little lengthy I am going to break it down into the various sections.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;SFTP&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Pretty basic settings here dealing with when we want to Delete, what file masks we want to look for and the folder on the remote SFTP server that we want to navigate to once we have successfully established connectivity.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-ygZqHV0Us_E/TlfPlYcOVaI/AAAAAAAABpA/1-Siqi3WSaQ/s1600-h/image%25255B26%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/-ShVHsiniFEs/TlfPmU1YhzI/AAAAAAAABpE/ihY3hgKARK4/image_thumb%25255B14%25255D.png?imgmax=800" width="354" height="145" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;SSH&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The first area to focus on in the SSH section is the &lt;strong&gt;SSH Accept Server Host Key.&amp;#160; &lt;/strong&gt;When you set the &lt;strong&gt;Accept Any&lt;/strong&gt;&amp;#160; to &lt;strong&gt;Yes&lt;/strong&gt; the &lt;strong&gt;SSH Accept Server Host Key &lt;/strong&gt;property will revert to &lt;strong&gt;Any.&lt;/strong&gt;&amp;#160; I equate this action with when you try to connect to an SFTP server using a client like CuteFTP.&amp;#160; You will get prompted with a dialog asking if you would like to accept the public key being pushed from the SFTP server.&amp;#160; The way I understand how this works is that this public key will get validated against your private key.&amp;#160; Should everything match up you should be able to establish a connection.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-i7-ulO7Bn9I/TlfPnHCySVI/AAAAAAAABpI/3KB4DRTt7AU/s1600-h/image%25255B32%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/-rcLVhp9Bq80/TlfPoB5xbkI/AAAAAAAABpM/ULRopzZizrk/image_thumb%25255B18%25255D.png?imgmax=800" width="354" height="111" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The next property to focus on is the &lt;strong&gt;SSH AuthMode&lt;/strong&gt;.&amp;#160; We want to set this value to be &lt;strong&gt;Public Key.&lt;/strong&gt;&amp;#160; There are a few different options when it comes to setting the Authentication mode.&amp;#160; One includes setting a password but for this particular partner they wanted to use &lt;strong&gt;Public Key&lt;/strong&gt; authentication.&amp;#160; When we set this value we then need to provide the location of our private key which happens to be called &lt;strong&gt;Identity &lt;/strong&gt;(without a file extension).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-q-eQ-UYDFYE/TlfPos1RqsI/AAAAAAAABpQ/-EI0wlipO3E/s1600-h/image%25255B36%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-2k73L8HqwCc/TlfPpoXSlmI/AAAAAAAABpU/jN4GoYNV74c/image_thumb%25255B20%25255D.png?imgmax=800" width="354" height="126" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;To provide our Private key we need to click on the ellipse button.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://lh3.ggpht.com/-pL8KzGrdPI4/TlfPqG-jYaI/AAAAAAAABpY/4W7dKKCLzFY/s1600-h/image%25255B51%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-jVZ9W5cCbQw/TlfPq6hPNLI/AAAAAAAABpc/F94zaC-9cbk/image_thumb%25255B27%25255D.png?imgmax=800" width="354" height="30" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;We will now be prompted with a dialog that allows us to select our Private key from a variety of sources.&amp;#160; In my scenario I wanted to select my key from the file system.&amp;#160; In order to do so I needed to select the &lt;strong&gt;PEM&lt;/strong&gt; tab and then browse to my key.&amp;#160; Since I have enabled my key to use a password I need to provide a password and then I can click the &lt;strong&gt;Open&lt;/strong&gt; button.&amp;#160; Once I did this my private key would appear in the TextArea box and I can click Ok.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-xOqzfc-AsqU/TlfPrdhWmAI/AAAAAAAABpg/d8Un32YlWes/s1600-h/image%25255B43%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-5X_n6vKrG0g/TlfPsDzSKBI/AAAAAAAABpk/yxfxymxrrvk/image_thumb%25255B23%25255D.png?imgmax=800" width="354" height="227" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The rest of the configuration deals with some connectivity details including the name of the FICTICOUS &lt;strong&gt;Host&lt;/strong&gt; and a &lt;strong&gt;SSH User &lt;/strong&gt;(a tribute to Steve Jobs who has recently stepped down from being Apple’s CEO) .&amp;#160; The &lt;strong&gt;SSH Port&lt;/strong&gt; is using the default port of &lt;strong&gt;22&lt;/strong&gt;&amp;#160; and even though it appears as if I have provided a password that is the default mask provided by the adapter.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-YxO_M-UsfdU/TlfPs-UwraI/AAAAAAAABpo/Sck9uZ4avQ0/s1600-h/image%25255B47%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-G-Wgt5KnuIM/TlfPthrRz5I/AAAAAAAABps/mPiWnr3YqxY/image_thumb%25255B25%25255D.png?imgmax=800" width="354" height="393" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;So as much as people love to talk about the cloud these days and using the Service Bus and WCF bindings, the bottom line is that companies continue to rely upon “legacy” technologies such as SFTP.&amp;#160; In my scenario, this trading partner is a very large institution so it is not as if they are a little “Mom and Pop” shop.&amp;#160; &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3078460769226170088-7199896592080371052?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/7199896592080371052/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=7199896592080371052' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/7199896592080371052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/7199896592080371052'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2011/08/biztalk-configuring-n-softwares-sftp.html' title='BizTalk: Configuring /n Software’s SFTP Adapter for Public/Private Key Security'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/-TviHQiBBq0g/TlfPZ6uJJiI/AAAAAAAABoc/Vjgo0_mUhac/s72-c/image_thumb%25255B2%25255D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-222628049394704242</id><published>2011-08-25T21:22:00.001-07:00</published><updated>2011-08-25T21:22:28.138-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BizTalk 2010'/><title type='text'>BizTalk 2010 Training Kits now available</title><content type='html'>&lt;p&gt;Both Developer and Administrator Training Kits have been recently released.&amp;#160; Inside of these training kit you can expect functional Virtual Machines, with the BizTalk software installed, training module documents and PowerPoint presentations.&amp;#160; This is the content that you would typically find in a Microsoft Official Curriculum course.&amp;#160; The best part about these kits is they are made available for free.&lt;/p&gt;  &lt;p&gt;I had the opportunity to collaborate with Jerry Anderson from Pluralsight on the Administration course.&amp;#160; My contributions primarily focused on Module 6: Monitoring a BizTalk Environment with System Center Operations Manager (SCOM).&lt;/p&gt;  &lt;p&gt;The BizTalk 2010 Developer Training Kit was released back in July and is available &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=14865"&gt;here&lt;/a&gt;.&amp;#160; The Administration course was released on August 21 and can be found &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=27148"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Enjoy!!!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3078460769226170088-222628049394704242?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/222628049394704242/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=222628049394704242' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/222628049394704242'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/222628049394704242'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2011/08/biztalk-2010-training-kits-now.html' title='BizTalk 2010 Training Kits now available'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-683769394922743448</id><published>2011-07-18T21:22:00.001-07:00</published><updated>2011-07-18T21:22:41.796-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><category scheme='http://www.blogger.com/atom/ns#' term='SAP Adapter'/><category scheme='http://www.blogger.com/atom/ns#' term='BizTalk 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics CRM'/><title type='text'>BizTalk 2010: Line of Business Systems Integration Book has been released</title><content type='html'>&lt;p&gt;For the past 10 months I have been involved in a project with 4 other talented individuals.&amp;#160; This project was a little different than the projects that I have been involved with in the past.&amp;#160; While other projects have always had some sort of documentation deliverable, documentation, in the form of a book was the main deliverable this time around.&lt;/p&gt;  &lt;p&gt;While many BizTalk books exists, we felt there was an opportunity when it came to discussing Line of Business integration with BizTalk Server 2010.&amp;#160; With the amount of talent involved in this book, I am very confident we have filled some of the void that exists on this topic.&lt;/p&gt;  &lt;p&gt;I would like the thank the following authors for their tremendous efforts:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://seroter.wordpress.com/" target="_blank"&gt;Richard Seroter&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Sergei Moukhnitski&lt;/li&gt;    &lt;li&gt;&lt;a href="http://connectedthoughts.wordpress.com/" target="_blank"&gt;Thiago Almeida&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Carl Darski&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I also want to thank our Technical Reviewers who spent &lt;strong&gt;a lot of hours&lt;/strong&gt; reviewing our content and definitely increased the quality of the book:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msinnovations.wordpress.com/" target="_blank"&gt;Ben Cline&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.biztalkgurus.com/biztalk_server/biztalk_blogs/b/biztalk/default.aspx" target="_blank"&gt;Stephen Thomas&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.breezetraining.com.au/mickb/default.aspx" target="_blank"&gt;Mick Badran&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;You may now find the book available on the Packt Publishing &lt;a href="http://www.packtpub.com/microsoft-biztalk-2010-line-of-business-systems-integration/book" target="_blank"&gt;site&lt;/a&gt; and on &lt;a href="http://www.amazon.com/Microsoft-BizTalk-2010-Business-Integration/dp/1849681902/ref=sr_1_4?s=books&amp;amp;ie=UTF8&amp;amp;qid=1311045033&amp;amp;sr=1-4" target="_blank"&gt;Amazon.com&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/3078460769226170088-683769394922743448?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/683769394922743448/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=683769394922743448' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/683769394922743448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/683769394922743448'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2011/07/biztalk-2010-line-of-business-systems.html' title='BizTalk 2010: Line of Business Systems Integration Book has been released'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-6628804023769045190</id><published>2011-07-17T20:57:00.001-07:00</published><updated>2011-07-17T20:57:34.747-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BizTalk 2010'/><title type='text'>Sample Chapter available for upcoming BizTalk LOB Book</title><content type='html'>&lt;p&gt;I see that Packt Publishing has included a link to a sample chapter in our upcoming book called &lt;strong&gt;Microsoft BizTalk 2010: Line of Business Systems Integration.&amp;#160; &lt;/strong&gt;The sample chapter selected&amp;#160; is: Integrating with Dynamics 2009.&amp;#160; You can read more about the book &lt;a href="http://www.packtpub.com/microsoft-biztalk-2010-line-of-business-systems-integration/book" target="_blank"&gt;here&lt;/a&gt; and can find the sample chapter download &lt;a href="http://www.packtpub.com/sites/default/files/1902-chapter-9-microsoft-dynamics-ax.pdf" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;I don’t have a publish date but I expect it to be imminent.&amp;#160; The content has been provided to the printer.&amp;#160; I will update this post once a publish date is available.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3078460769226170088-6628804023769045190?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/6628804023769045190/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=6628804023769045190' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/6628804023769045190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/6628804023769045190'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2011/07/sample-chapter-available-for-upcoming.html' title='Sample Chapter available for upcoming BizTalk LOB Book'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-2480039727134937676</id><published>2011-07-17T16:45:00.001-07:00</published><updated>2011-07-17T16:45:40.102-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Azure'/><category scheme='http://www.blogger.com/atom/ns#' term='AppFabric'/><category scheme='http://www.blogger.com/atom/ns#' term='BizTalk vNext'/><title type='text'>BizTalk Server still has a pulse</title><content type='html'>&lt;p&gt;While this information is now well known and has been covered by both &lt;a href="http://seroter.wordpress.com/2011/07/14/is-biztalk-server-going-away-at-some-point-yes-dead-nope/" target="_blank"&gt;Richard Seroter&lt;/a&gt; and &lt;a href="http://blogs.digitaldeposit.net/saravana/post/2011/07/15/The-Future-of-Middleware-and-the-BizTalk-Roadmap-Recap.aspx" target="_blank"&gt;Saravana Kumar&lt;/a&gt;, I wanted to throw my 2 cents out there as I was away on vacation when this information was released. Now that I am back, I have had some time to watch Tony Meleg’s &lt;a href="http://digitalwpc.com/Videos/AllVideos/Permalink/e821e9f8-e379-45b0-8879-12fe271c86be#fbid=armmnvAe9yR" target="_blank"&gt;presentation&lt;/a&gt; from the&amp;#160; 2011 World Partner Conference. I have a feeling that this “talk” will be one of those that is referenced for years to come.&amp;#160; Much like we continue to bring up certain “Scott Woodgate” talks.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;A New Platform is born&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;For the past couple years, Microsoft has put significant emphasis on cloud computing and providing software and platform services that run in Microsoft’s data centers.&amp;#160; From a platform perspective, these investments have been made to Azure.&amp;#160; Today we have capabilities&amp;#160; to run Web and Worker roles, SQL and Azure Storage, Caching and relay messaging in a production environment.&lt;/p&gt;  &lt;p&gt;Microsoft continues to invest in this platform and is increasing the amount of capabilities that are provided in this platform.&amp;#160; We are now starting to see some of the “middleware” capabilities being introduced in the form of CTPs that include Workflow, Pub/Sub and Queues.&amp;#160; A future CTP will showcase additional “integration” capabilities including pipelines that will host message transformations.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;New Platform’s impact on BizTalk&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;It has been very clear that Microsoft is betting on the cloud and as a result all new software investments will occur in the cloud first and then make its way to on-premise. The first example of this strategy was the release of CRM 2011 which was available in the cloud prior to making its way into on-premise.&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;To align with Microsoft’s cloud strategy, some tough decisions had to occur in order to include BizTalk functionality in the cloud.&amp;#160; A key area that had an impact on BizTalk’s ability to move to the cloud was in the area of Workflow.&amp;#160; A decision had to be made as to which “Workflow-ish” technology Microsoft would pursue between Windows Workflow Foundation and Xlang.&amp;#160; The driver for this decision was Microsoft’s desire to reduce the amount of duplication of efforts across their platforms.&amp;#160; As you can see from Tony’s presentation, Xlang did not make the cut.&amp;#160; In my opinion, it makes sense to decide upon Windows Workflow as it can be used outside of BizTalk and is already used in other platforms like CRM and SharePoint.&amp;#160;&amp;#160; Tony does mention in his presentation that removing the Xlang Orchestration engine from BizTalk is like performing a major heart surgery and will take several years to fulfill. &lt;/p&gt;  &lt;p&gt;Microsoft also has aspirations of ensuring symmetry between cloud and on-premise versions of its software.&amp;#160; The current BizTalk architecture just didn’t provide a good fit especially when consider the desire to reduce the duplication of efforts across platforms.&amp;#160; It was pretty clear that Workflow would be the engine of choice being a .Net based technology and its adoption by other platforms.&lt;/p&gt;  &lt;p&gt;Another area that is at the top of customer’s “ask list” was more flexible messaging options.&amp;#160; While BizTalk’s current durable messaging is a core requirement for many customers, the ability to by-pass durable messaging in order to increase performance is a core requirement for others.&amp;#160; We have the ability to perform non-durable messaging with WCF and WF today so once again this is a natural fit over trying to change the existing BizTalk messaging engine.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Platform end state&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Below is an image that I snagged from Tony’s presentation.&amp;#160; It represents the new platform’s “end-state” in terms of capabilities.&amp;#160; Within this diagram you should be able to find existing BizTalk capabilities and their alignment to the new platform including:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Adapters &lt;/li&gt;    &lt;li&gt;Rules &lt;/li&gt;    &lt;li&gt;Pub/Sub &lt;/li&gt;    &lt;li&gt;Transformations &lt;/li&gt;    &lt;li&gt;Pipelines &lt;/li&gt;    &lt;li&gt;BAM &lt;/li&gt;    &lt;li&gt;TPM &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;We also have some enhancements or new capabilities not found within BizTalk natively like Caching, Web Apps, Workflow and the new Composition Model and AppFabric App Manager.&amp;#160; I have discussed a few of the Composition Model and AppFabric Manager on my other blog &lt;a href="http://www.MiddlewareInTheCloud.com"&gt;http://www.MiddlewareInTheCloud.com&lt;/a&gt; and am looking forward to “BizTalk” app development being able to leverage these features.&amp;#160; I was reminded of the convenience of the Composition Model when I recently deployed a BizTalk application to multiple servers that included deploying Web Services.&amp;#160; The BizTalk deployment model could be optimized in my opinion when it comes to distributed deployments. Yes there are tools that help like MSBuild and the BizTalk deployment framework but it should be simpler.&amp;#160; I would love to see the simplicity that the AppFabric Application model provides to “BizTalk” applications.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-rGAacFOVaKU/TiN0G3iGg_I/AAAAAAAABnQ/0yx6zIyXuu0/s1600-h/image%25255B6%25255D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-nZVGet-Lp7w/TiN0HpaSZJI/AAAAAAAABnU/hBtKS6dX-LY/image_thumb%25255B4%25255D.png?imgmax=800" width="704" height="430" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Timing&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Tony asks people to “lower expectations” and “think long term”.&amp;#160; Microsoft recognizes that they will not be able to move existing BizTalk functionality to this new platform in either the cloud or on-premise any time soon.&amp;#160; It will take multiple releases to achieve the goals of the platform.&amp;#160; Their timeline is somewhere around 5 years.&amp;#160; In the mean time Microsoft &lt;strong&gt;is going to continue to release versions of BizTalk Server.&amp;#160; &lt;/strong&gt;Yes, you read that right…BizTalk is &lt;strong&gt;&lt;u&gt;not&lt;/u&gt;&lt;/strong&gt; dead.&amp;#160; However, Tony cautions that we will not see a lot of innovation being baked into the new BizTalk bits.&amp;#160; The updates to BizTalk server will be to align to updated platforms like Windows Server, SQL Server and Visual Studio.&amp;#160; Updates may also include bug fixes or key customer asks that are reasonable to implement.&amp;#160; However,&amp;#160; the innovation will occur in this new platform.&lt;/p&gt;  &lt;p&gt;In the short term, we will see features of the new platform being rolled out in the form of CTPs.&amp;#160; We shouldn’t expect the new middleware features to hit production until sometime in 2012.&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;(another image that I swiped from Tony’s presentation)&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-SfedLPUz1ZE/TiN0IA820YI/AAAAAAAABnY/OMcZAzbghXg/s1600-h/image%25255B10%25255D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/-Z73eU8kn1SM/TiN0I6vGTfI/AAAAAAAABnc/YcMzcWhhmww/image_thumb%25255B6%25255D.png?imgmax=800" width="704" height="433" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Migration&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;As we move from our existing platform to the new platform, we should be expect some pain.&amp;#160; Obviously Microsoft will take reasonable steps to ensure of smooth transitions to the new platform but we can expect some challenges along the way.&amp;#160; There will not be an “easy button”.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Guidance&lt;/strong&gt;&amp;#160; &lt;font size="1"&gt;(my opinion – take it as is without warranty)&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;The first piece of advice is: DON’T PANIC.&amp;#160; It is still early and nothing is written in stone at this point.&amp;#160; Microsoft has mentioned that this is a long term strategy and it will take multiple releases to address the vision.&amp;#160; In the mean time they will continue to support and release more BizTalk.&amp;#160; From a personal perspective, I am responsible for a Middleware team at a good sized Energy Distribution provider.&amp;#160; We run BizTalk 2009 and I can confidently say that our business runs on top of BizTalk.&amp;#160; If BizTalk goes down, many parts of our business slow down if not grind to a halt.&amp;#160; We have been making significant investments in BizTalk for over 5 years.&amp;#160; My intentions are to continue use BizTalk.&amp;#160; We have an upgrade planned in the next 8 months and that will be a BizTalk upgrade.&amp;#160; Most likely 2010, but if a newer v.Next release miraculously appears we will consider it.&lt;/p&gt;  &lt;p&gt;From a developer perspective, this news is a bit of a wake up call.&amp;#160; It is time to start diversifying your skill set.&amp;#160; Microsoft is providing initial looks at this technologies through CTPs.&amp;#160; Get involved!&amp;#160; Download the bits, try them out and get familiar with some of the new concepts and models.&amp;#160; I don’t think there is any reason to be really nervous though.&amp;#160; The underlying core integration skills that you have built up over the years will not be for nothing.&amp;#160; Some of the terminology will change, the toolset will probably change but many existing integration patterns will continue to exist whether there is a “cloudy thing” or not.&amp;#160; If anything, I think there will be a lot of new opportunities for developers with Microsoft Integration skill sets.&amp;#160; There will be a lot of existing BizTalk –&amp;gt; New Platform migrations that will need to occur in the next 3-10 years.&amp;#160; Who better to work on these projects than people with BizTalk experience who have adopted the new technology.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3078460769226170088-2480039727134937676?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/2480039727134937676/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=2480039727134937676' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/2480039727134937676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/2480039727134937676'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2011/07/biztalk-server-still-has-pulse.html' title='BizTalk Server still has a pulse'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/-nZVGet-Lp7w/TiN0HpaSZJI/AAAAAAAABnU/hBtKS6dX-LY/s72-c/image_thumb%25255B4%25255D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-7319877340553798221</id><published>2011-06-25T12:32:00.001-07:00</published><updated>2011-06-25T12:36:48.143-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Azure'/><category scheme='http://www.blogger.com/atom/ns#' term='AppFabric'/><title type='text'>First look at Azure AppFabric June (2011) CTP</title><content type='html'>&lt;p&gt;Recently Microsoft has released another Azure AppFabric CTP.&amp;#160; This particular one focuses on Azure “AppFabric Applications” or otherwise known as “Composite Applications”.&amp;#160; The goal of Azure AppFabric Applications(as I see it) is&amp;#160; to build, deploy and manage multi-tier applications as a single logical entity in Windows Azure.&lt;/p&gt;  &lt;p&gt;Coming from the BizTalk world I am very familiar with distributed applications.&amp;#160; Some of the challenges in developing and maintaining these types of applications is understanding all of the moving parts that are involved in these solutions.&amp;#160; AppFabric Applications is a step in the right direction as it provides a holistic view of our “stuff” that makes up a distributed application including Web Applications, Custom and 3rd party Services, Service Bus capabilities (Relay/Queues), Workflow and Storage(DB/Blob/Table).&amp;#160; &lt;/p&gt;  &lt;p&gt;Managing, and understanding,&amp;#160; different application/solution tiers independently can be a bit of a nightmare.&amp;#160; One of the features of AppFabric Applications the ability to automatically generate a diagram that describes all of the core components of our distributed application and the related dependencies.&lt;/p&gt;  &lt;p&gt;If we take a look at a diagram that describes one of the sample solutions we can quickly discover what our solution is made up of.&amp;#160; In this case we have a Web Application that will push data to an AppFabric Queue.&amp;#160; In turn we have a service that pull this data off of the queue.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-q-4Ovy66mds/TgY3xlLL2dI/AAAAAAAABmY/0jHO9GV419I/s1600-h/image%25255B4%25255D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-Y2J-b2OuRjA/TgY3yKwww2I/AAAAAAAABmc/AItcKaBaDTM/image_thumb%25255B2%25255D.png?imgmax=800" width="171" height="772" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;So at this point you may be thinking “whoopee” I can draw that in Visio in 2 minutes.&amp;#160; Well Visio will not be able to deploy this entire solution to the cloud in the matter of a few mouse clicks.&amp;#160; Once this application is in the cloud we then have the ability to provision our various tiers by “turning a knob” or in this case pulling down a menu to select the amount of instances we require.&lt;/p&gt;  &lt;p&gt;Another nice benefit is that we can trace and instrument our entire solution from once place.&amp;#160; This is another pain point of distributed systems.&amp;#160; There is usually logs all over the place that have to be aggregated to get a sense of the performance and health of an entire application.&amp;#160; This is another benefit of using Azure AppFabric Composite apps.&lt;/p&gt;  &lt;p&gt;Unfortunately my experience with this technology is only in the Local Development fabric as I am currently waiting to get access to the “Labs” environment in Azure.&amp;#160; But if you check out some of the resources that I have outlined below you can see some demos of the Management features available in the Cloud.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Summary&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Benefits:&lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;Ease of deployment &lt;/li&gt;      &lt;li&gt;Greater developer productivity &lt;/li&gt;      &lt;li&gt;Effortless scale &lt;/li&gt;      &lt;li&gt;Centralized managed and monitoring &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;CTP includes&lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;AppFabric Developer Tools &lt;/li&gt;      &lt;li&gt;AppFabric Application Manager &lt;/li&gt;      &lt;li&gt;Composition Model &lt;/li&gt;      &lt;li&gt;Support for running Custom Code, WCF and WF &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;What you need&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=184288"&gt;Windows Azure AppFabric CTP SDK&lt;/a&gt; and &lt;a href="http://go.microsoft.com/fwlink/?LinkID=184288"&gt;Windows Azure AppFabric Tools for Visual Studio&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Resources:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Before you start, I recommend watching the following videos:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Channel 9 announcement &lt;a href="http://channel9.msdn.com/Shows/AppFabric-tv/AppFabrictv-Announcing-the-Windows-Azure-AppFabric-June-CTP"&gt;video&lt;/a&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;Alan Smith’s &lt;a href="http://www.cloudcasts.net/ViewWebcast.aspx?webcastid=2520935311769024826"&gt;webcast&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;TechEd 2011 North America &lt;a href="http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/COS311"&gt;video&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I also suggest you take a look at the &lt;a href="http://msdn.microsoft.com/en-us/library/hh239705.aspx"&gt;Tutorials&lt;/a&gt; and &lt;a href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;amp;id=17691"&gt;Samples&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;The Samples that are available include introductory apps like a StockQuote app that has a Web Front end and then consumes a back end service&amp;#160; to a Contoso Pizza application that includes a Web Front End that consumes a back end service which leverages some WF workflow.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Closing&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;This new CTP has me really intrigued.&amp;#160; I plan to investigate further and will blog more about my findings.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3078460769226170088-7319877340553798221?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/7319877340553798221/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=7319877340553798221' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/7319877340553798221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/7319877340553798221'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2011/06/first-look-at-azure-appfabric-june-2011.html' title='First look at Azure AppFabric June (2011) CTP'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/-Y2J-b2OuRjA/TgY3yKwww2I/AAAAAAAABmc/AItcKaBaDTM/s72-c/image_thumb%25255B2%25255D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-4384335779794873808</id><published>2011-04-11T12:38:00.000-07:00</published><updated>2011-04-11T12:48:21.538-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BizTalk 2009'/><title type='text'>BizTalk 2009 – Be careful when setting Service Windows on Send Ports</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Note: This blog posts pertains to BizTalk 2009.&amp;#160; It has not been tested against other versions although I suspect the behavior is the same.&lt;/p&gt;  &lt;p&gt;We recently had a situation where a downstream system was having issues processing certain types of messages.&amp;#160; We were asked to “queue” messages received from the source system until the issue was resolved.&amp;#160; In order to do this we simply stopped the Send Port but left it enlisted.&amp;#160; Since the Send Port is still enlisted, a subscription still exists within the MessageBox database.&amp;#160; Any messages received while the Send Port is in this state are essentially “queued”.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/TaNZzECJ31I/AAAAAAAABj4/fivo-Nqh7WQ/s1600-h/image%5B3%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/TaNZ0Xh-lxI/AAAAAAAABj8/0LtS07_Y2DA/image_thumb%5B1%5D.png?imgmax=800" width="404" height="167" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;When you send a message into BizTalk and have the port Stopped(but enlisted) you can expect a Suspended message that has an error description of “Service instance was suspended because the corresponding service (orchestration, sendport, ...) was in the stopped state. Instance can be resumed after corresponding service is started.”&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/TaNZ1_eaVzI/AAAAAAAABkA/4yoTe5cFstw/s1600-h/image%5B7%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/TaNZ3P5magI/AAAAAAAABkE/gmhLFsmG5Tc/image_thumb%5B3%5D.png?imgmax=800" width="404" height="242" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Even with this Send Port stopped, we can still right mouse click on the suspended instance and resume it without issues.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/TaNZ4P9mhHI/AAAAAAAABkI/p55T8JfSc2k/s1600-h/image%5B11%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/TaNZ5vksf-I/AAAAAAAABkM/4ogNYrpI0jM/image_thumb%5B5%5D.png?imgmax=800" width="404" height="206" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;We knew that we had to have this send port stopped for a few days while the issue was resolved.&amp;#160; Since we have multiple people working within our Middleware team and also have automated processes to ensure our applications are online, we decided to set a Service Window on the Send Port in addition to having these messages queued as a precautionary measure.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/TaNZ7h_QAaI/AAAAAAAABkQ/PEoiTWy1yeE/s1600-h/image%5B15%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/TaNZ9i1vcMI/AAAAAAAABkU/_pGRaskjZF4/image_thumb%5B7%5D.png?imgmax=800" width="404" height="326" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The intent of this Service Window of 1 second allows us to log into the server before 9am to ensure the Send Port is not started.&amp;#160; Then we would disable the service window and use a time that is before the current time.&amp;#160; The current time, for the purpose of this blog post, is 10:06 am.&lt;/p&gt;  &lt;p&gt;If we send in another message with this Service Window we will see a screen much like we saw without the schedule in place.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/TaNZ-ulKHGI/AAAAAAAABkY/Be5GHVMGmyk/s1600-h/image%5B19%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/TaNaA2sIEGI/AAAAAAAABkc/fw8RvLZmN4w/image_thumb%5B9%5D.png?imgmax=800" width="404" height="208" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;If we check our BizTalkServerApplicationQ table within our MessageBox database we will discover that no records exist:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/TaNaCxp24SI/AAAAAAAABkg/s78BpGP83oA/s1600-h/image%5B39%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/TaNaEECW4dI/AAAAAAAABkk/zk9f0PCFo0o/image_thumb%5B21%5D.png?imgmax=800" width="604" height="157" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;If we check our BizTalkServerApplicationQ_Suspended table we will discover that metadata exists for our message that we just received.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/TaNaFnzYs_I/AAAAAAAABko/ZXfq9z_3hg8/s1600-h/image%5B35%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/TaNaIbP2b1I/AAAAAAAABks/UF33JHNuIfU/image_thumb%5B19%5D.png?imgmax=800" width="604" height="120" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;So what are these tables?&amp;#160; These tables make up BizTalk’s work queues for our BizTalk Server Application Host.&amp;#160; Stay tuned and note which tables have records as you will soon see a discrepancy.&lt;/p&gt;    &lt;p&gt;With our message “queued” and our Service Window still set for 9:00:00 am to 9:00:01 am I am going to resume this message and it will be delivered successfully even though the Send Port is stopped.&amp;#160; &lt;/p&gt;    &lt;p&gt;Great! So what is the point of this post?&amp;#160; Change your window to be 1 minute instead of 1 second and you will get an entirely different behavior.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/TaNaLkNevFI/AAAAAAAABkw/uO7IavmP6fg/s1600-h/image%5B43%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/TaNaPIBKeiI/AAAAAAAABk0/8Ltt1KquxuA/image_thumb%5B23%5D.png?imgmax=800" width="404" height="326" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;With the Service Window set to be 1 minute and with the current time set to 10:21 am, I will now submit another message to BizTalk.&amp;#160; Once again I will get a suspended message.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/TaNaQreD0uI/AAAAAAAABk4/SR4GHNTthok/s1600-h/image%5B47%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/TaNaSlJTbhI/AAAAAAAABk8/9d6QnU4gqok/image_thumb%5B25%5D.png?imgmax=800" width="404" height="194" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;If we take a look at the BizTalkServerApplicationQ_Suspended table we will discover that our message is in there but is not in the BizTalkServerApplicationQ table&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/TaNaT_i-gzI/AAAAAAAABlA/4B15XwH0Z00/s1600-h/image%5B51%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/TaNaV2T0yyI/AAAAAAAABlE/likglI2hZYU/image_thumb%5B27%5D.png?imgmax=800" width="604" height="225" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;When resuming the message this time, it will not get delivered to the end point.&amp;#160; Instead it gets into a “Retrying and idle” state.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/TaNaW-rw_CI/AAAAAAAABlI/EsgRzXkBxLA/s1600-h/image%5B69%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/TaNaY4PXPzI/AAAAAAAABlM/wLGhZXJkIKI/image_thumb%5B37%5D.png?imgmax=800" width="604" height="233" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;If we further investigate this message we will determine that the Message Status is set to “Queued (scheduled for later delivery)”&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/TaNaaDZzg7I/AAAAAAAABlQ/Wjy1VF4EeKA/s1600-h/image%5B107%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/TaNadKQV-DI/AAAAAAAABlU/j8vi2-j3ycA/image_thumb%5B61%5D.png?imgmax=800" width="404" height="181" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;If we check out the status of our tables in the MessageBox we will determine that the message is no longer in the “Suspended” table.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/TaNafYb3T2I/AAAAAAAABlY/q6x8Tu0KK8g/s1600-h/image%5B64%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/TaNak2nK3hI/AAAAAAAABlc/ZDq_lV_Ajd4/image_thumb%5B34%5D.png?imgmax=800" width="604" height="248" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;We can now find the message in the “Q” table.&amp;#160; Also note the Start and End Windows.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/TaNaosFlH-I/AAAAAAAABlg/6Sx3XMO5QSI/s1600-h/image%5B68%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/TaNarbx8LaI/AAAAAAAABlk/0Rr7VR2xZNg/image_thumb%5B36%5D.png?imgmax=800" width="604" height="397" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;So what can we do if we want to resume this message since the Downstream system is now available and they want the 1800 messages that have been queuing up over the past 3 days?&amp;#160; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Maybe we should remove the Service Window from the Send Port? (hint – it doesn’t help)&lt;/li&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/TaNauP_eihI/AAAAAAAABlo/x1T2W3fxLVE/s1600-h/image%5B85%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/TaNayqB9kUI/AAAAAAAABls/lDn8aB-mf3Y/image_thumb%5B49%5D.png?imgmax=800" width="404" height="326" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;ul&gt;   &lt;li&gt;Maybe we should start the app? (hint – it doesn’t help)&lt;/li&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/TaNa1XybneI/AAAAAAAABlw/AHeSi2iUhrw/s1600-h/image%5B93%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/TaNa3b-73AI/AAAAAAAABl0/lbeUVh85SXE/image_thumb%5B53%5D.png?imgmax=800" width="404" height="40" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;ul&gt;   &lt;li&gt;Maybe we should restart the host instance? (hint – it doesn’t help)&lt;/li&gt;    &lt;li&gt;Since the message is in a “dehydrated” state maybe we need to wait 5/10/20 minutes for BizTalk to wake up? (hint – it doesn’t help)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/TaNa4lNsWiI/AAAAAAAABl4/Da_j5lGJHNU/s1600-h/image%5B98%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/TaNa6BOtmMI/AAAAAAAABl8/fLdMD8MYD6o/image_thumb%5B56%5D.png?imgmax=800" width="604" height="78" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;There are really two solutions in my mind:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Wait for the actual service window, with application online and Service Window checkbox removed,&amp;#160; and these messages will get processed – promise.&lt;/li&gt;    &lt;li&gt;Update the service window in the “Q” table so that BizTalk will send these messages when this window is met.&amp;#160; To demonstrate this I will update the table with a timestamp that is in the near future.&amp;#160;&amp;#160; It is currently 10:46 am and I will update the timestamp for the window to start at 10:50 am.&lt;/li&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/TaNa7kZCOXI/AAAAAAAABmA/wKfoIhl3sgU/s1600-h/image%5B102%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/TaNa-IXJcQI/AAAAAAAABmE/jxSfg0RNPQg/image_thumb%5B58%5D.png?imgmax=800" width="604" height="277" /&gt;&lt;/a&gt; &lt;/p&gt;    &lt;p&gt;Without any intervention the outstanding message(s) will get processed/delivered at 10:50 am.&lt;/p&gt;    &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/TaNa_CJthQI/AAAAAAAABmI/Cmb_E7NEK9U/s1600-h/image%5B106%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/TaNbAVhyxSI/AAAAAAAABmM/DCEwmeJaFPs/image_thumb%5B60%5D.png?imgmax=800" width="604" height="56" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;Key Takeaways&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Be aware that Service Windows are “attached” to the messages as they are being processed.&amp;#160; There is no way to modify this except through the database.&lt;/li&gt;    &lt;li&gt;Changing the Service Window of a Send port where messages already have a Service Window has no effect. (It is too late)&lt;/li&gt;    &lt;li&gt;Setting a Service Window of 1 second has no impact.&lt;/li&gt; &lt;/ul&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3078460769226170088-4384335779794873808?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/4384335779794873808/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=4384335779794873808' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/4384335779794873808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/4384335779794873808'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2011/04/biztalk-2009-be-careful-when-setting.html' title='BizTalk 2009 – Be careful when setting Service Windows on Send Ports'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_KBYzYDwIZhw/TaNZ0Xh-lxI/AAAAAAAABj8/0LtS07_Y2DA/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-5795108658112930988</id><published>2011-03-08T21:57:00.001-08:00</published><updated>2011-03-08T21:57:16.542-08:00</updated><title type='text'>Internal BizTalk Conference</title><content type='html'>&lt;p&gt;Prior to the MVP Summit, &lt;a href="http://blogical.se/blogs/johan/" target="_blank"&gt;Johan Hedberg&lt;/a&gt; and &lt;a href="http://blogical.se/blogs/mikael/" target="_blank"&gt;Mikael Håkansson&lt;/a&gt; stopped by Calgary and participated in a Mini-BizTalk Technical conference for my company and three other sister companies.&amp;#160; In addition to their presentations we had a round table discussion to find out how the other companies are using BizTalk and had two other presentations; one by myself and another by a colleague Luciano Barbieri.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Below you will find links to the various sessions.&amp;#160; I wish I would have recorded these sessions&amp;#160; as the demos were excellent.&amp;#160; Maybe next time.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Johan Hedberg – &lt;a href="http://cid-db51ef47e2bb432a.office.live.com/self.aspx/.Public/Utility%5E_BizTalk%5E_Conference%5E_Johan.pptx" target="_blank"&gt;BizTalk 2010 and Mapping best practices&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Mikael Håkansson – &lt;a href="http://cid-db51ef47e2bb432a.office.live.com/self.aspx/.Public/Utility%5E_BizTalk%5E_Conference%5E_Mikael.pptx" target="_blank"&gt;BizTalk Performance&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Luciano Barbieri – &lt;a href="http://cid-db51ef47e2bb432a.office.live.com/self.aspx/.Public/Utility%5E_BizTalk%5E_Conference%5E_AutomatingBizTalkDeployments.pptx" target="_blank"&gt;Automating BizTalk Builds&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Kent Weare – &lt;a href="http://cid-db51ef47e2bb432a.office.live.com/self.aspx/.Public/Utility%5E_BizTalk%5E_Conference%5E_%20Extending%20your%20enterprise%20via%20BizTalk%20and%20AppFabric%20Service%20Bus.pptx" target="_blank"&gt;Extending your enterprise via BizTalk 2010 and the AppFabric Service Bus&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3078460769226170088-5795108658112930988?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/5795108658112930988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=5795108658112930988' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/5795108658112930988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/5795108658112930988'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2011/03/internal-biztalk-conference.html' title='Internal BizTalk Conference'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-581863838139020074</id><published>2011-03-08T18:23:00.001-08:00</published><updated>2011-03-08T18:23:33.400-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BizTalk 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics CRM'/><title type='text'>Catching SOAP Faults from CRM 4.0 Web Services</title><content type='html'>&lt;p&gt;A natural follow up to my &lt;a href="http://kentweare.blogspot.com/2011/03/biztalk-2010-calling-dynamics-crm-40.html" target="_blank"&gt;BizTalk 2010: Calling Dynamics CRM 4.0 Web Services&lt;/a&gt; post is one that deals with the Exceptions, or Faults,&amp;#160; that these Web Services may return.&amp;#160; When using the CRM 4.0 Adapter, the adapter would take care of handling SOAP exceptions and bundling them up into a CRM Response message that had a Return Code and Error Nodes.&amp;#160; Whether your operation was successful or not, you could always expect the same type of response message from CRM.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&amp;lt;ns0:Response xmlns:ns0=&amp;quot;http://schemas.microsoft.com/crm/BizTalkAdapter/Response&amp;quot;&amp;gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&amp;lt;Header&amp;gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&amp;lt;ReturnCode&amp;gt;1&amp;lt;/ReturnCode&amp;gt; &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&amp;lt;ErrorCode /&amp;gt; &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&amp;lt;ErrorString /&amp;gt; &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&amp;lt;Retryable /&amp;gt; &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&amp;lt;/Header&amp;gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Now that we are not using this adapter anymore we need to be able to catch our own exceptions coming out of CRM.&amp;#160; If we don’t perform these actions below(or similar actions) we can expect an error message like the following.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Inner exception: Received unexpected message type '&lt;/em&gt;&lt;a href="http://schemas.xmlsoap.org/soap/envelope/#Fault'"&gt;&lt;em&gt;http://schemas.xmlsoap.org/soap/envelope/#Fault'&lt;/em&gt;&lt;/a&gt;&lt;em&gt; does not match expected type 'http://schemas.microsoft.com/crm/2007/WebServices#CreateResponse'.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;The issue is we have a Solicit Response Send Port in which&amp;#160; we are sending a typed Request message into CRM and are expecting a typed Response message in return.&amp;#160; When we encounter a SOAP Fault, a typed message is being returned, it just isn’t what we are expecting.&amp;#160; In order to avoid these situations, we need to perform the following actions within our BizTalk solution.&amp;#160; &lt;/p&gt;  &lt;p&gt;Note: these actions are not specific to CRM, but may be used in other Web Service scenarios.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Create a multi-part message that includes a part that is of type BTS.soap_envelope_1__1.Fault.&amp;#160; You will find this schema in the Microsoft.BizTalk.GlobalPropertySchemas assembly. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/TXbkX4D-V_I/AAAAAAAABiY/BIBVw2jl6PE/s1600-h/image%5B12%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/TXbkYx0pvCI/AAAAAAAABic/B7JawIC6mC8/image_thumb%5B8%5D.png?imgmax=800" width="404" height="401" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Right mouse click on your selected operation and select “New Fault Message” &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/TXbkZfjJFUI/AAAAAAAABig/nrcgH4OetS8/s1600-h/image%5B11%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/TXbkaKJ_7LI/AAAAAAAABik/3OZYpb_aLQI/image_thumb%5B7%5D.png?imgmax=800" width="404" height="279" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Select the Message Type to be the value of our Multi-part message that we just created. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/TXbkajmT69I/AAAAAAAABio/SJIcv7k3ya8/s1600-h/image%5B16%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/TXbkb3whrgI/AAAAAAAABis/sKnPv95SyCE/image_thumb%5B10%5D.png?imgmax=800" width="404" height="201" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Add a scope around your send/receive shapes.&amp;#160; The transaction type can be “None” and the Exception Object Type should be set to the Fault that we just created within our Operation. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/TXbkcW9a_fI/AAAAAAAABiw/1IWUiOzjmRo/s1600-h/image%5B20%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/TXbkdTSnZ1I/AAAAAAAABi0/pMoOW_YvbgM/image_thumb%5B12%5D.png?imgmax=800" width="404" height="208" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;So while technically this is defined as a message, within our current scope exception handler it is actually an object.&amp;#160; So if we wanted to dump the contents of this message to the Event Viewer we could perform the following actions by assigning the message to an XML Document and then getting the OuterXml so that we can send this text into the event viewer. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/TXbkd0l-q4I/AAAAAAAABi4/gbnsjl1Gg-E/s1600-h/image%5B25%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/TXbkeo2BjUI/AAAAAAAABi8/Fm1ZFAq37Y0/image_thumb%5B15%5D.png?imgmax=800" width="604" height="306" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;At this point we can stop if we are so inclined.&amp;#160; If we wanted to actually use this information in our CRM Response message we can assign this “exception” object into an instance of a message that is of the same type (our multi-part message).&amp;#160; &lt;/li&gt; &lt;/ul&gt; &lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/TXbkfQ097II/AAAAAAAABjA/nPrIwWbH_d0/s1600-h/image%5B32%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/TXbkgY3gYDI/AAAAAAAABjE/_gDAL7CREjc/image_thumb%5B18%5D.png?imgmax=800" width="404" height="336" /&gt;&lt;/a&gt;   &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;We then can use a Message Assignment shape to assign this object into an instance of our message. &lt;/li&gt; &lt;/ul&gt; &lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/TXbkg2Rev2I/AAAAAAAABjI/QfYkBX8GI14/s1600-h/image%5B36%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/TXbkhvvpZ8I/AAAAAAAABjM/k8zz1vNR7_I/image_thumb%5B20%5D.png?imgmax=800" width="404" height="217" /&gt;&lt;/a&gt;   &lt;ul&gt;   &lt;li&gt;Now that we have a typed message, we can use this message in a map to instantiate an instance of our CRM Response.&amp;#160; To keep things simple I am just going to concatenate the faultcode, faultstring and faultactor values and assign to the CreateResult node.&amp;#160; If we wanted to get the actual details out, we will need to write a .Net helper method or use XSLT to extract this content out since we have an untyped “Any” node. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/TXbkiFetPrI/AAAAAAAABjQ/dLe2iXZumhE/s1600-h/image%5B41%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/TXbki4G5y3I/AAAAAAAABjU/-d412s1YvW0/image_thumb%5B23%5D.png?imgmax=800" width="604" height="216" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;After all of these changes, our Orchestration should look like this: &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/TXbkjh52d-I/AAAAAAAABjY/wFySFnxRUdo/s1600-h/image%5B45%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/TXbkk8fRdjI/AAAAAAAABjc/wAy_J4G0amY/image_thumb%5B25%5D.png?imgmax=800" width="604" height="557" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;We can now deploy our application and test it.&amp;#160; In order to generate a SOAP Fault, I am going to send in the same message as in my previous post, but this time I am going to make the First Name to be greater than 50 characters. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/TXbklqPVNhI/AAAAAAAABjg/QmVOjaQz01Q/s1600-h/image%5B49%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/TXbkme48txI/AAAAAAAABjk/ENr58Zh8nDI/image_thumb%5B27%5D.png?imgmax=800" width="404" height="228" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Now when we process this message, we will not get an unhandled exception or suspended message.&amp;#160; Instead, we will see an informational message in our event viewer that contains the details that we are interested in. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/TXbkm3MU_eI/AAAAAAAABjo/RqfHPkAuaEQ/s1600-h/image%5B53%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/TXbknu_6EeI/AAAAAAAABjs/fsxmi_uUMeU/image_thumb%5B29%5D.png?imgmax=800" width="404" height="282" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Also, we will send this error information to a folder in the form of a CreateResponse message that will include some SOAP Fault details. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;lt;ns0:CreateResponse xmlns:ns1=&amp;quot;&lt;b&gt;http://schemas.microsoft.com/crm/2007/CoreTypes&lt;/b&gt;&amp;quot; xmlns:ns2=&amp;quot;&lt;b&gt;http://microsoft.com/wsdl/types/&lt;/b&gt;&amp;quot; xmlns:ns3=&amp;quot;&lt;b&gt;http://schemas.microsoft.com/crm/2006/Query&lt;/b&gt;&amp;quot; xmlns:ns0=&amp;quot;&lt;b&gt;http://schemas.microsoft.com/crm/2007/WebServices&lt;/b&gt;&amp;quot; xmlns:ns4=&amp;quot;&lt;b&gt;http://schemas.microsoft.com/crm/2006/Scheduling&lt;/b&gt;&amp;quot; xmlns:ns5=&amp;quot;&lt;b&gt;http://schemas.microsoft.com/crm/2006/WebServices&lt;/b&gt;&amp;quot; xmlns:ns6=&amp;quot;&lt;b&gt;http://schemas.microsoft.com/crm/2006/CoreTypes&lt;/b&gt;&amp;quot;&amp;gt;&lt;/p&gt;  &lt;p&gt;&amp;lt;ns0:CreateResult&amp;gt;soap:Server - Server was unable to process request. -&amp;lt;/ns0:CreateResult&amp;gt;&lt;/p&gt;  &lt;p&gt;&amp;lt;/ns0:CreateResponse&amp;gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Note: some other blog posts mention using an XPATH statement, within our WCF Send Port,&amp;#160; for both types of messages that we are expecting; typed CRM response and SOAP Fault.&amp;#160; In my scenario, this step was not required since I am expecting a typed SOAP Fault exception object within my Scope – Exception handler.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/TXbkobGaYII/AAAAAAAABjw/vkz8Z-YVdjA/s1600-h/image%5B57%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/TXbkozBb6yI/AAAAAAAABj0/g5z0ODjH7YU/image_thumb%5B31%5D.png?imgmax=800" width="294" height="404" /&gt;&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/3078460769226170088-581863838139020074?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/581863838139020074/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=581863838139020074' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/581863838139020074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/581863838139020074'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2011/03/catching-soap-faults-from-crm-40-web.html' title='Catching SOAP Faults from CRM 4.0 Web Services'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_KBYzYDwIZhw/TXbkYx0pvCI/AAAAAAAABic/B7JawIC6mC8/s72-c/image_thumb%5B8%5D.png?imgmax=800' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-8656869250494206056</id><published>2011-03-07T21:29:00.001-08:00</published><updated>2011-03-08T17:45:56.912-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='High Availability'/><category scheme='http://www.blogger.com/atom/ns#' term='BizTalk 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Dynamics CRM'/><title type='text'>BizTalk 2010: Calling Dynamics CRM 4.0 Web Services</title><content type='html'>&lt;p&gt;The project that I am on ran into a critical and somewhat embarrassing situation this past week.&amp;#160; As we moved from a single node project environment into a multi-node test environment we discovered that the Dynamics 4.0 Adapter cannot be installed on multiple BizTalk Servers in the same group.&amp;#160; Yes – you read that correctly.&amp;#160; I have never heard of this kind of limitation and struggle with the idea the adapter was actually made available without this feature.&amp;#160; You can read more about this limitation in the FAQ section &lt;a href="http://blogs.msdn.com/b/crm/archive/2009/09/10/updated-dynamics-crm-4-0-adapter-now-available-includes-support-for-biztalk-server-2009.aspx" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;With this in mind, we needed to quickly make a 180 degree turn.&amp;#160; I had heard of other people calling the ASMX CRM Web Services from BizTalk via WCF Adapter.&amp;#160; The process of consuming these ASMX services is much like consuming any other Web Service.&amp;#160; That is until you start your application and get the dreaded 401 Unauthorized error.&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;System.ServiceModel.Security.MessageSecurityException: The HTTP request is unauthorized with client authentication scheme 'Negotiate'. The authentication header received from the server was 'Negotiate,NTLM'. ---&amp;gt; System.Net.WebException: The remote server returned an error: (401) Unauthorized&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;This seems like a pretty common error within the BizTalk and CRM forums.&amp;#160; However, I was not able find any resolutions to the issue.&amp;#160; It wasn’t until I started stepping through a .NET SDK sample that I realized that I was missing something and that was a required SOAP header.&amp;#160; For your convenience I have built an end to end sample that will walk through creating a Lead within a Dynamics 4.0 system. Keep an eye open for the Message Assignment shape where I assign this header.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Once we have created a BizTalk project we need to “Add Generated Items” and then select “Consume WCF Service” &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/TXW-ZdoxuuI/AAAAAAAABgE/FMX6WqUtb8g/s1600-h/image%5B3%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/TXW-Z33kAAI/AAAAAAAABgI/kmNwP0afdCU/image_thumb%5B1%5D.png?imgmax=800" width="644" height="418" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Even though Dynamics 4.0 still uses ASMX style Web Services we can select “Metadata Exchange (MEX) endpoint. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/TXW-aXyYHGI/AAAAAAAABgM/SMXVi02G9YM/s1600-h/image%5B12%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/TXW-bBpc1jI/AAAAAAAABgQ/jACLFF9Zk-w/image_thumb%5B8%5D.png?imgmax=800" width="631" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Enter the location of your CRM Web Service i.e. &lt;a href="http://server/MSCrmServices/2007/CrmService.asmx"&gt;http://server/MSCrmServices/2007/CrmService.asmx&lt;/a&gt; and click on the “Get” button. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/TXW-bk8Z2AI/AAAAAAAABgU/C4Zmjswzn6A/s1600-h/image%5B19%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/TXW-cvlb9GI/AAAAAAAABgY/S_viK0CFNm4/image_thumb%5B11%5D.png?imgmax=800" width="631" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Once the WSDL definition has been loaded, click the “Next” button to continue. &lt;/li&gt;    &lt;li&gt;Click “Import” to create your schemas and sample Orchestration. &lt;/li&gt;    &lt;li&gt;You should find that the following artifacts have been added to your BizTalk Solution. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/TXW-dBnAY0I/AAAAAAAABgc/eRMKVbXMwOc/s1600-h/image%5B23%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/TXW-eDXLjVI/AAAAAAAABgg/RIbhzxj-mac/image_thumb%5B13%5D.png?imgmax=800" width="644" height="240" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Our “main” schema is called CrmService_schemas_microsoft_com_crm_2007_WebServices.xsd.&amp;#160; Within this schema you will find all of the available Actions (Create/Update/Delete/Fetch etc) and the related entities (both custom and out of box).&amp;#160; In this scenario we are going to create a “Lead” within our CRM system.&amp;#160; So we can find the “Create” node and then scroll down and find the “Lead” entity. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/TXW-el8wbKI/AAAAAAAABgk/DwRVNgfGCRM/s1600-h/image%5B26%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/TXW-fOuKXKI/AAAAAAAABgo/7h_TcsbNUsg/image_thumb%5B14%5D.png?imgmax=800" width="244" height="138" /&gt;&lt;/a&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/TXW-fi4PgpI/AAAAAAAABgs/8CpgRSEYiS4/s1600-h/image%5B31%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/TXW-f4qS40I/AAAAAAAABgw/0EcvVcqDzzI/image_thumb%5B17%5D.png?imgmax=800" width="267" height="161" /&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;To keep things simple, I have created a little helper message that I will use in a Map to create an instance of this CRM Create message. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/TXW-gVtrJSI/AAAAAAAABg0/CtPdV8BJp_c/s1600-h/image%5B34%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/TXW-hEcoBFI/AAAAAAAABg8/Uc0O09hBkGA/image_thumb%5B18%5D.png?imgmax=800" width="202" height="239" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Inside my map, I will simply map from this helper message to the actual CRM Request. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/TXW-h7SEiDI/AAAAAAAABhA/nBQLYpj8iw8/s1600-h/image%5B38%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/TXW-i-C6eiI/AAAAAAAABhE/kRzTtu5UsJs/image_thumb%5B20%5D.png?imgmax=800" width="644" height="469" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;With the building blocks in place, the next step was to update the&amp;#160; Orchestration that was generated for us.&amp;#160; Pretty standard stuff going on here.&amp;#160; We want to receive an instance of our “helper” message, transform it, send the request to CRM and then write the response to disk.&amp;#160; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/TXW-jsSnpGI/AAAAAAAABhI/HWUd8ZcL8ko/s1600-h/image%5B42%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/TXW-kmZrz4I/AAAAAAAABhM/8MExmLrHhes/image_thumb%5B22%5D.png?imgmax=800" width="575" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;When we generated our CRM schemas, BizTalk also created a Port Type called “CrmServiceSoap” that contains all of the available operations including “Create”. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/TXW-lPLDr9I/AAAAAAAABhQ/IcEHa2MJZOw/s1600-h/image%5B46%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/TXW-l7c9FHI/AAAAAAAABhU/E7aNi9cV-N0/image_thumb%5B24%5D.png?imgmax=800" width="616" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Earlier in this post I mentioned that we need to set a SOAP header on the CRM Request message.&amp;#160; In order to do this we want to add a Message Assignment shape after our Transformation shape.      &lt;br /&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/TXW-mYHCfSI/AAAAAAAABhY/9cltOpqzGjk/s1600-h/image%5B49%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/TXW-m0HXnZI/AAAAAAAABhc/XALAcLlyhLQ/image_thumb%5B25%5D.png?imgmax=800" width="208" height="244" /&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Within this shape we want to set the following: &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;msgCreateCustomer (WCF.OutboundCustomHeaders) = &amp;quot;&amp;lt;headers&amp;gt;&amp;lt;CrmAuthenticationToken xmlns=\&amp;quot;&lt;a href="http://schemas.microsoft.com/crm/2007/WebServices/"&gt;http://schemas.microsoft.com/crm/2007/WebServices\&lt;/a&gt;&amp;quot;&amp;gt;&amp;lt;AuthenticationType xmlns=\&amp;quot;&lt;a href="http://schemas.microsoft.com/crm/2007/CoreTypes/"&gt;http://schemas.microsoft.com/crm/2007/CoreTypes\&lt;/a&gt;&amp;quot;&amp;gt;0&amp;lt;/AuthenticationType&amp;gt;&amp;lt;OrganizationName xmlns=\&amp;quot;&lt;a href="http://schemas.microsoft.com/crm/2007/CoreTypes/"&gt;http://schemas.microsoft.com/crm/2007/CoreTypes\&lt;/a&gt;&amp;quot;&amp;gt;YourOrganization&amp;lt;/OrganizationName&amp;gt;&amp;lt;CallerId xmlns=\&amp;quot;&lt;a href="http://schemas.microsoft.com/crm/2007/CoreTypes/"&gt;http://schemas.microsoft.com/crm/2007/CoreTypes\&lt;/a&gt;&amp;quot;&amp;gt;00000000-0000-0000-0000-000000000000&amp;lt;/CallerId&amp;gt;&amp;lt;/CrmAuthenticationToken&amp;gt;&amp;lt;/headers&amp;gt;&amp;quot;;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The two important settings are the “AuthenticationType” and the “OrganizationName” properties.&amp;#160;&amp;#160;&amp;#160; The Authentication property can take one of three values:      &lt;ul&gt;       &lt;li&gt;0 – AD &lt;/li&gt;        &lt;li&gt;1 – Passport &lt;/li&gt;        &lt;li&gt;2 – Internet Facing Deployment &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Since this is an on-premise installation we will go with 0. &lt;/li&gt;    &lt;li&gt;The “OrganizationName” property becomes extremely important in multi-tenant configurations where you may have multiple organizations or departments sharing a CRM implementation.&amp;#160; Since we only have 1 organization in our deployment it is safe to just set our default value. &lt;/li&gt;    &lt;li&gt;It is now time to deploy and configure the BizTalk application. &lt;/li&gt;    &lt;li&gt;When BizTalk generated our CRM schemas and sample Orchestration, it also generated a Binding file.&amp;#160; When we import the binding file we will discover that two send ports have been created.&amp;#160; The first is a basicHttpBinding and the second send port uses a Custom Adapter with a Custom binding.&amp;#160; What is the difference?&amp;#160; Really it comes down to some addition security configuration that is available with the Custom adapter. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/TXW-nBn9uFI/AAAAAAAABhg/Vk2n0MUYOlQ/s1600-h/image%5B53%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/TXW-n6D-gBI/AAAAAAAABhk/Ly3viHptAFE/image_thumb%5B27%5D.png?imgmax=800" width="644" height="179" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Using these binding as is didn’t work for me.&amp;#160; I needed to change the WCF-Custom Adapter to use the basicHttpBinding.&amp;#160; I also had to make a few Security related changes including setting the Security “mode” was set to “TransportCredentialOnly” &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/TXW-oE1bpYI/AAAAAAAABho/vcbLp2n-aMY/s1600-h/image%5B76%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/TXW-pJeH_MI/AAAAAAAABhs/oRbk2ujDJXA/image_thumb%5B40%5D.png?imgmax=800" width="644" height="361" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;I also needed to set the “clientCredentialType” to “Windows” &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/TXW-pThwKkI/AAAAAAAABhw/Aa4_RDZkv90/s1600-h/image%5B80%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/TXW-qe08GLI/AAAAAAAABh0/9PtTeFelv5U/image_thumb%5B42%5D.png?imgmax=800" width="644" height="381" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;I wasn’t quite done here.&amp;#160; I also need to add an Endpoint Behavior.&amp;#160; In this case it was a “clientCredentials” behavior.&amp;#160; Within this behavior, I set “Windows” - “allowedImpersonation” = “Impersonation” &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/TXW-qir2T3I/AAAAAAAABh4/oEwFrk89BLY/s1600-h/image%5B84%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/TXW-rWehWhI/AAAAAAAABh8/Qzghd4J1NYw/image_thumb%5B44%5D.png?imgmax=800" width="644" height="394" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;At this point, I am ready to configure the rest of the application and start it.&amp;#160; Once started, I can process my sample helper message. &lt;/li&gt;    &lt;li&gt;Within my sample file, I have provided the following information.&amp;#160; Once processed by BizTalk, I expect this Lead to be created within our CRM system and the CRM response to be send to disk. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/TXW-sF968KI/AAAAAAAABiA/z5xxLICFwCk/s1600-h/image%5B57%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/TXW-swFKHYI/AAAAAAAABiE/y19UOFSartE/image_thumb%5B29%5D.png?imgmax=800" width="644" height="363" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The response from CRM is a GUID. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/TXW-tH1JKGI/AAAAAAAABiI/gF6KLUBVDfE/s1600-h/image%5B69%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/TXW-tbJSe-I/AAAAAAAABiM/oM0UlHPL15o/image_thumb%5B37%5D.png?imgmax=800" width="644" height="69" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Once we launch the Dynamics CRM GUI, I am able to find my Barry Sanders record.&amp;#160; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/TXW-uRcDsaI/AAAAAAAABiQ/N83gdIfONa0/s1600-h/image%5B65%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/TXW-u9UMAPI/AAAAAAAABiU/ZykFadcZCxo/image_thumb%5B35%5D.png?imgmax=800" width="644" height="390" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;If you have high-availability requirements then I highly recommend abandoning the Dynamics CRM 4.0 adapter.&amp;#160; Currently, and I am not sure if there are any plans, CRM 2011 does not have an adapter so now is as good as time as any to make the move.&amp;#160;&amp;#160; You can read more about CRM 2011 integration on Richard Seroter’s &lt;a href="http://seroter.wordpress.com/2011/02/10/the-good-bad-and-ugly-of-integrating-dynamics-crm-2011-and-biztalk-server-2010/" target="_blank"&gt;blog&lt;/a&gt;.&amp;#160; Also look for a chapter on CRM 2011 integration in our upcoming &lt;a href="https://www.packtpub.com/microsoft-biztalk-2010-line-of-business-systems-integration/book" target="_blank"&gt;book&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/3078460769226170088-8656869250494206056?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/8656869250494206056/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=8656869250494206056' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/8656869250494206056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/8656869250494206056'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2011/03/biztalk-2010-calling-dynamics-crm-40.html' title='BizTalk 2010: Calling Dynamics CRM 4.0 Web Services'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_KBYzYDwIZhw/TXW-Z33kAAI/AAAAAAAABgI/kmNwP0afdCU/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-4486212590655095065</id><published>2011-02-22T12:04:00.001-08:00</published><updated>2011-06-02T12:19:42.465-07:00</updated><title type='text'>New BizTalk 2010 book unveiled – Line of Business Systems Integration</title><content type='html'>&lt;p&gt;Received news this morning that the book that I have been working on for the past 7 months has now reached “RAW” status. What is RAW you ask? RAW stands for “Read As we Write”. The idea is to get the book, in soft copy format, into the hands of readers early. The goal is to get early feedback from readers with the possibility of incorporating this feedback before the book is published. This is a relatively new program from Packt but when it was presented to us we decided to get the book into the community sooner than later. I must caution that the book, in this format, is &lt;strong&gt;not&lt;/strong&gt; the final version. Think of it as a CTP (Community Technical Preview) with the polished version of the book set for the end of April timeframe.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;What is the book about?&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The book primarily deals with Line of Business integration with popular LOB systems like SAP, Dynamics CRM, SalesForce.com, Dynamics AX, SQL Server and SharePoint. In addition to these chapters we also introduce the Line of Business Adapters Fundamentals and connecting to the AppFabric Service bus. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Why write another BizTalk book?&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;As experienced developers we understand the nuts and bolts of BizTalk. We can create Schemas, Ports, Maps and understand various BizTalk patterns. The challenge is often understanding the systems that we are integrating with. When integrating with commercial products like SAP and Dynamics there is always some pre-requisite knowledge required to effectively integrate with it. The goal of this book is to expose some of this pre-requisite knowledge so that an experienced BizTalk developer can get up to speed quickly with the technology that they need to integrate with.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Who are the authors?&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;I have yet to meet a person who was an expert in each of these technology areas. With this in mind a talented team of BizTalk specialists was assembled to take on this adventure including:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.google.ca/url?sa=t&amp;amp;source=web&amp;amp;cd=1&amp;amp;ved=0CBUQFjAA&amp;amp;url=http%3A%2F%2Fseroter.wordpress.com%2F&amp;amp;ei=oBNkTZyrLJP4sAOu05m-CA&amp;amp;usg=AFQjCNElv8gFKZWZffAPCltS-H2WSDYPeA" target="_blank"&gt;Richard Seroter&lt;/a&gt; &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Sergei Moukhnitski &lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://connectedthoughts.wordpress.com/" target="_blank"&gt;Thiago Almeida&lt;/a&gt; &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Carl Darski &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Myself &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Technical Reviewers&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Anyone who has written a book can appreciate the “unsung heroes” of a published book. The unsung heroes of this book are our Packt publishing team and Technical Reviewers. We have an outstanding roster that includes the following people:&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Packt&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Kerry George &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Alina Lewis &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Zainab Bagasrawala &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Technical Reviewers&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://blogs.breezetraining.com.au/mickb/" target="_blank"&gt;Mick Badran&lt;/a&gt; &lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.biztalkgurus.com/blogs/biztalk/" target="_blank"&gt;Stephen W. Thomas&lt;/a&gt; &lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://msinnovations.wordpress.com/" target="_blank"&gt;Ben Cline&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;I can say, without any hesitation, that their efforts have significantly increased the quality of the book.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;For more details on the RAW program, I encourage you to visit the PACKT &lt;a href="https://www.packtpub.com/microsoft-biztalk-2010-line-of-business-systems-integration/book" target="_blank"&gt;website&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Stay tuned for more information as the actual published date nears.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/TWQWxsKCtaI/AAAAAAAABf4/FtlgC3TyS5Y/s1600-h/1902en_mockupcover_normal_0%5B3%5D.jpg"&gt;&lt;img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="1902en_mockupcover_normal_0" border="0" alt="1902en_mockupcover_normal_0" src="http://lh6.ggpht.com/_KBYzYDwIZhw/TWQWzAmltoI/AAAAAAAABf8/lnBqNOR_YY0/1902en_mockupcover_normal_0_thumb%5B1%5D.jpg?imgmax=800" width="393" height="484" /&gt;&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/3078460769226170088-4486212590655095065?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/4486212590655095065/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=4486212590655095065' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/4486212590655095065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/4486212590655095065'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2011/02/new-biztalk-2010-book-unveiled-line-of.html' title='New BizTalk 2010 book unveiled – Line of Business Systems Integration'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_KBYzYDwIZhw/TWQWzAmltoI/AAAAAAAABf8/lnBqNOR_YY0/s72-c/1902en_mockupcover_normal_0_thumb%5B1%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-5968032394199660958</id><published>2011-01-02T10:19:00.001-08:00</published><updated>2011-01-02T10:19:21.956-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sweden'/><category scheme='http://www.blogger.com/atom/ns#' term='Off Topic'/><title type='text'>Off Topic–Payback is a ….</title><content type='html'>&lt;p&gt;So you may recall a bet that took place around the 2010 Olympic timeframe which had me, and Team Canada, matched up against fellow BizTalk MVP Mikael Håkansson and Team Sweden.&amp;#160; As we all know, Canada won the Olympic Gold Medal and I won the &lt;a href="http://blogical.se/blogs/mikael/archive/2010/03/01/so-i-lost-a-bet.aspx"&gt;bet&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;The Christmas break is well anticipated holiday for many obvious reasons in Canada.&amp;#160; While most people in Canada are stuck indoors for the coldest part of the year, many are glued to their television sets watching the World Junior Hockey tournament.&amp;#160; This tournament represents the best under 20 year old Hockey players on the the planet.&amp;#160; Most of these players will end up playing professional Hockey somewhere and many will make the NHL.&lt;/p&gt;  &lt;p&gt;On December 31st, 2010, Canada squared off against Team Sweden in a round robin game.&amp;#160; Once again Mikael taunted me with a blog &lt;a href="http://blogical.se/blogs/mikael/archive/2010/12/22/top-15-blog-posts-2010-11-15.aspx"&gt;post&lt;/a&gt; so I couldn’t resist opening up that wound of his from earlier in the year.&lt;/p&gt;  &lt;p&gt;This time around it is my time to eat crow.&amp;#160; Sweden beat Canada 6-5 in a shoot-out and in return here is my tribute to Team Sweden and Mikael.&lt;/p&gt;  &lt;p&gt;There are still some games left and I am confident that Team Canada can pull it off. There is a good chance that Canada could play Sweden so perhaps there will be a rematch bet?&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/TSDBpvhP-8I/AAAAAAAABfs/UF02N2UDOz0/s1600-h/friberg_73159%5B4%5D.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="friberg_73159" border="0" alt="friberg_73159" src="http://lh6.ggpht.com/_KBYzYDwIZhw/TSDBqQM4J4I/AAAAAAAABfw/jnNjJp0PV5c/friberg_73159_thumb%5B2%5D.jpg?imgmax=800" width="486" height="330" /&gt;&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/3078460769226170088-5968032394199660958?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/5968032394199660958/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=5968032394199660958' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/5968032394199660958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/5968032394199660958'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2011/01/off-topicpayback-is.html' title='Off Topic–Payback is a ….'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_KBYzYDwIZhw/TSDBqQM4J4I/AAAAAAAABfw/jnNjJp0PV5c/s72-c/friberg_73159_thumb%5B2%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-5147645144212905984</id><published>2011-01-01T09:46:00.001-08:00</published><updated>2011-01-01T09:46:32.126-08:00</updated><title type='text'>Microsoft MVP Awarded: Part 4</title><content type='html'>&lt;p&gt;I recently received word that I have been re-awarded for another year.&amp;#160; Contributing to the BizTalk community continues to be something I enjoy and am passionate about so it is always nice to be recognized by Microsoft for my efforts.&lt;/p&gt;  &lt;p&gt;Looking back at 2010, it sure was a busy year.&amp;#160; I spent a lot of time in the areas of SharePoint and SAP integration.&amp;#160; I attended TechEd in New Orleans where I also helped out at the BizTalk booth.&amp;#160; I gave a SharePoint and App Fabric Service Bus presentation to the &lt;a href="http://kentweare.blogspot.com/2010/06/biztalk-integration-with-sharepoint-and.html" target="_blank"&gt;Calgary .Net User group&lt;/a&gt; and had the opportunity to go to Sweden and speak about &lt;a href="http://kentweare.blogspot.com/2010/08/managing-your-biztalk-environment-using.html" target="_blank"&gt;Monitoring your BizTalk environment with SCOM&lt;/a&gt;.&amp;#160; Travelling to Stockholm and spending time with &lt;a href="http://blogical.se/blogs/mikael/default.aspx" target="_blank"&gt;Mikael Håkansson&lt;/a&gt; and &lt;a href="http://www.blogical.se/blogs/johan" target="_blank"&gt;Johan Hedberg&lt;/a&gt; was one of my highlights even if Mikael signed both Johan and I up for an &lt;a href="http://blogical.se/blogs/johan/archive/2010/09/11/biztalk-opsmgr-and-triathlon-what-have-they-got-in-common.aspx" target="_blank"&gt;Olympic distance triathlon&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;2011 is shaping up to being just as busy if not busier than 2010.&amp;#160; Here are some of the things coming up for me:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;I am currently the Integration Architect on a Dynamics CRM/Project Server 2010/SharePoint 2010/SAP project so I will continue to be very involved with integrating line of business systems.&amp;#160; Expect more SAP and Dynamics CRM content on this blog.&amp;#160; I am thinking about building a series around CRM 4.0&amp;#160; integration much like the ShareTalk series that I previously published on this site.&lt;/li&gt;    &lt;li&gt;Speaking of Line of Business systems, the &lt;a href="http://blogical.se/blogs/mikael/archive/2010/12/22/top-15-blog-posts-2010-11-15.aspx" target="_blank"&gt;rumor&lt;/a&gt; is true.&amp;#160; I have teamed up with a group of really talented authors to write a BizTalk book.&amp;#160; The book will be unlike any of the current BizTalk books and will target experienced BizTalk developers.&amp;#160; The list of authors and technical reviewers is impressive, I am very confident that the end product will be great.&amp;#160; More information will be forthcoming, but you can expect the book to be available towards the end of April 2011.&lt;/li&gt;    &lt;li&gt;Learning more about AppFabric is also on my “resolution” list for 2011.&amp;#160; While I have a very good idea of what AppFabric is and what you can do with it, I just haven’t had a lot of “hands on” experience with it.&lt;/li&gt;    &lt;li&gt;While unrelated to this blog, I just love my Windows Phone 7 device and have previously written the “BizTweet” app for it.&amp;#160; I look to expand my skills in this area as well.&amp;#160; I have a couple ideas that I plan on pursuing, one that does involve BizTalk and SAP.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;While no where near &lt;a href="http://seroter.wordpress.com/2010/12/30/2010-year-in-review/" target="_blank"&gt;Seroter&lt;/a&gt; numbers, this blog received just over 40 000 hits over the past year, so I thank you for taking the time to stop by and read my content.&amp;#160; All the best for the upcoming year.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3078460769226170088-5147645144212905984?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/5147645144212905984/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=5147645144212905984' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/5147645144212905984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/5147645144212905984'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2011/01/microsoft-mvp-awarded-part-4.html' title='Microsoft MVP Awarded: Part 4'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-3413647992832036591</id><published>2010-11-18T21:48:00.001-08:00</published><updated>2010-11-18T21:48:01.444-08:00</updated><title type='text'>Off Topic: Introducing BizTweet for Windows Phone 7</title><content type='html'>&lt;p&gt;In addition to blogging about BizTalk, I have decided to start blogging about Windows Phone 7.&amp;#160; Therefore, I have created a new &lt;a href="http://wearsyinc.wordpress.com/"&gt;blog&lt;/a&gt; to focus on WP7 and will continue to blog about BizTalk here.&amp;#160; &lt;/p&gt;  &lt;p&gt;I recently had my first WP7 App published in the marketplace.&amp;#160; The app is called BizTweet and may be found in the Social category.&amp;#160; The purpose of the application is to aggregate information related to BizTalk and AppFabric.&amp;#160; So if you have a WP7 and are interested in BizTalk and/or AppFabric then I encourage you to check it out.&amp;#160; &lt;/p&gt;  &lt;p&gt; For more details, check out the BizTweet blog &lt;a href="http://wearsyinc.wordpress.com/2010/11/19/introducing-biztweet/"&gt;post&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/3078460769226170088-3413647992832036591?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/3413647992832036591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=3413647992832036591' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/3413647992832036591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/3413647992832036591'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2010/11/off-topic-introducing-biztweet-for.html' title='Off Topic: Introducing BizTweet for Windows Phone 7'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-4064385852523916044</id><published>2010-10-04T14:50:00.001-07:00</published><updated>2010-10-04T14:50:23.179-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HTTP Adapter'/><category scheme='http://www.blogger.com/atom/ns#' term='BizTalk 2006'/><category scheme='http://www.blogger.com/atom/ns#' term='BizTalk 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='BizTalk 2009'/><title type='text'>BizTalk: HTTP Adapter and preventing Cached Responses</title><content type='html'>&lt;p&gt;A while back I &lt;a href="http://kentweare.blogspot.com/2009/06/adventures-with-http-adapter-and-yahoo.html" target="_blank"&gt;blogged&lt;/a&gt; about a service that would go fetch Natural Gas Prices, the price of Oil and Stock Quotes from Yahoo.&amp;#160;&amp;#160;&amp;#160; The information that is returned from BizTalk is surfaced in an Xcelsius dashboard along with a lot of other business critical data from SAP.&amp;#160; Our executive team accesses this information from a web part in SharePoint site.&amp;#160; As people launch their browsers, they see the Stock Quotes and other commodity prices get updated.&amp;#160; Since this is a dashboard, people will view the data for a few minutes and then close their browser.&amp;#160; This type of user behavior never uncovered a flaw in the application.&amp;#160; It is not like someone sat on the dashboard all day long waiting for the stock price to change.&lt;/p&gt;  &lt;p&gt;A request came in to turn this Dashboard into a Windows 7 widget.&amp;#160; Once this widget was in place, we uncovered that the stock quotes were not being updated.&amp;#160;&amp;#160; The Widget simply acts as a container for the dashboard.&amp;#160; So we dug out Fiddler and could determine that the BizTalk service was not being called on a regular interval.&amp;#160; The reason?&amp;#160; Caching.&amp;#160; There was no cache command or expiration date sent on the HTTP header going back to the dashboard so it would not be called on a regular basis.&amp;#160; Since this Widget does not get restarted like a Web Browser does, the stock quotes would remain static for the duration of a user’s desktop session.&lt;/p&gt;  &lt;p&gt;To avoid this situation, I needed to provide an explicit command in a Message Assignment Shape to prevent my responses from being cached:&lt;/p&gt;  &lt;p&gt;msgStockQuoteResponse(HTTP.UserHttpHeaders) =&amp;quot;Cache-Control: no-cache&amp;quot;;&lt;/p&gt;  &lt;p&gt; Since the client was instructed not to cache the response, it would now go ahead and call the service when it goes to refresh the rest of its data.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/TKpMGCacyfI/AAAAAAAABfY/-Rtfk-P0pEM/s1600-h/image%5B3%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/TKpMHR5tH6I/AAAAAAAABfc/HIwrS4URI_Q/image_thumb%5B1%5D.png?imgmax=800" width="644" height="472" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;There are many options that you can set within the HTTP Header.&amp;#160; For example,&amp;#160; if you wanted to expire content every 2 minutes, you could set your header to&amp;#160; Cache-Control: max-age=120.&amp;#160; If you are interested in what other features can be set in an HTTP Header, I recommend checking out this &lt;a href="http://www.mnot.net/cache_docs/#CACHE-CONTROL" target="_blank"&gt;site&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/3078460769226170088-4064385852523916044?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/4064385852523916044/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=4064385852523916044' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/4064385852523916044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/4064385852523916044'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2010/10/biztalk-http-adapter-and-preventing.html' title='BizTalk: HTTP Adapter and preventing Cached Responses'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_KBYzYDwIZhw/TKpMHR5tH6I/AAAAAAAABfc/HIwrS4URI_Q/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-7615221971331664077</id><published>2010-09-26T08:39:00.001-07:00</published><updated>2010-09-26T08:39:31.662-07:00</updated><title type='text'>BizTalk 2010 – RTM has arrived!</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/TJ9pMa16VlI/AAAAAAAABfQ/-c1H4gigWF4/s1600-h/image%5B4%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/TJ9pM2yZVHI/AAAAAAAABfU/BioOhgiWhNE/image_thumb%5B2%5D.png?imgmax=800" width="709" height="176" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;As you are probably aware by now, BizTalk 2010 has RTM’d.&amp;#160; You can catch the announcement &lt;a href="http://blogs.msdn.com/b/zaneadam/archive/2010/09/23/announcing-biztalk-server-2010-rtm-and-general-availability-date.aspx"&gt;here&lt;/a&gt;.&amp;#160; I am not going to recap all of the new features as you can read about them &lt;a href="http://www.microsoft.com/biztalk/en/us/whats-new.aspx"&gt;here&lt;/a&gt;.&amp;#160; However, here are a few points worth noting about the new release.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The&amp;#160; BizTalk 2010 Developer’s edition is now free.&amp;#160; So if you are curious about BizTalk and getting a licensed copy has been a barrier for you in the past, now is your chance to test drive BizTalk at no cost.&amp;#160; Full details and download may be found &lt;a href="http://www.microsoft.com/biztalk/en/us/developer.aspx"&gt;here&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;For those AppFabric/WCF/WF developers, there is a new compelling feature called &lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/working-with-biztalk-appfabric-connect.aspx"&gt;BizTalk AppFabric Connect&lt;/a&gt; which allows you to leverage BizTalk components such as the BizTalk LOB Adapter Pack and BizTalk Mapper within your .Net projects. This is a true enabler for connecting your WF applications to Line of Business Systems (LOB) &lt;/li&gt;    &lt;li&gt;If you have written applications in the past that have used the traditional line of business adapters, you will now be forced to use the BizTalk Adapter pack when communicating with SQL Server, SAP, Oracle and Siebel.&amp;#160; Microsoft had deprecated these adapters in BizTalk 2009 and they have been officially removed in 2010.&amp;#160; For the past year or so, I have been using the BizTalk Adapter pack when communicating with LOB systems and there are some subtle differences between the legacy and new LOB adapters. Overall, I am satisfied with the experience and there are no “show stoppers” that we have run into&amp;#160; when making the switch.&amp;#160; So if you are planning a BizTalk 2010 upgrade and currently use the legacy adapters, ensure migrating these applications to use the BizTalk adapter pack is in your project plan as you will need to regenerate schemas using these new adapters. &lt;/li&gt; &lt;/ul&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3078460769226170088-7615221971331664077?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/7615221971331664077/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=7615221971331664077' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/7615221971331664077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/7615221971331664077'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2010/09/biztalk-2010-rtm-has-arrived.html' title='BizTalk 2010 – RTM has arrived!'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_KBYzYDwIZhw/TJ9pM2yZVHI/AAAAAAAABfU/BioOhgiWhNE/s72-c/image_thumb%5B2%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-128275481979951354</id><published>2010-09-15T09:37:00.001-07:00</published><updated>2010-09-15T09:37:22.730-07:00</updated><title type='text'>BizTalk 2009 + SharePoint 2010</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;&amp;#160; The following steps do not represent a supportable configuration by Microsoft and extreme caution should be used when following these steps.&amp;#160; To my knowledge, these steps are complete, but it is possible that I missed something.&amp;#160; These steps have been tested in a Send Port Subscription scenario.&amp;#160;&amp;#160; Use these instructions at your own risk.&lt;/p&gt;  &lt;p&gt;At the organization that I work for, we are rolling out SharePoint 2010.&amp;#160; We currently run BizTalk 2009 and&amp;#160; at this point in time, the&amp;#160; BizTalk 2009 SharePoint Adapter Web Service isn’t supported with SharePoint 2010.&amp;#160; BizTalk 2010 has been updated to support SharePoint 2010.&amp;#160; We really have no choice but to head in this direction since upgrading to BizTalk 2010 just isn’t an option at this point in time.&lt;/p&gt;  &lt;p&gt;When you launch the BizTalk 2009 installation on a SharePoint 2010 Server you will not be able to install the Windows SharePoint Services Adapter Web Service as it is not able to detect the pre-requisite Windows SharePoint Services v 3.0 files.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/TJD2HMBLK4I/AAAAAAAABeo/jwc9O0D3CLU/s1600-h/image8.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/TJD2IYZug7I/AAAAAAAABes/_8Kn4iOLrpg/image_thumb3.png?imgmax=800" width="598" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Mick Badran has a &lt;a href="http://blogs.breezetraining.com.au/mickb/2009/11/02/BizTalk2009ConfiguringTheSharePointAdapterManually.aspx" target="_blank"&gt;post&lt;/a&gt; that helped me out tremendously. However, I found that I had to take a few additional steps so I will recap exactly what we did in order for us to get this to function in our environment.&lt;/p&gt;  &lt;p&gt;We had an existing MOSS 2007 server that had the BizTalk Adapter Web Service installed and functioning correctly.&amp;#160; Since you cannot use the BizTalk installation wizard to install this Web Service, we decided to reverse engineer what was deployed on MOSS 2007 and manually deploy on SharePoint 2010.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Copy the c:\program files\Microsoft BizTalk 2009 folder from your MOSS 2007 Server to your SharePoint 2010 Server &lt;/li&gt;    &lt;li&gt;Create the BTSharePointAdapterWS Web Application in IIS Manager and set the physical path to C:\Program Files (x86)\Microsoft BizTalk Server 2009\Business Activity Services\BTSharePointV3AdapterWS&amp;#160; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; This path represents a 64 bit installation.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/TJD2JIEhcmI/AAAAAAAABew/RMZTkOImk6M/s1600-h/image4.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/TJD2Ku6R5CI/AAAAAAAABe0/CGCt6wWBnxs/image_thumb1%5B1%5D.png?imgmax=800" width="644" height="306" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;We leveraged the existing App Pool that the SharePoint Site was using &lt;/li&gt;    &lt;li&gt;Modify the web.config to set the appropriate SharePoint Enabled Hosts, if required.&amp;#160; For us, we use AD Groups and had to change to reflect our “DEV” AD group &lt;/li&gt;    &lt;li&gt;Rebind the Microsoft.SharePoint.dll to point to version 14. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/TJD2LN8w3jI/AAAAAAAABe4/PgBw7cNc_Hc/s1600-h/image24.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/TJD2MQsro2I/AAAAAAAABe8/T17aeQE_1Po/image_thumb11.png?imgmax=800" width="644" height="136" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;We removed the Document Tag so that we could browse the WSDL properly.&amp;#160; See this &lt;a href="http://kentweare.blogspot.com/2010/05/sharetalk-integration-wss-adapter-web.html" target="_blank"&gt;post&lt;/a&gt; for more info. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/TJD2NAPa-PI/AAAAAAAABfA/bousAir_3wc/s1600-h/image3.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/TJD2OOOK5mI/AAAAAAAABfE/ooH39ODrhQM/image_thumb1.png?imgmax=800" width="644" height="252" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;We then exported two keys from the Registry on our MOSS 2007 Server and import them on your SharePoint 2010 Server:      &lt;ul&gt;       &lt;li&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\BizTalk Server] &lt;/li&gt;        &lt;li&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\BizTalk Server] &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;At this point we thought we were done and attempted to push a message from BizTalk 2009 to SharePoint 2010 but discovered the following message in event viewer: &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Event Type:&amp;#160;&amp;#160;&amp;#160; Warning      &lt;br /&gt;Event Source:&amp;#160;&amp;#160;&amp;#160; BizTalk Server 2009       &lt;br /&gt;Event Category:&amp;#160;&amp;#160;&amp;#160; (1)       &lt;br /&gt;Event ID:&amp;#160;&amp;#160;&amp;#160; 5743       &lt;br /&gt;Date:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 9/10/2010       &lt;br /&gt;Time:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 1:37:51 PM       &lt;br /&gt;User:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; N/A       &lt;br /&gt;Computer:&amp;#160;&amp;#160;&amp;#160; SERVER&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Description:      &lt;br /&gt;The adapter failed to transmit message going to send port &amp;quot;SendPort1&amp;quot; with URL &amp;quot;wss://SERVER:80/DropOffLibrary&amp;quot;. It will be retransmitted after the retry interval specified for this Send Port. Details:&amp;quot;System.Web.Services.Protocols.SoapException: Server was unable to process request. ---&amp;gt; System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.BizTalk.KwTpm.OfficeImporters2, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.       &lt;br /&gt;File name: 'Microsoft.BizTalk.KwTpm.OfficeImporters2, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'       &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.BizTalk.KwTpm.WssAdapter.BTSharePointAdapterWS..ctor() &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;WRN: Assembly binding logging is turned OFF.      &lt;br /&gt;To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.       &lt;br /&gt;Note: There is some performance penalty associated with assembly bind failure logging.       &lt;br /&gt;To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog]. &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&amp;#160;&amp;#160; --- End of inner exception stack trace --- &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;This error was triggered by the Windows SharePoint Services receive location or send port with URI wss://SERVER:80/DropOffLibrary. &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Windows SharePoint Services adapter event ID: 12462&amp;quot;. &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;For more information, see Help and Support Center at &lt;/strong&gt;&lt;a href="http://go.microsoft.com/fwlink/events.asp"&gt;&lt;strong&gt;http://go.microsoft.com/fwlink/events.asp&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Once again it was back to the MOSS 2007 server and more specifically, a trip to the GAC where we discovered the following BizTalk Dlls.&amp;#160; This list included the Microsoft.BizTalk.KwTpm.OfficeImporters2.dll that was mentioned in the event viewer.&amp;#160; We then pulled these dlls off of the installation CD and gac’d them on the SharePoint 2010 server using gacutil.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/TJD2PABOpmI/AAAAAAAABfI/6k2NYUcSZ5Y/s1600-h/image12.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/TJD2QJ1UdmI/AAAAAAAABfM/MHgHCwU1Ajg/image_thumb5.png?imgmax=800" width="644" height="116" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;After Gac’ing these assemblies we had success pushing messages from BizTalk 2009 to SharePoint 2010.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; There is another option which I have not tried that Kirk Hofer discusses &lt;a href="http://kirkhofer.wordpress.com/2010/01/25/biztalk-2009-sharepoint-service-adapter-with-sharepoint-2010/" target="_blank"&gt;here&lt;/a&gt;.&amp;#160; It involves installing WSS v3.0 SP2, but not configuring it, so that the BizTalk install Wizard thinks it is installed.&amp;#160; Our SharePoint team was not crazy about having these other dlls on their fresh SharePoint 2010 server so we were unable to proceed with this approach. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3078460769226170088-128275481979951354?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/128275481979951354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=128275481979951354' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/128275481979951354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/128275481979951354'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2010/09/biztalk-2009-sharepoint-2010.html' title='BizTalk 2009 + SharePoint 2010'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_KBYzYDwIZhw/TJD2IYZug7I/AAAAAAAABes/_8Kn4iOLrpg/s72-c/image_thumb3.png?imgmax=800' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-5228707215299766056</id><published>2010-08-27T02:05:00.000-07:00</published><updated>2010-08-27T02:27:34.186-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BizTalk 2010 Beta'/><category scheme='http://www.blogger.com/atom/ns#' term='SCOM 2007 R2'/><title type='text'>Managing your BizTalk Environment using SCOM</title><content type='html'>I recently had the opportunity to speak at the Swedish &lt;span id="SPELLING_ERROR_0" class="blsp-spelling-error"&gt;BizTalk&lt;/span&gt; &lt;span id="SPELLING_ERROR_1" class="blsp-spelling-corrected"&gt;user group&lt;/span&gt; in Stockholm. It was an excellent opportunity to present to one of the top &lt;span id="SPELLING_ERROR_2" class="blsp-spelling-error"&gt;BizTalk&lt;/span&gt; user groups worldwide. My presentation consisted of &lt;span id="SPELLING_ERROR_3" class="blsp-spelling-corrected"&gt;slide ware&lt;/span&gt;, a tour of the &lt;span id="SPELLING_ERROR_4" class="blsp-spelling-error"&gt;SCOM&lt;/span&gt; 2007 R2 console and several &lt;span id="SPELLING_ERROR_5" class="blsp-spelling-error"&gt;BizTalk&lt;/span&gt;/&lt;span id="SPELLING_ERROR_6" class="blsp-spelling-error"&gt;SCOM&lt;/span&gt; demos using &lt;span id="SPELLING_ERROR_7" class="blsp-spelling-error"&gt;BizTalk&lt;/span&gt; 2010 beta and the &lt;span id="SPELLING_ERROR_8" class="blsp-spelling-error"&gt;BizTalk&lt;/span&gt; 2010 Management Pack beta. You may find the presentation below.&lt;br /&gt;&lt;br /&gt;&lt;iframe height="342" src="https://docs.google.com/present/embed?id=dgnchkm4_64fgvzdzhb" frameborder="0" width="410"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3078460769226170088-5228707215299766056?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/5228707215299766056/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=5228707215299766056' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/5228707215299766056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/5228707215299766056'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2010/08/managing-your-biztalk-environment-using.html' title='Managing your BizTalk Environment using SCOM'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-6912475460776570558</id><published>2010-06-22T19:42:00.001-07:00</published><updated>2010-06-22T19:55:13.864-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BizTalk 2010 Beta'/><category scheme='http://www.blogger.com/atom/ns#' term='ShareTalk Integration'/><title type='text'>BizTalk integration with SharePoint and the Cloud Presentation</title><content type='html'>I recently had the opportunity to speak at the Calgary .Net User Group. My presentation included &lt;span id="SPELLING_ERROR_0" class="blsp-spelling-error"&gt;slideware&lt;/span&gt; and demonstrations involving integrating &lt;span id="SPELLING_ERROR_1" class="blsp-spelling-error"&gt;BizTalk&lt;/span&gt; with &lt;span id="SPELLING_ERROR_2" class="blsp-spelling-error"&gt;SharePoint&lt;/span&gt; 2010 and the &lt;span id="SPELLING_ERROR_3" class="blsp-spelling-error"&gt;AppFabric&lt;/span&gt; Service bus. You can view the presentation below:&lt;br /&gt;&lt;br /&gt;&lt;iframe height="342" src="http://docs.google.com/present/embed?id=dgnchkm4_10gjsrq4g3" frameborder="0" width="410"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3078460769226170088-6912475460776570558?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/6912475460776570558/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=6912475460776570558' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/6912475460776570558'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/6912475460776570558'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2010/06/biztalk-integration-with-sharepoint-and.html' title='BizTalk integration with SharePoint and the Cloud Presentation'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-1171972959725403320</id><published>2010-06-19T12:45:00.001-07:00</published><updated>2010-06-19T12:45:37.949-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BizTalk 2010 Beta'/><category scheme='http://www.blogger.com/atom/ns#' term='AppFabric Service Bus'/><title type='text'>BizTalk 2010 Beta – Where are the AppFabric Service Bus bindings?</title><content type='html'>&lt;p&gt;After installing the Windows Azure platform &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=39856a03-1490-4283-908f-c8bf0bfad8a5&amp;amp;displaylang=en"&gt;AppFabric SDK V1.0 - April Update&lt;/a&gt; I was expecting all of the AppFabric Service Bus relay bindings to be available inside of the BizTalk Admin Console but they were not.&amp;#160; I could run the AppFabric Echo .Net Sample without any issues.&amp;#160; After re-installing both the AppFabric SDK and BizTalk 2010 Beta I was still unable to find these bindings in the Admin console.&amp;#160; I checked the machine.config files (both 32 bit and 64bit) and both files were updated.&amp;#160; The problem with this is that I checked the .Net 2.0 config files.&lt;/p&gt;  &lt;p&gt;After stumbling across Wade Wegner’s &lt;a href="http://blog.wadewegner.com/2010/05/net-framework-4-0-and-the-azure-appfabric-sdk/"&gt;blog&lt;/a&gt;, the picture became much clearer.&amp;#160; Wade explains “I soon realized that the issue was the machine.config file.&amp;#160; When you install the Azure AppFabric SDK the relevant WCF extensions are added to the .NET Framework 2.0 machine.config file, which is shared by .NET Framework 3.0 and 3.5.&amp;#160; However, .NET Framework 4.0 has its own machine.config file, and the SDK will not update the WCF extensions.”&lt;/p&gt;  &lt;p&gt;To resolve the issue you need to run a utility called: &lt;strong&gt;RelayConfigurationInstaller.exe &lt;/strong&gt;which can be found in C:\Program Files (x86)\Windows Azure platform AppFabric SDK\V1.0\Assemblies (64 bit machine) or C:\Program Files\Windows Azure platform AppFabric SDK\V1.0\Assemblies (32 bit machine) and provide an input file that includes&lt;/p&gt;  &lt;p&gt;&amp;lt;?xml version =&amp;quot;1.0&amp;quot;?&amp;gt;   &lt;br /&gt;&amp;lt;configuration&amp;gt;    &lt;br /&gt;&amp;lt;startup&amp;gt;    &lt;br /&gt;&amp;lt;requiredRuntime safemode=&amp;quot;true&amp;quot;    &lt;br /&gt;imageVersion=&amp;quot;v4.0.30319&amp;quot;    &lt;br /&gt;version=&amp;quot;v4.0.30319&amp;quot;/&amp;gt;    &lt;br /&gt;&amp;lt;/startup&amp;gt;    &lt;br /&gt;&amp;lt;/configuration&amp;gt;&lt;/p&gt;  &lt;p&gt;The name of this file should be called &lt;strong&gt;RelayConfigurationInstaller.exe.config.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;example:&lt;/p&gt;  &lt;p&gt;C:\Program Files (x86)\Windows Azure platform AppFabric SDK\V1.0\Assemblies&amp;gt;RelayConfigurationInstaller.exe /i   &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;After this command was run successfully, I could now see the “Cloud Bindings” including the NetTcpRelayBinding&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/TB0eWvR_N4I/AAAAAAAABeY/I8HOijPodoM/s1600-h/image%5B3%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/TB0eYJg21RI/AAAAAAAABec/Dj6lilFz7dk/image_thumb%5B1%5D.png?imgmax=800" width="644" height="431" /&gt;&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/3078460769226170088-1171972959725403320?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/1171972959725403320/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=1171972959725403320' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/1171972959725403320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/1171972959725403320'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2010/06/biztalk-2010-beta-where-are-appfabric.html' title='BizTalk 2010 Beta – Where are the AppFabric Service Bus bindings?'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_KBYzYDwIZhw/TB0eYJg21RI/AAAAAAAABec/Dj6lilFz7dk/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-7278654670928586935</id><published>2010-06-16T16:23:00.000-07:00</published><updated>2010-06-16T16:28:46.613-07:00</updated><title type='text'>Presenting at Calgary .Net User Group - June 22, 2010</title><content type='html'>&lt;strong&gt;Topic:&lt;/strong&gt; BizTalk integration with SharePoint and the Cloud&lt;br /&gt;&lt;strong&gt;Speaker:&lt;/strong&gt; Kent Weare&lt;br /&gt;&lt;strong&gt;Date&lt;/strong&gt;: 22-June-2010&lt;br /&gt;&lt;strong&gt;Location:&lt;/strong&gt; Nexen Conference Center&lt;br /&gt;801-7th Ave. S.W., Calgary, AB. (Plus 15 level)&lt;br /&gt;Map&lt;br /&gt;&lt;strong&gt;Registration:&lt;/strong&gt; 5:00 pm - 5:30 pm&lt;br /&gt;&lt;strong&gt;Presentation:&lt;/strong&gt; 5:30 pm&lt;br /&gt;&lt;br /&gt;http://dotnetcalgary.com/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Abstract &lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Part 1 - Discover how you can leverage BizTalk to integrate with SharePoint and InfoPath&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;In this session, Kent will demonstrate some of the ways that you can integrate with SharePoint using the BizTalk WSS Adapter and Web Services. Kent will also discuss some real world scenarios where this technology has been used to provide value to the business.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Part 2 - Discover how you can leverage BizTalk to integrate with the AppFabric Service Bus&lt;/strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;Learn about Microsoft's cloud based Service Bus and how you can leverage BizTalk to communicate with external applications and services. Kent will demonstrate BizTalk's ability to expose on premise services to the cloud and consume AppFabric Service Bus end points. Kent will also discuss some scenarios where it may be appropriate to leverage these integration patterns in the real world.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3078460769226170088-7278654670928586935?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/7278654670928586935/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=7278654670928586935' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/7278654670928586935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/7278654670928586935'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2010/06/presenting-at-calgary-net-user-group.html' title='Presenting at Calgary .Net User Group - June 22, 2010'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-5377830408113578240</id><published>2010-06-11T07:42:00.001-07:00</published><updated>2010-06-11T07:42:46.593-07:00</updated><title type='text'>TechEd 2010 – Day 4</title><content type='html'>&lt;p&gt;TechEd 2010 North America is done for another year.&amp;#160; I thought the conference went really well and people were full of enthusiasm.&amp;#160; A lot of Product Groups have shipped, or are shipping products this year.&amp;#160; There were over 11 300 in attendance for this event eager to hear about the latest bits in the pipeline .&amp;#160; I was at TechEd in LA last year and can tell you there wasn’t near that many people in attendance.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;BizTalk and the Cloud&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I saw a really interesting session where BizTalk was brokering a connection through the Service Bus into a SAP and a Mainframe system.&amp;#160; A Web app was hosted in Azure and BizTalk was listening for requests via the AppFabric Service Bus.&amp;#160; It was probably the riskiest demo I saw, but Chris and Elizabeth pulled it off without a hitch.&amp;#160; I have been thinking about these types of scenarios quite a bit since I have done a fair about of integration with SAP in the past.&amp;#160; SAP certainly cannot connect into the Azure Service Bus at this time nor do I expect them to be able to do that any time soon.&amp;#160; Mainframe systems are no different since they most likely will not have a transport mechanism capable of communicating with the Microsoft cloud.&amp;#160; Many businesses leverage SAP to run their core business, having BizTalk capable of connecting into the cloud provides an additional layer of abstraction and security when accessing SAP data.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;More Cloud&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;There was certainly no shortage of Cloud talk at this conference.&amp;#160; The next session I saw was called Appfabric: Extend .Net technologies to the Cloud.&amp;#160; It was presented by Aaron Skonnard and Keith Brown.&amp;#160; You can tell these guys are very comfortable on the presenter’s stage.&amp;#160; It was probably best presentation that I have seen in a long time.&lt;/p&gt;  &lt;p&gt;Some of the topics discussed include:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;You can think of Azure AppFabric as an extension of the .Net framework &lt;/li&gt;    &lt;li&gt;No Azure Workflow as a Service in this release &lt;/li&gt;    &lt;li&gt;Relay bindings allow your application access into the Service Bus&lt;/li&gt;    &lt;li&gt;Direct connections allow you to communicate peer to peer with other clients in order to improve performance and reduce charges&lt;/li&gt;    &lt;li&gt;Eventing pub/sub can be used in multi-cast situations&lt;/li&gt;    &lt;li&gt;To increase interoperability use Http Relay Bindings &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;View from the BizTalk Booth&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;A had a few conversations with attendees who were using other middleware products such as Oracle or IBM and wanted to know how BizTalk stacked up in terms of feature set.&amp;#160; None of the features that they were requesting were absent from the BizTalk stack.&amp;#160; They also wanted to see how easy the Microsoft tools are to use and the impression that I got is that they felt they were on par with what they were use to seeing.&lt;/li&gt;    &lt;li&gt;Another attendee wanted to know whether they should be using&amp;#160; WF or BizTalk.&amp;#160; Quite frankly this scenario can still get a little blurry for me.&amp;#160; We talked about things like low latency, durable messaging, flat file requirements, Adapters and management of the solutions.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Next Year&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Next year TechEd will be held in Atlanta from May 16th-19th.&amp;#160; There is currently an early bird special where you can save $500 for registering early.&amp;#160; &lt;a title="http://northamerica.msteched.com/?fbid=qjus7wvTc2O" href="http://northamerica.msteched.com/?fbid=qjus7wvTc2O"&gt;http://northamerica.msteched.com/?fbid=qjus7wvTc2O&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/3078460769226170088-5377830408113578240?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/5377830408113578240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=5377830408113578240' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/5377830408113578240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/5377830408113578240'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2010/06/teched-2010-day-4.html' title='TechEd 2010 – Day 4'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-5879617561574213613</id><published>2010-06-10T06:45:00.001-07:00</published><updated>2010-06-12T18:15:51.406-07:00</updated><title type='text'>TechEd 2010 – Day 3</title><content type='html'>&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;More BizTalk&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;We took a closer look at the Dashboard Settings in the BizTalk Admin Console.  There are 3 main categories that you can configure:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Group Configurations&lt;/li&gt;&lt;li&gt;Host Configurations&lt;/li&gt;&lt;li&gt;Host Instance Configurations&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Probably the most compelling setting allows you to control the polling interval when connecting to the MessageBox for new messages.  You even have the ability to configure these settings based upon a Messaging or Orchestration scenario at the Host level.  In the demo, we saw a simple Receive and Respond scenario.  The default configuration setting is to have BizTalk connect to the MessageBox every 500 ms.  This message took .68 seconds to be processed end to end.  The Polling interval was then changed to 10 ms and the message took .09 seconds to process.  Some pretty dramatic improvements.  The end result is that the BizTalk Host Instances are not waiting as long for their next polling interval  so messages will be processed more frequently.  These actions are not without some risk though.  The more frequently you poll, the more stress you put on you SQL Server database so mileage will vary.&lt;/p&gt;&lt;p&gt;The portability of the Dashboard settings were also demonstrated.  You now have the ability to export and import your configuration settings across environments so you are not manually tweaking  on several servers.  You also have the ability to script the import and export of these settings&lt;/p&gt;&lt;p&gt;The new BizTalk Management Pack for SCOM was demonstrated.  They have rebuilt this MP from the ground up and now include 2 separate views:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Application&lt;/li&gt;&lt;li&gt;Deployment&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The Application view focuses on artifacts that would typically be addressed by BizTalk developers.  So if you have a message that failed in a pipeline or a retrying sent port then you would find them in this view.  More infrastructure related items would be found in the Deployment view.  So if you had a database or host instance offline, you will find these types of alerts in the Deployment view.&lt;/p&gt;&lt;p&gt;Unfortunately, the new SCOM pack will only work with BizTalk 2010 so if you are still on BizTalk 2009 or previous, you cannot use this MP.  The good news is that the MP will ship with BizTalk 2010 so there will be no gap between those two products and their release dates.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Other bits&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;The support for SQL 2005 and Windows 2003 is gone for BizTalk 2010 &lt;/li&gt;&lt;li&gt;BizTalk 2009 (and earlier) will not be certified for Windows Server 2008 R2.&lt;/li&gt;&lt;li&gt;&lt;em&gt;&lt;span style="color:#ff0000;"&gt;Business Activity Monitoring (BAM) Portal will support 64 bit app pools - Not exactly true, please see comment by Rahul for further clarification&lt;/span&gt;&lt;/em&gt;&lt;/li&gt;&lt;li&gt;BizTalk Admin Console is still not a native 64bit app.  You can run in WOW mode on 64 bit machine though&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;BizTalk Business to Business integration&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;I later sat in on a B2B  presentation that discussed EDI and Trading Partner Management.  I have not had a lot of exposure to these 2 features of BizTalk so it was interesting to get a look under the hood.  The TPM management is greatly improved and is more intuitive to use as you can now group Business Units under a Parent entity.&lt;/p&gt;&lt;p&gt;They also discussed the BizTalk Mapper since EDI schemas tend to be large and complex. Leveraging new features like Search, Indicative Match, copy and pasting functiods, highlighting selected nodes and links goes along way.&lt;/p&gt;&lt;p&gt;The enhanced FTP adapter was discussed and here are some of the core features:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Support for Read Only Receive scenarios&lt;/li&gt;&lt;li&gt;FTPS protocol is now supported&lt;/li&gt;&lt;li&gt;Improved performance when connecting to AIX systems&lt;/li&gt;&lt;li&gt;Atomic Sends for Text files&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Communications Server 14&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Office Communications Server (OCS) has been rebranded to just Communications Server or “CS 14”.  I am not that familiar(at a deep technical level) with OCS and related technologies but since we do use it I thought I would check out the Q and A session that deals with interoperability.&lt;/p&gt;&lt;p&gt;I think it is pretty safe to say that this industry is in a state of transition.  You have traditional telecom companies like Cisco and Avaya who are trying to hold onto their footprint and then you have Microsoft who is very hungry in this vertical.  The frustrating part is that these companies have so much at stake that they are not collaborating much (from what I can see) and that leaves customers who have a blend of this technology frustrated as it is tough to develop roadmaps with so much changing.  It may be a good idea to sit on the sidelines for a year to see how this all shakes out.   &lt;/p&gt;&lt;p&gt;&lt;strong&gt;View from the BizTalk Booth&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;More great conversations at the BizTalk booth:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;An Infrastructure Architect wanted to know what impact BizTalk has on his environment since his organization is planning on implementing BizTalk&lt;/li&gt;&lt;li&gt;Another attendee is looking and managing the provisioning of Datacenter assets through BizTalk.  He wanted BizTalk to host services that would expose functions like “deploy Windows Server”, “Deploy SQL Server”, “Deploy Application ‘x’ to Server ‘y’”.  It was a very interesting discussion about how they wanted to provision systems to their private cloud.  &lt;/li&gt;&lt;li&gt;More questions about using the BizTalk Mapper activity in WF&lt;/li&gt;&lt;li&gt;There genuinely seems to be interest in BizTalk.  Perhaps people are just being polite, but a lot of people are talking about introducing BizTalk to their environment(s).&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3078460769226170088-5879617561574213613?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/5879617561574213613/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=5879617561574213613' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/5879617561574213613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/5879617561574213613'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2010/06/teched-2010-day-3.html' title='TechEd 2010 – Day 3'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-8983158545301211623</id><published>2010-06-09T07:03:00.001-07:00</published><updated>2010-06-09T07:03:48.466-07:00</updated><title type='text'>TechEd 2010 – Day 2</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;I opened up day two with a session involving &lt;strong&gt;Connecting to Line Of Business (LOB) systems in 15 minutes&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;We saw:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;A demonstration of the BizTalk mapper activity in WF &lt;/li&gt;    &lt;li&gt;Many questions from the audience regarding the licensing model.&amp;#160; Some people questioned that if you had to buy a BizTalk Standard license to use the Mapper and LOB adapters then why wouldn’t you just use BizTalk.&amp;#160; The response was that there may be some scenarios where you still want to avoid the BizTalk message box but want to connect to LOB systems like SAP without having to write a lot of code to transform data between the two systems.&amp;#160; The BizTalk Mapper will easily pay for itself over time as it allows you to convert data through a GUI tool instead of writing a lot of code. &lt;/li&gt;    &lt;li&gt;You will not have to install all of BizTalk in order to use these two new activities in WF.&amp;#160; Microsoft plans on providing a “AppFabric Connect” feature that allows you to just install the BizTalk bits that you need &lt;/li&gt;    &lt;li&gt;Licensing for these components will be based on the same model that BizTalk standard edition uses so you will be paying per proc(and not by the core) &lt;/li&gt;    &lt;li&gt;Oracle adapter exposed as WCF service that SharePoint BCS (Business Connectivity Services) consumed...no code is required. &lt;/li&gt;    &lt;li&gt;Connecting to IBM lob systems in a similar manner.&amp;#160; Use the BizTalk HIS components outside of BizTalk and connect to legacy IBM systems without BizTalk. &lt;/li&gt;    &lt;li&gt;I got the sense that a lot of .Net developers were excited to see these capabilities but not so excited that they needed to pay for BizTalk licenses in order to use these bits. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Another interesting session I saw involved extracting SAP data so that it can be used by Microsoft BI tools.&amp;#160; The tool is called &lt;a href="http://www.simplement.us/public/insights/sapperformance.aspx" target="_blank"&gt;Simplement Data Liberator&lt;/a&gt;.&amp;#160; We heard from one of their customers who uses a blend of SAP and Microsoft tools.&amp;#160; They explained some of their Roadblocks to “True BI”;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;SAP tables difficult to understand &lt;/li&gt;    &lt;li&gt;SAP tables difficult to extract &lt;/li&gt;    &lt;li&gt;Need too many experts &lt;/li&gt;    &lt;li&gt;Explicit skill set required to use a SAP BI tool &lt;/li&gt;    &lt;li&gt;Needed real time access to SAP data &lt;/li&gt;    &lt;li&gt;Needed SharePoint integration &lt;/li&gt;    &lt;li&gt;Better value with Microsoft Consultants &lt;/li&gt;    &lt;li&gt;Wanted wider talent pool &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;SAP has over 50 000 tables so trying to extract data manually or through Custom code is a daunting experience.&amp;#160; The Simplement Data Liberator tool has solved this challenge. The Tool replicates SAP data into SQL Server. You can get both German and English Meta data&amp;#160; and SAP Security&amp;#160; info is also replicated.&amp;#160; This tool eliminates the need to write ABAP for reporting in SAP.&amp;#160; Surface SAP data into Microsoft BI products by using SQL queries.&lt;/p&gt;  &lt;p&gt;Other features:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Work with only tables you need &lt;/li&gt;    &lt;li&gt;Load into SQL server via replication &lt;/li&gt;    &lt;li&gt;Manipulate/Transform data such as dates (ETL)&lt;/li&gt;    &lt;li&gt;Attached meta data so that you can use English Table names &lt;/li&gt;    &lt;li&gt;Use SharePoint, Excel services or SQL Server Reporting Services (SSRS) to query data &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;We saw a demo where a customer was updated in the SAP GUI system and within seconds (3-5) the data was in the SQL BI system.&amp;#160; I must say that I was impressed by the demo, it seems like this vendor understands SAP very well and has figured out a way to lower customer costs when consuming SAP data.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;View from the BizTalk Booth&lt;/strong&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;More great questions and conversations about BizTalk:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;An excellent conversation about End to End Message Security.&amp;#160; You always want to trust your developers to do the right thing, but how do you prevent a developer from adding their own receive location, or subscription in BizTalk for malicious purposes; to prevent a rogue developer from depositing money into&amp;#160; their Bank Account via BizTalk.&amp;#160; If anyone one has thoughts on this type of scenario and have figured out a way to solve it I would be interested in hearing about it – use comments below.&lt;/li&gt;    &lt;li&gt;Whether BizTalk is truly pub/sub due to the polling nature of the Host instance connecting to BizTalk MessageBox looking for more work.&amp;#160; This attendee was looking for more Event Driven processes inside BizTalk.&lt;/li&gt;    &lt;li&gt;A DBA was interested to know how BizTalk will connect to their Database and some of the “gotchas” to look out for&lt;/li&gt;    &lt;li&gt;A few people that closed the door on BizTalk after BizTalk 2004 that are now back taking another look at BizTalk 2010.&amp;#160; I can’t say this enough, the product has matured significantly over the past and it is worth taking another look at&lt;/li&gt;    &lt;li&gt;Connecting BizTalk to the AppFabric Service bus in order to connect with other external parties&lt;/li&gt; &lt;/ul&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3078460769226170088-8983158545301211623?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/8983158545301211623/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=8983158545301211623' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/8983158545301211623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/8983158545301211623'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2010/06/teched-2010-day-2.html' title='TechEd 2010 – Day 2'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-861156984074606279</id><published>2010-06-07T15:25:00.001-07:00</published><updated>2010-06-07T15:25:30.080-07:00</updated><title type='text'>TechEd 2010 – Day 1</title><content type='html'>&lt;p&gt;Below are some of my ad hoc notes from TechEd 2010 in New Orleans.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;The Atmosphere&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Much more encouraging than last year, in my opinion.&amp;#160; The numbers seem to be up and the convention centre is very busy even though the facility is huge.&amp;#160; Microsoft has rented over 1 mile worth of space to host the event.&amp;#160; At a meeting that I attended on Sunday, a Microsoft rep indicated that registrations had exceeded their expectations this year.&amp;#160; They attributed this to improvements in the North American economy.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Keynote&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;A great deal of the keynote was dedicated to cloud computing.&amp;#160; The phrase that has been floating around Microsoft circles for the last little while is “we’re all in” meaning Microsoft is betting big time on the emergence of cloud computing.&lt;/p&gt;  &lt;p&gt;Some items that were discussed include new tools available for Developers and IT Pros to monitor cloud applications including:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Intelitrace for Azure&lt;/li&gt;    &lt;li&gt;SCOM Management packs for monitoring Web Roles and other artifacts in the cloud&lt;/li&gt;    &lt;li&gt;SQL Management Studio integration for managing SQL Azure databases&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Microsoft discussed a client, Chicago Tribune, and their shift from moving On-Premise assets to the Cloud.&amp;#160; Some of the key drivers for this move includes:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Reduction in the amount of Data centers required to run their operations&lt;/li&gt;    &lt;li&gt;Pay as you go Scalability.&amp;#160; As you can imagine there would be some very newsworthy days that would stress a media outlet’s IT infrastructure&lt;/li&gt;    &lt;li&gt;Reliability and Uptime.&amp;#160; If your site is down, people will just go to your competitor’s site.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Other announcements&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Windows 7 SP1 and Windows 2008 R2 SP1 will enter Beta in July (2010)&lt;/li&gt;    &lt;li&gt;Windows 2008 R2 SP1 will include enhancements such as Dynamic Memory&lt;/li&gt;    &lt;li&gt;Office Communication Server 14 is schedule for Q4 – 2010 Key Features include&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Tighter SharePoint and Exchange integration&lt;/li&gt;      &lt;li&gt;Picture displays in the OCS Client as pulled from SharePoint&lt;/li&gt;      &lt;li&gt;Pictures include a presence border (Green/Yellow/Red)&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Microsoft has over 74 000 Enterprise voice users internally and saves $1 million per month by using OCS and Live Meeting for long distance and conference calls&lt;/li&gt;    &lt;li&gt;Use OCS to search for Skills within your organization&lt;/li&gt;    &lt;li&gt;720p video supported with OCS 14&lt;/li&gt;    &lt;li&gt;Exchange pushes polices down onto Windows Mobile 7 phones&lt;/li&gt;    &lt;li&gt;Windows Mobile 7 supports multiple exchange accounts including on-premise and in the cloud&lt;/li&gt;    &lt;li&gt;Windows Mobile 7 easily separates your work and you life within one phone&lt;/li&gt;    &lt;li&gt;Edit documents from SharePoint using your Windows Mobile phone&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Other Sessions&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;BizTalk 2010 and VNext&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Customer wants include better alignment with Platform releases (SQL/Windows/VS)&lt;/li&gt;    &lt;li&gt;Session was full – BizTalk interest is alive and well&lt;/li&gt;    &lt;li&gt;Enhanced Mapper exists in 2010 that allows for&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Functoid “Move to page”&lt;/li&gt;      &lt;li&gt;Reduction of noise by focusing on specific areas&lt;/li&gt;      &lt;li&gt;Node Search&lt;/li&gt;      &lt;li&gt;Undo&lt;/li&gt;      &lt;li&gt;New Ribbon at the top of Mapper – Ribbons are in-style&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Mapper and LOB Activities are available within WF Workflows&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;A license will be required – &lt;u&gt;potentially&lt;/u&gt; a BizTalk Standard license&lt;/li&gt;      &lt;li&gt;Potentially, BizTalk Dev edition &lt;u&gt;may&lt;/u&gt; become a free version&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Enhanced BizTalk Management Pack for SCOM will be included&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Better terminology and modeling used&lt;/li&gt;      &lt;li&gt;Better support for multi-node BizTalk deployments&lt;/li&gt;      &lt;li&gt;Adoption of SCOM still low for BizTalk deployments (around 10-20% of the room uses SCOM – non-scientific survey)&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Settings Dashboard available in 2010&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Allows for more granular control over performance settings&lt;/li&gt;      &lt;li&gt;Some Settings remain Global, some Host specific and some Host Instance/Machine specific&lt;/li&gt;      &lt;li&gt;Settings are scriptable via WMI&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Upgrade&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Full support from BizTalk 2006 R2 and BizTalk 2009&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;New FTP Adapter&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;FTPS protocol is supported&lt;/li&gt;      &lt;li&gt;Support for read only scenarios&lt;/li&gt;      &lt;li&gt;Improved performance when connecting to AIX systems&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;VNext&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Plans still vague but looking at more Cloud integration – perhaps we will see BizTalk in the cloud or Transformations as a service in the cloud&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Building Communication enabled Business Processes with Microsoft Communications Server 14&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;This session contained some really cool demos and makes me wish I had more spare time.&amp;#160; I saw some demos where a CRM application was extended to include OCS integration.&amp;#160; You may be saying what is the big deal you can do this today?&amp;#160; What was really neat was that they were able to push the CRM context into OCS so that when you called/IM’d the recipient their OCS window would be expanded to include context about what you were contacting them about.&amp;#160; Imagine you needed to speak to “Bob” about customer “XYZ’s” payment.&amp;#160; Wouldn’t it be nice to include the data that you are looking at as part of the conversation so that Bob does not have to log into the CRM? This is now possible by using the Microsoft Communications Server 14 API.&amp;#160; The API seemed very intuitive and includes XAML components that allow you to drag and drop these components onto your WPF/Silverlight canvas.&amp;#160; I see plenty of opportunities of this type of functionality in Contact Centre or CRM type applications.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;View from the BizTalk Booth&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;This year I am spending some time helping out at the BizTalk Booth.&amp;#160; I thought it would be interesting to post some of the questions or trends that I am seeing while visiting with other attendees.&amp;#160; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Many people still don’t know what BizTalk is/does.&amp;#160; Once you explain it to them, they usually provide a response similar to “I have a broken down process that is hard to manage and is unreliable, can I use BizTalk in that scenario”?&amp;#160; The answer in many cases is Yes.&lt;/li&gt;    &lt;li&gt;A great question came up regarding BizTalk and SAP Enterprise Services with respect to performance&lt;/li&gt;    &lt;li&gt;Some people expressed frustrations over previous versions specifically some of the management tools in BizTalk 2004.&amp;#160; For those that have been there before and have moved on, I encourage you to come back and take a look at what BizTalk 2010 has to offer.&amp;#160; The tooling, tracking and management of applications has greatly improved.&lt;/li&gt;    &lt;li&gt;Great questions around how do you manage your BizTalk environments?&amp;#160; The answer is SCOM, but you need to invest some time so that you do not create a SPAM engine.&amp;#160; I wouldn’t want to manage a BizTalk environment without a tool like SCOM as it provides great visibility into the Health of your BizTalk application. Tune, tune and then tune again to find the right balance.&lt;/li&gt; &lt;/ul&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3078460769226170088-861156984074606279?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/861156984074606279/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=861156984074606279' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/861156984074606279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/861156984074606279'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2010/06/teched-2010-day-1.html' title='TechEd 2010 – Day 1'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-2687655492220725050</id><published>2010-05-16T10:04:00.001-07:00</published><updated>2010-05-16T10:04:08.036-07:00</updated><title type='text'>ShareTalk Integration – WSS Adapter Web Service Request format is unrecognized</title><content type='html'>&lt;p&gt;When you install the SharePoint Adapter Web Service for BizTalk, and browse to the BTSharePointAdapterWS.asmx Web Service, you will be prompted with an error that makes it seem like your installation of this Web Service was not successful:&lt;/p&gt;  &lt;h3&gt;&lt;font color="#ff0000"&gt;Server Error in '/BTSharePointAdapterWS' Application.&lt;/font&gt;     &lt;hr size="1" width="100%" /&gt;&lt;/h3&gt;  &lt;h4&gt;&lt;i&gt;Request format is unrecognized.&lt;/i&gt;&lt;/h4&gt;  &lt;p&gt;&lt;b&gt;Description: &lt;/b&gt;An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.     &lt;br /&gt;&lt;b&gt;Exception Details: &lt;/b&gt;System.InvalidOperationException: Request format is unrecognized&lt;/p&gt;  &lt;p&gt; In fact your Web Service may be functioning correctly as mine was.&amp;#160; The issue is that the Service metadata is disabled by default.&amp;#160; To enable the Service metadata, you will need to update the web.config of the BTSharePointAdapterWS Application&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/S_AlfX7H0AI/AAAAAAAABeA/FbWFtrB46ts/s1600-h/image%5B7%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/S_AlgCcsaZI/AAAAAAAABeE/tCH7SuKm8io/image_thumb%5B3%5D.png?imgmax=800" width="644" height="343" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Comment out, or remove the &amp;lt;remove name=&amp;quot;Documentation&amp;quot;/&amp;gt; line in order to enable displaying the Service metadata.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/S_AlgUiPNfI/AAAAAAAABeI/L5qJZyHtcFc/s1600-h/image%5B11%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/S_Alg1ikyzI/AAAAAAAABeM/5yj07QX6Lxw/image_thumb%5B5%5D.png?imgmax=800" width="644" height="119" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Metadata will now be displayed correctly.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/S_Alhcz5CWI/AAAAAAAABeQ/I9g6oREJdj8/s1600-h/image%5B15%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/S_Alh00RbXI/AAAAAAAABeU/g0TVvEjedQM/image_thumb%5B7%5D.png?imgmax=800" width="644" height="239" /&gt;&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/3078460769226170088-2687655492220725050?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/2687655492220725050/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=2687655492220725050' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/2687655492220725050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/2687655492220725050'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2010/05/sharetalk-integration-wss-adapter-web.html' title='ShareTalk Integration – WSS Adapter Web Service Request format is unrecognized'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_KBYzYDwIZhw/S_AlgCcsaZI/AAAAAAAABeE/tCH7SuKm8io/s72-c/image_thumb%5B3%5D.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-7177297073110643765</id><published>2010-05-14T15:47:00.001-07:00</published><updated>2010-05-14T15:47:16.883-07:00</updated><title type='text'>Microsoft Canadian Leadership Summit Day #2</title><content type='html'>&lt;p&gt;On the 2nd and final day of the Canadian Leadership Summit, I&amp;#160; focused on Dynamics xRM and Windows XP to Windows 7 Migration.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;xRM/CRM&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;In the context of&amp;#160; “xRM”, the ‘x’ stands for “anything” meaning if you have a requirements to track relationships then Dynamics may be a good fit.&lt;/p&gt;  &lt;p&gt;Relationships with many different entities&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Employees &lt;/li&gt;    &lt;li&gt;Customers &lt;/li&gt;    &lt;li&gt;Vendors &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Dynamics CRM Global Customer list&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;ING &lt;/li&gt;    &lt;li&gt;Nortel &lt;/li&gt;    &lt;li&gt;LG &lt;/li&gt;    &lt;li&gt;Volvo &lt;/li&gt;    &lt;li&gt;Sara Lee &lt;/li&gt;    &lt;li&gt;Minnesota Twins &lt;/li&gt;    &lt;li&gt;Vancouver Canucks &lt;/li&gt;    &lt;li&gt;City of London &lt;/li&gt;    &lt;li&gt;Pfizer &lt;/li&gt;    &lt;li&gt;Barclays &lt;/li&gt;    &lt;li&gt;Tourism Whistler &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Dynamics xRM Deployments&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Over 22 000 customers &lt;/li&gt;    &lt;li&gt;1.1 million users &lt;/li&gt;    &lt;li&gt;4000 worldwide partners &lt;/li&gt;    &lt;li&gt;50 worldwide hosting partners &lt;/li&gt;    &lt;li&gt;Dynamics CRM runs on top of the xRM platform and is available in the Cloud (hosted by Microsoft) or On Premise &lt;/li&gt;    &lt;li&gt;Experience is delivered through PC, Browser or Phone &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Rapid Deployment&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The session contained a video that included a complete Sports team management application built in less than 24 hours on the xRM platform by 4 Microsoft employees during the World Partner Conference in the summer of July 2009.&amp;#160; Surveys were posted on Twitter asking for ideas and requirements as to what people would like to see built.&amp;#160; The deliverable included a semi-detailed design and fully functional system within the allotted time.&amp;#160; The team then presented the solution to the attendees of the conference.&amp;#160; I have found a LiveMeeting of this event &lt;a title="Recording link" href="https://www323.livemeeting.com/cc/usergroups/viewReg"&gt;here.&lt;/a&gt;&amp;#160; Use&amp;#160; Meeting ID 8B74CC to view the content.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;CRM Key Capabilities&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Point and Click Application Development and Deployment &lt;/li&gt;    &lt;li&gt;Out of the box user experiences (Outlook, Office, Mobile, Offline) &lt;/li&gt;    &lt;li&gt;Leverages Microsoft Application Platform Technologies      &lt;ul&gt;       &lt;li&gt;SQL &lt;/li&gt;        &lt;li&gt;Windows Server &lt;/li&gt;        &lt;li&gt;SRS/SAS &lt;/li&gt;        &lt;li&gt;WF &lt;/li&gt;        &lt;li&gt;.Net &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;CRM 5 – The Road Ahead&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Here are some of the themes that Microsoft is focusing for the next version of the software:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Simplicity&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Insightful &lt;/li&gt;    &lt;li&gt;Role-Tailored &lt;/li&gt;    &lt;li&gt;Collaborative &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Innovation&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Social &lt;/li&gt;    &lt;li&gt;Connected &lt;/li&gt;    &lt;li&gt;Extensible &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Value&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Cloud and On-Premise &lt;/li&gt;    &lt;li&gt;Solution Partners &lt;/li&gt;    &lt;li&gt;Smooth Upgrade &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;SharePoint and XRM are Complementary&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;SharePoint and XRM have overlapping capabilities.&amp;#160; SharePoint has evolved beyond just storing Word documents.&amp;#160; It has become a platform that is capable of performing some tasks that a CRM is capable of .&amp;#160; On the flipside CRM, has some lightweight document management features.&amp;#160; The end result is that the two platforms work better, together.&amp;#160; If you owned both sets of technology, it makes sense to leverage both solutions to build the total package.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;SharePoint better with unstructured data &lt;/li&gt;    &lt;li&gt;xRM is better for structured Data &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The next portion of the session involved Christian Gosselin, the CRM Practice Leader for CGI in Quebec, Canada.&amp;#160; CGI is a very experienced CRM implementer with over 50 Certified professionals on platform.&lt;/p&gt;  &lt;p&gt;Christian, discussed some of the Business and IT Challenges that make CRM a viable option:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Typical Organizational Challenges&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Rapid Innovation is a key mandate &lt;/li&gt;    &lt;li&gt;Waiting for IT to deliver requested Applications &lt;/li&gt;    &lt;li&gt;Business builds shadow applications(MS Access)&amp;#160; to survive &lt;/li&gt;    &lt;li&gt;Poor productivity due to many different user interfaces and tools &lt;/li&gt;    &lt;li&gt;Lack of intelligence/insight &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;IT Challenges&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Limited budget and resources &lt;/li&gt;    &lt;li&gt;Trying to support all requests coming from business &lt;/li&gt;    &lt;li&gt;Option of&amp;#160; building or buying (both have big negatives in cost, time and scope) &lt;/li&gt;    &lt;li&gt;Supporting hundreds of legacy applications &lt;/li&gt;    &lt;li&gt;Difficult to deliver quick wins &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;xRM as a platform&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;xRM was built from a platform perspective and then added the application as opposed to some other vendors building the CRM application and then duct taping the platform around it in order to make it extensible.&lt;/p&gt;  &lt;p&gt;xRM is a complete business application platform:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Data and Metadata Services &lt;/li&gt;    &lt;li&gt;User experience services &lt;/li&gt;    &lt;li&gt;Access and Security Services      &lt;ul&gt;       &lt;li&gt;Active Directory &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Analytical Services &lt;/li&gt;    &lt;li&gt;Extensibility Services &lt;/li&gt;    &lt;li&gt;Integration Services      &lt;ul&gt;       &lt;li&gt;User Interface – Mash-ups &lt;/li&gt;        &lt;li&gt;Web Services &lt;/li&gt;        &lt;li&gt;Plug-ins &lt;/li&gt;        &lt;li&gt;Data Integration &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Architecture Services      &lt;ul&gt;       &lt;li&gt;Deploy once &lt;/li&gt;        &lt;li&gt;Currency Conversion &lt;/li&gt;        &lt;li&gt;Multi-language support &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Platform Management Services      &lt;ul&gt;       &lt;li&gt;System Centre Operations Manage &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Process Automation and Orchestration Services      &lt;ul&gt;       &lt;li&gt;WF &lt;/li&gt;        &lt;li&gt;BizTalk &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Point and Click Customization Services &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Related Microsoft Technologies&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Outlook &lt;/li&gt;    &lt;li&gt;Office &lt;/li&gt;    &lt;li&gt;SQL Server &lt;/li&gt;    &lt;li&gt;.Net &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;One Platform, many Applications&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Organizations use xRM for a variety of applications including:&lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;Project Management &lt;/li&gt;      &lt;li&gt;Recruitment Management        &lt;ul&gt;         &lt;li&gt;Professional Sports &lt;/li&gt;       &lt;/ul&gt;     &lt;/li&gt;      &lt;li&gt;Property Management &lt;/li&gt;      &lt;li&gt;Employee Management &lt;/li&gt;      &lt;li&gt;Asset Management &lt;/li&gt;      &lt;li&gt;Supplier Management &lt;/li&gt;      &lt;li&gt;Program Management &lt;/li&gt;      &lt;li&gt;Customer Management &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Benefits of building on Dynamics xRM&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Drive Efficient and Effective IT &lt;/li&gt;    &lt;li&gt;Develop the right business applications &lt;/li&gt;    &lt;li&gt;Deliver Rapid Innovation and Agility      &lt;ul&gt;       &lt;li&gt;Don’t have to rebuild the plumbing &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Demonstrate&amp;#160; Business Success      &lt;ul&gt;       &lt;li&gt;Let IT become the enabler and not the bottleneck &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Real Life Projects&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Christian then described some of the projects that his organization has been involved in:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Financial Services Client      &lt;ul&gt;       &lt;li&gt;Centralized and shared application accessible across Canada in English and French &lt;/li&gt;        &lt;li&gt;Stronger, more profitable customer relationships &lt;/li&gt;        &lt;li&gt;More Competitive advisor recruitment &lt;/li&gt;        &lt;li&gt;Better regulatory compliance &lt;/li&gt;        &lt;li&gt;New business insights &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Government Client      &lt;ul&gt;       &lt;li&gt;Needed to communicate with other Government entities &lt;/li&gt;        &lt;li&gt;Not one line of code was written          &lt;ul&gt;           &lt;li&gt;Customizations were accomplished through configuration &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Better collaboration between Ministry and other agencies &lt;/li&gt;        &lt;li&gt;Higher quality of information &lt;/li&gt;        &lt;li&gt;Reduced manual data entry &lt;/li&gt;        &lt;li&gt;Simplified communications          &lt;ul&gt;           &lt;li&gt;Ability to follow up on communications is more rapid &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Increased business agility &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Pharmaceutical Client      &lt;ul&gt;       &lt;li&gt;Tracking of drug/medical agents &lt;/li&gt;        &lt;li&gt;Implementation was 9 weeks &lt;/li&gt;        &lt;li&gt;More time spent on business requirements than on time to implement &lt;/li&gt;        &lt;li&gt;Centralized application accessible from all of the the world in multiple languages &lt;/li&gt;        &lt;li&gt;Minimal end user training &lt;/li&gt;        &lt;li&gt;Ability to easily generate custom reports with Excel &lt;/li&gt;        &lt;li&gt;Ability to quickly create new LOB applications &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Dynamics CRM as a business application platform generally saves 50-70% of the development time as opposed to custom development&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Windows XP to Windows 7 – A roadmap for success&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The next area that I focused on was migrating from Windows XP to Windows 7.&amp;#160; A key component to a Windows 7 migration is the Windows Deployment kit wizard.&amp;#160; We saw a 7 year old upgrade his Windows XP system, with data, to Windows 7 using this wizard.&amp;#160; I should note that his father works for Microsoft in the Windows division so I suspect he had a little help.&lt;/p&gt;  &lt;p&gt;When configuring the Windows Deployment kit, a wizard will walk you through the various options including:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Choose Migration type      &lt;ul&gt;       &lt;li&gt;Refresh this computer          &lt;ul&gt;           &lt;li&gt;save information and install new OS &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Upgrade this computer &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Specify computer name &lt;/li&gt;    &lt;li&gt;Join domain or workgroup &lt;/li&gt;    &lt;li&gt;Specify where to save your data and settings      &lt;ul&gt;       &lt;li&gt;Can specify network location          &lt;ul&gt;           &lt;li&gt;Local Disk &lt;/li&gt;            &lt;li&gt;Network &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Specify language and locals &lt;/li&gt;    &lt;li&gt;Time Zone &lt;/li&gt;    &lt;li&gt;Specify BitLocker configuration &lt;/li&gt;    &lt;li&gt;Branding &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;strong&gt;Advice&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Refresh existing hardware – don’t have to wait for hardware replacement &lt;/li&gt;    &lt;li&gt;Make the process fast and non-disruptive &lt;/li&gt;    &lt;li&gt;Test wisely, but don’t expect things to break as often as before &lt;/li&gt;    &lt;li&gt;That means fewer helpdesk calls &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Microsoft’s Environment overview&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Microsoft has offices in 105 countries &lt;/li&gt;    &lt;li&gt;89 000 employees globally &lt;/li&gt;    &lt;li&gt;70 000 venders globally &lt;/li&gt;    &lt;li&gt;220 windows deployment servers and product servers globally on a virtual server infrastructure &lt;/li&gt;    &lt;li&gt;User is supported by 5 call centers globally &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;How did it go?&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;No new hardware purchases beyond 3 year refresh cycle &lt;/li&gt;    &lt;li&gt;Very few compatibility issues&amp;#160; - mostly with Internet Explorer 8 &lt;/li&gt;    &lt;li&gt;Single image for each platform(x64 and x86) for entire globe&amp;#160; &lt;/li&gt;    &lt;li&gt;Helpdesk staff was not increased &lt;/li&gt;    &lt;li&gt;Deployment numbers      &lt;ul&gt;       &lt;li&gt;Beta &amp;gt; 60 K in 3 months &lt;/li&gt;        &lt;li&gt;RC &amp;gt;90K in 3 months &lt;/li&gt;        &lt;li&gt;RTM &amp;gt; 100k in 3 months &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;How was it possible?&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;User excitement      &lt;ul&gt;       &lt;li&gt;easier to achieve these days because of user satisfaction &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Executive sponsorship and local goals &lt;/li&gt;    &lt;li&gt;Vastly improved toolset      &lt;ul&gt;       &lt;li&gt;Task sequence automation &lt;/li&gt;        &lt;li&gt;Hard-link data migration &lt;/li&gt;        &lt;li&gt;Multi-cast and multi-stream deployment model &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Early Adopters of Windows 7&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;T-Mobile &lt;/li&gt;    &lt;li&gt;Dell &lt;/li&gt;    &lt;li&gt;EDS &lt;/li&gt;    &lt;li&gt;Avanade &lt;/li&gt;    &lt;li&gt;Halliburton &lt;/li&gt;    &lt;li&gt;Sheraton &lt;/li&gt;    &lt;li&gt;Del Monte &lt;/li&gt;    &lt;li&gt;StatollHydro &lt;/li&gt;    &lt;li&gt;WiPro &lt;/li&gt;    &lt;li&gt;Samsung &lt;/li&gt;    &lt;li&gt;BMW &lt;/li&gt;    &lt;li&gt;City of Miami &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Recommended Deployment Tools&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Microsoft Deployment Toolkit(MDT) Lite Touch and/or &lt;/li&gt;    &lt;li&gt;System Center Configuration Manager (SCCM) 2007 Zero Touch &lt;/li&gt;    &lt;li&gt;Automates what would be manual processes &lt;/li&gt; &lt;/ul&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3078460769226170088-7177297073110643765?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/7177297073110643765/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=7177297073110643765' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/7177297073110643765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/7177297073110643765'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2010/05/microsoft-canadian-leadership-summit_14.html' title='Microsoft Canadian Leadership Summit Day #2'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-6039355968709470386</id><published>2010-05-13T09:11:00.001-07:00</published><updated>2010-05-13T09:11:46.268-07:00</updated><title type='text'>Microsoft Canadian Leadership Summit Day #1</title><content type='html'>&lt;p&gt;I recently had an opportunity to attend the Microsoft Canadian Leadership Summit in Redmond and thought I would share some of my findings. The Leadership Summit allows Microsoft Canada to invite key customers and partners to discuss technology trends that are relevant to the Canadian business climate.&amp;#160; Below is a recap of some ad hoc notes that I made through-out the presentations.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Why use Microsoft products?&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;Standardization allows you to reduce costs &lt;/li&gt;      &lt;li&gt;Flexibility is required to change directions as the economy demands it &lt;/li&gt;      &lt;li&gt;Microsoft technologies allow you to manage costs and have agility &lt;/li&gt;      &lt;li&gt;Microsoft provides building blocks that allows you to fill the gaps between legacy applications, 3rd party and core Microsoft offerings no matter whether they are on-premise or in the cloud. &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Pressures continue to Intensify&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;New generation of workers &lt;/li&gt;      &lt;li&gt;Security and Compliance continues to be a challenge as more and more integration occurs&lt;/li&gt;      &lt;li&gt;Mobile and Distributed Workforces are increasing in numbers&lt;/li&gt;      &lt;li&gt;Innovate without additional resources &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Consumerization of IT&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;We use to go to work to have a more advanced IT Experience&lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;Fast network download speeds &lt;/li&gt;      &lt;li&gt;Stable email environments &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;Now people at home have more IT capabilities at home than in the office&lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;Video conferencing &lt;/li&gt;      &lt;li&gt;IM &lt;/li&gt;      &lt;li&gt;Facebook &lt;/li&gt;      &lt;li&gt;Wireless Access points &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;Customers can use Microsoft products to provide a balance between improved collaboration while implementing security and management of those services.&amp;#160; Some examples of these technologies include the Social networking features in SharePoint 2010 and Office Communication Server (OCS).&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;The Cloud&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Decision to move to the cloud should be a business decision and not a technology decision &lt;/li&gt;    &lt;li&gt;Need to trust in enterprise-class services that Microsoft provides &lt;/li&gt;    &lt;li&gt;Delivering consistent connected experience across devices (PC, Mobile phone, Laptop, Consumer devices) &lt;/li&gt;    &lt;li&gt;Microsoft has had success with a lot of large “house hold” companies moving their assets to the Azure cloud.&amp;#160; Announcements will be made shortly &lt;/li&gt;    &lt;li&gt;Understanding Canadian Federal and Provincial privacy laws continue to create challenges &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Low Cost Computing&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;More companies are able to leverage low cost platforms for mission critical applications.&amp;#160; Windows Server is an enterprise ready OS that is much more affordable than other enterprise offerings.&amp;#160; Migrating your traditional AIX/Oracle environments is feasible , and achievable , on the Windows Platform &lt;/li&gt;    &lt;li&gt;Technology exists to maximize the efficiency of your IT infrastructure &lt;/li&gt;    &lt;li&gt;Take advantage of new ways to acquire and deliver technology &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Microsoft's Commitment to Customers&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Over 1 Billion active Windows Users &lt;/li&gt;    &lt;li&gt;500 Million Office users &lt;/li&gt;    &lt;li&gt;$9.5 Billion invested in R&amp;amp;D &lt;/li&gt;    &lt;li&gt;Long Term, tenacious and Partner-Centric &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Business climates are changing faster than they have before&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Every minute on YouTube, 24 hours of video is uploaded by users &lt;/li&gt;    &lt;li&gt;Starbucks – Office Online      &lt;ul&gt;       &lt;li&gt;Growth through stores &lt;/li&gt;        &lt;li&gt;More cross selling and up selling &lt;/li&gt;        &lt;li&gt;needed to extend technology into the store level &lt;/li&gt;        &lt;li&gt;Microsoft Online Services - Email and SharePoint Team sites available to 19000 employees in-store to allow employees to collaborate on&amp;#160; how to grow the company$ &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Deep investments in infrastructure&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;$2.3 Billion invested in cloud infrastructure &lt;/li&gt;    &lt;li&gt;Geo-replicated data to multiple data centres &lt;/li&gt;    &lt;li&gt;public and private cloud flexibility &lt;/li&gt;    &lt;li&gt;30 000 engineers working on cloud services &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Microsoft’s Commitment to services excellence&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Financially backed uptime guarantees &lt;/li&gt;    &lt;li&gt;SAS 70 and ISO 27001 compliant &lt;/li&gt;    &lt;li&gt;carbon footprint innovation &lt;/li&gt;    &lt;li&gt;Rapid innovation model &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Office 2010 launch&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Some key features:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Ignore conversation – will remove current user from all future Distribution Lists emails and place related emails into the deleted folder &lt;/li&gt;    &lt;li&gt;Pictures of email recipient, from “My Site” show up in the bottom of compose email message      &lt;ul&gt;       &lt;li&gt;click on the picture and you see additional context from Facebook, LinkedIn and SharePoint &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;SharePoint 2010 Search –      &lt;ul&gt;       &lt;li&gt;refined search and meta data          &lt;ul&gt;           &lt;li&gt;filter by author, date and other meta data &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Specify content in links i.e. PowerPoint &lt;/li&gt;        &lt;li&gt;Preview slides before opening document &lt;/li&gt;        &lt;li&gt;People Search &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;PowerPoint over the web      &lt;ul&gt;       &lt;li&gt;high fidelity without the need of Live Meeting &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;SharePoint - My Site      &lt;ul&gt;       &lt;li&gt;status updates, similar to Facebook &lt;/li&gt;        &lt;li&gt;tagging competencies allows you to easily search and identify an expert in the related competency &lt;/li&gt;        &lt;li&gt;Post on “Note board’ – much like Facebook’s “wall” &lt;/li&gt;        &lt;li&gt;Enriched Org chart including pictures and metadata          &lt;ul&gt;           &lt;li&gt;surfaced using Silver Light &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Improved Blogging capabilities &lt;/li&gt;        &lt;li&gt;Tags and Notes          &lt;ul&gt;           &lt;li&gt;tag pretty much anything in SharePoint – blogs, documents which create a Tag Cloud &lt;/li&gt;            &lt;li&gt;follow tags via newsfeed &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Offline capabilities – use&amp;#160; SharePoint workspace &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;SharePoint 2010 wide scale adoption – early adopters include:      &lt;ul&gt;       &lt;li&gt;Global Crossing &lt;/li&gt;        &lt;li&gt;Sony &lt;/li&gt;        &lt;li&gt;Associated Press &lt;/li&gt;        &lt;li&gt;Six Flags &lt;/li&gt;        &lt;li&gt;Telus &lt;/li&gt;        &lt;li&gt;Constellation Energy &lt;/li&gt;        &lt;li&gt;Energizer &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;8.6 Million Beta Downloads &lt;/li&gt;    &lt;li&gt;80 % Beta users encouraged others to download &lt;/li&gt;    &lt;li&gt;450 Customers in early adoption program &lt;/li&gt;    &lt;li&gt;Edmonton Oilers (Professional Hockey) use SharePoint to collaborate on potentials players by aligning video with meta data and statistics&amp;#160; &lt;ul&gt;       &lt;li&gt;Player Dashboard &lt;/li&gt;        &lt;li&gt;Current prospects &lt;/li&gt;        &lt;li&gt;Player video page &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Oiler organization feels that SharePoint 2010 is very intuitive and straight forward to use      &lt;ul&gt;       &lt;li&gt;leverage messaging and collaboration features &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;1000 Microsoft Partners are developing SharePoint 2010 solutions &lt;/li&gt;    &lt;li&gt;20 000 Microsoft Partners partners trained &lt;/li&gt;    &lt;li&gt;500 000 developers are using SharePoint &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Microsoft Online Services&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Why Customers are embracing the cloud:&lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;Reduce CAPEX &amp;amp; OPEX &lt;/li&gt;      &lt;li&gt;Predictable &amp;amp; Pay per use subscriptions &lt;/li&gt;      &lt;li&gt;Focus on Market differentiation &lt;/li&gt;      &lt;li&gt;Energy Efficiency &lt;/li&gt;      &lt;li&gt;Latest versions with no server upgrades &lt;/li&gt;      &lt;li&gt;Choice, Flexibility and Resource Agility &lt;/li&gt;      &lt;li&gt;Merger, Acquisition and Divestitures &lt;/li&gt;      &lt;li&gt;Up and Running quickly &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;Interesting quote from a Gartner reference&amp;quot;:&lt;/p&gt;  &lt;p&gt;“By 2012, 20% of businesses will own no IT Assets”.&amp;#160; Quite frankly I have a hard time believing this statement.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Microsoft Azure data canters include: Chicago, San Antonio, Northern Virgina, Dublin, Amsterdam, Singapore&lt;/p&gt;  &lt;p&gt;No plans for Canada to have a data centre&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Concerns about privacy and laws due to provincial jurisdiction &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Customers moving to cloud&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;McDonalds &lt;/li&gt;    &lt;li&gt;Rexel &lt;/li&gt;    &lt;li&gt;Staples &lt;/li&gt;    &lt;li&gt;Eddie Bauer &lt;/li&gt;    &lt;li&gt;Phillips &lt;/li&gt;    &lt;li&gt;GlaxoSmithKline &lt;/li&gt;    &lt;li&gt;Blockbuster &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt; Microsoft Online Services&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;40 million Online paid seats &lt;/li&gt;    &lt;li&gt;more than 5oo government agencies &lt;/li&gt;    &lt;li&gt;Over 50% of the fortune 500 &lt;/li&gt;    &lt;li&gt;9000 business customers &lt;/li&gt; &lt;/ul&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3078460769226170088-6039355968709470386?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/6039355968709470386/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=6039355968709470386' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/6039355968709470386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/6039355968709470386'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2010/05/microsoft-canadian-leadership-summit.html' title='Microsoft Canadian Leadership Summit Day #1'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-3961326660662366350</id><published>2010-04-18T08:59:00.001-07:00</published><updated>2010-04-18T08:59:22.260-07:00</updated><title type='text'>BizTalk Adapter Pack 2.0 – Part 4 Sending XML IDocs to SAP</title><content type='html'>&lt;p&gt;When I started this series, I was more focused on the challenges that are involved with receiving XML IDocs and the schema versions that are&amp;#160; tightly coupled to the version of SAP that you generated them on.&amp;#160; In &lt;a href="http://kentweare.blogspot.com/2010/01/biztalk-adapter-pack-20-sap-adapter.html" target="_blank"&gt;Post 1&lt;/a&gt; we discussed how the SAP Adapter will use the DOCREL version that is provided by SAP and line this up with your schema forcing you to be in sync with SAP Upgrades.&amp;#160; I wanted to better understand the implications on the Send side so you will find some of my notes below. The story is a little better on the Send side when sending XML IDocs.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;When generating your XML IDoc schemas ensure that the RecieveIdoc Format = Typed. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/S8ssPA7b2JI/AAAAAAAABdY/6sS-UXqSKW0/s1600-h/image%5B3%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/S8ssQFhFM9I/AAAAAAAABdc/Rit-XdGTibw/image_thumb%5B1%5D.png?imgmax=800" width="421" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Since BizTalk will be sending IDocs to SAP, you want to select “Client (Outbound operations)” and ensure that your schema has a name of “Send”. &lt;/li&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/S8ssRGk9drI/AAAAAAAABdg/H_CLdtc6BbA/s1600-h/image%5B25%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/S8ssSLmZueI/AAAAAAAABdk/PNiEX5gDyLg/image_thumb%5B11%5D.png?imgmax=800" width="644" height="447" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;ul&gt;   &lt;li&gt;You still want to be aware of the version of SAP that you will be connecting to but it is not as important as when you are choosing to Receive an XML IDoc.&amp;#160; You are best off asking your BASIS admin what version you are on. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/S8ssTAuXz1I/AAAAAAAABdo/jBLzRtFdUZY/s1600-h/image%5B33%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/S8ssUGZXk3I/AAAAAAAABds/BmheHRsJ0T0/image_thumb%5B17%5D.png?imgmax=800" width="644" height="450" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;My initial test scenario was generating a ZCONF32 – 700 version of my IDoc.&amp;#160; The version of SAP that I am connecting to is 700 so everything should work correctly. &lt;/li&gt;    &lt;li&gt;As expected when I wired up my Receive Port to my Send Port, I am able to submit an IDoc to SAP successfully.&amp;#160; Something that I was interested in knowing was the namespace that was included in the context properties. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/S8ssU2GEnqI/AAAAAAAABdw/LS1y-wcQUmg/s1600-h/image%5B37%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/S8ssVjBZjiI/AAAAAAAABd0/KMp83ekO8eQ/image_thumb%5B19%5D.png?imgmax=800" width="644" height="107" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Something also to note is that when you import the Binding file, that was generated when you created your IDoc Schemas,&amp;#160; is the SOAP Action header configured in your send port.&amp;#160; You will notice that the Action includes the namespace for the Schema that was generated.&lt;/p&gt;  &lt;p&gt;&amp;lt;BtsActionMapping xmlns:xsi=&amp;quot;&lt;a href="http://www.w3.org/2001/XMLSchema-instance&amp;quot;"&gt;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;/a&gt; xmlns:xsd=&amp;quot;&lt;a href="http://www.w3.org/2001/XMLSchema&amp;quot;"&gt;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;/a&gt;&amp;gt;     &lt;br /&gt;&amp;#160; &amp;lt;Operation Name=&amp;quot;Send&amp;quot; Action=&amp;quot;&lt;a href="http://Microsoft.LobServices.Sap/2007/03/Idoc/3/CONF32/ZCONF32/700/Send&amp;quot;"&gt;http://Microsoft.LobServices.Sap/2007/03/Idoc/3/CONF32/ZCONF32&lt;font color="#ff0000"&gt;/700/&lt;/font&gt;Send&amp;quot;&lt;/a&gt; /&amp;gt;     &lt;br /&gt;&amp;lt;/BtsActionMapping&amp;gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;My next scenario included downloading schemas for version 710 of the IDoc(knowing that I am connecting to an SAP version that is set to version 700).&amp;#160; I updated my map to include this version of the schema. All of the “connection lines” in the mapper updated successfully which makes me think that there are no structural differences between these two versions – at least not with the data elements that I was trying to map. I redeployed the application and left the existing send port in tact.&amp;#160; I was prompted with a warning/error in the event viewer: &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Event Type:&amp;#160;&amp;#160;&amp;#160; Warning    &lt;br /&gt;Event Source:&amp;#160;&amp;#160;&amp;#160; BizTalk Server 2009     &lt;br /&gt;Event Category:&amp;#160;&amp;#160;&amp;#160; (1)     &lt;br /&gt;Event ID:&amp;#160;&amp;#160;&amp;#160; 5743     &lt;br /&gt;Date:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 4/18/2010     &lt;br /&gt;Time:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 8:50:45 AM     &lt;br /&gt;User:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; N/A     &lt;br /&gt;Computer:&amp;#160;&amp;#160;&amp;#160; BizTalkServer     &lt;br /&gt;Description:     &lt;br /&gt;The adapter failed to transmit message going to send port &amp;quot;SendSAPIDoc&amp;quot; with URL &amp;quot;sap://CLIENT=XXX;LANG=EN;@a/SAPSERVER/XX?RfcSdkTrace=False&amp;amp;AbapDebug=False&amp;quot;. It will be retransmitted after the retry interval specified for this Send Port. Details:&amp;quot;System.Xml.XmlException: Start element 'Send' from namespace '&lt;a href="http://Microsoft.LobServices.Sap/2007/03/Idoc/3/CONF32/ZCONF32/700/Send'"&gt;http://Microsoft.LobServices.Sap/2007/03/Idoc/3/CONF32/ZCONF32/700/Send'&lt;/a&gt; expected. Found element 'ns0:Send' from namespace '&lt;a href="http://Microsoft.LobServices.Sap/2007/03/Idoc/3/CONF32/ZCONF32/710/Send'"&gt;http://Microsoft.LobServices.Sap/2007/03/Idoc/3/CONF32/ZCONF32/710/Send'&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Server stack trace:    &lt;br /&gt;&amp;#160;&amp;#160; at System.ServiceModel.AsyncResult.End[TAsyncResult](IAsyncResult result)     &lt;br /&gt;&amp;#160;&amp;#160; at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.End(SendAsyncResult result)     &lt;br /&gt;&amp;#160;&amp;#160; at System.ServiceModel.Channels.ServiceChannel.EndCall(String action, Object[] outs, IAsyncResult result)     &lt;br /&gt;&amp;#160;&amp;#160; at System.ServiceModel.Channels.ServiceChannel.EndRequest(IAsyncResult result) &lt;/p&gt;  &lt;p&gt;Exception rethrown at [0]:    &lt;br /&gt;&amp;#160;&amp;#160; at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)     &lt;br /&gt;&amp;#160;&amp;#160; at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&amp;amp; msgData, Int32 type)     &lt;br /&gt;&amp;#160;&amp;#160; at System.ServiceModel.Channels.IRequestChannel.EndRequest(IAsyncResult result)     &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.RequestCallback(IAsyncResult result)&amp;quot;. &lt;/p&gt;  &lt;p&gt;For more information, see Help and Support Center at &lt;a href="http://go.microsoft.com/fwlink/events.asp"&gt;http://go.microsoft.com/fwlink/events.asp&lt;/a&gt;.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt; This error leads me to believe that the “magic” when sending XML IDocs is in the SOAP Action Header in the Send Port.&amp;#160; Upon updating the SOAP Action Header to reference the 710 version of the IDoc, I had success. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;lt;BtsActionMapping xmlns:xsi=&amp;quot;&lt;a href="http://www.w3.org/2001/XMLSchema-instance&amp;quot;"&gt;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;/a&gt; xmlns:xsd=&amp;quot;&lt;a href="http://www.w3.org/2001/XMLSchema&amp;quot;"&gt;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;/a&gt;&amp;gt;     &lt;br /&gt;&amp;#160; &amp;lt;Operation Name=&amp;quot;Send&amp;quot; Action=&amp;quot;&lt;a href="http://Microsoft.LobServices.Sap/2007/03/Idoc/3/CONF32/ZCONF32/710/Send&amp;quot;"&gt;http://Microsoft.LobServices.Sap/2007/03/Idoc/3/CONF32/ZCONF32&lt;font color="#ff0000"&gt;/710/&lt;/font&gt;Send&amp;quot;&lt;/a&gt; /&amp;gt;     &lt;br /&gt;&amp;lt;/BtsActionMapping&amp;gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;I checked the WE02 SAP Transaction and found that my IDoc was processed successfully as indicated by the green light. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/S8ssV2AA2UI/AAAAAAAABd4/cpKblg2KxEg/s1600-h/image%5B42%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/S8ssWezuNeI/AAAAAAAABd8/Q7RQ1XQe_io/image_thumb%5B22%5D.png?imgmax=800" width="644" height="20" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;What I am able to conclude from this exercise is that you are not bound by the version of DOCREL like you are when Receiving IDocs but rather by the structure of the IDoc itself.&amp;#160; I am pretty confident that you can update your SAP version without having to regenerate your schemas as long as the structure of the IDoc itself does not change.&amp;#160; This puts you in a similar risk category as using flat file schemas which I will discuss in the next post of this series.&amp;#160; Something that became evident is that the SOAP action header must match the version of the schema that you have generated.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3078460769226170088-3961326660662366350?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/3961326660662366350/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=3961326660662366350' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/3961326660662366350'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/3961326660662366350'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2010/04/biztalk-adapter-pack-20-part-4-sending.html' title='BizTalk Adapter Pack 2.0 – Part 4 Sending XML IDocs to SAP'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_KBYzYDwIZhw/S8ssQFhFM9I/AAAAAAAABdc/Rit-XdGTibw/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-5469384388363003158</id><published>2010-04-11T14:44:00.001-07:00</published><updated>2010-04-11T14:48:29.636-07:00</updated><title type='text'>BizTalk Adapter Pack 2.0 – Part 3 Receiving multiple Flat File IDocs using SAP Adapter</title><content type='html'>&lt;p&gt;In &lt;a href="http://kentweare.blogspot.com/2010/03/biztalk-adapter-pack-20-sap-adapter.html"&gt;Part 2&lt;/a&gt; of this series we discussed how you can receive IDocs from SAP in flat file format in order to avoid tight coupling with the version of SAP you are running as discussed in &lt;a href="http://kentweare.blogspot.com/2010/01/biztalk-adapter-pack-20-sap-adapter.html"&gt;Post 1&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;As I alluded to in the end of the Part 2 post, there is an issue when you include more than 1 IDoc schema in a Receive Pipeline that will be use the same Program ID and Receive location.&lt;/p&gt;  &lt;p&gt;The behavior that I experienced when working through this scenario is the first message in my pipeline would be processed successfully but the second type(Vacations) would not.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/S8JCkhpk0MI/AAAAAAAABcY/xjsMB53NwzQ/s1600-h/image3.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/S8JCloq8OpI/AAAAAAAABcc/pYhe9oNH2Cc/image_thumb1.png?imgmax=800" width="630" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;When I tried to process my 2nd type of IDoc (Employee Vacations) I would get the following error:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Event Type:&amp;#160;&amp;#160;&amp;#160; Error    &lt;br /&gt;Event Source:&amp;#160;&amp;#160;&amp;#160; BizTalk Server 2009     &lt;br /&gt;Event Category:&amp;#160;&amp;#160;&amp;#160; (1)     &lt;br /&gt;Event ID:&amp;#160;&amp;#160;&amp;#160; 5719     &lt;br /&gt;Date:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 4/11/2010     &lt;br /&gt;Time:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 10:10:49 AM     &lt;br /&gt;User:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; N/A     &lt;br /&gt;Computer:&amp;#160;&amp;#160;&amp;#160; *BizTalk Server*&lt;/p&gt;  &lt;p&gt;Description:    &lt;br /&gt;There was a failure executing the receive pipeline: &amp;quot;SAPVersions.ReceiveSAPIDocs, SAPVersions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=147585b889447deb&amp;quot; Source: &amp;quot;Flat file disassembler&amp;quot; Receive Port: &amp;quot;ReceiveIDocsFromSAP&amp;quot; URI: &amp;quot;sap://CLIENT=XX;LANG=EN;@a/SAPSERVER/XX?ListenerGwServ=sapgwXX&amp;amp;ListenerGwHost=SAPSERVERci&amp;amp;ListenerProgramId=*ProgramID*&amp;amp;RfcSdkTrace=False&amp;amp;AbapDebug=False&amp;quot; Reason: Unexpected data found while looking for:     &lt;br /&gt;'Z2HR_WS_SEG000'     &lt;br /&gt;The current definition being parsed is idocData. The stream offset where the error occured is 520. The line number where the error occurred is 2. The column where the error occured is 0. &lt;/p&gt;  &lt;p&gt;For more information, see Help and Support Center at &lt;a href="http://go.microsoft.com/fwlink/events.asp"&gt;http://go.microsoft.com/fwlink/events.asp&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;In the rest of the post I will discuss how you can fix this problem manually and then discuss the Hot Fix from Microsoft that addresses this situation.&amp;#160; I recommend proceeding with the Hot Fix route as it is a more sustainable solution.&amp;#160; The manual steps include modifying a schema that was generated by the Consume Adapter Service Wizard.&amp;#160; The risk is you can manually modify one of these schemas only to have a colleague regenerate the schema and overwrite your manual change.&amp;#160; If you do proceed with the Hot Fix route you will want to ensure any other developers that will be generating IDoc schemas are also using this Hot Fix.&amp;#160; I also want to highlight that this Hot Fix should be applied to developer’s workstations as this fix addresses a design time issue.&lt;/p&gt;  &lt;p&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Fixing issue manually&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Open up your schema that contains the “meat” of your IDoc information in an XML Editor view.&amp;#160; Whenever you generate&amp;#160; SAP IDoc schemas you are bound to have multiple XSD schemas created.&amp;#160; You can expect 1 IDoc that includes the various complex types, another that acts as the “Request” container IDoc, a Response xsd and the “meat” xsd which will include most of the “core” details of the schema. &lt;/li&gt;    &lt;li&gt;Scroll down until you find a section that includes tag_name=”EDI_DC40” tag_offset=&amp;quot;0&amp;quot; and replace it with tag_name=&amp;quot;ZHR_VAC&amp;quot; tag_offset=&amp;quot;39&amp;quot; where “ZHR_WS” is the name of your IDoc type. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/S8JCmHcqJcI/AAAAAAAABcg/RqXv0p6pI5Y/s1600-h/image31.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/S8JCmrd3LbI/AAAAAAAABck/xSYDF365I1o/image_thumb15.png?imgmax=800" width="644" height="121" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/S8JCm2IRsNI/AAAAAAAABco/GfUd4SGZY_o/s1600-h/image35.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/S8JCnRQP3sI/AAAAAAAABcs/OFvxSk3gvuM/image_thumb17.png?imgmax=800" width="644" height="120" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;What you will find as you open your schemas is that all of them will have this tag_name=&amp;quot;EDI_DC40&amp;quot; tag_offset=&amp;quot;0&amp;quot; string included in the IDoc which prevents BizTalk from distinguishing one IDoc from another. &lt;/li&gt;    &lt;li&gt;Once you have modified all IDocs in this fashion, redeploy and you should find that both(in my case) IDocs were processed successfully. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/S8JCnzxcSJI/AAAAAAAABcw/mG5O73MYqmM/s1600-h/image7.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/S8JCoe790iI/AAAAAAAABc0/rk3zqPSVj6k/image_thumb3.png?imgmax=800" width="644" height="103" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Fixing issue with HotFix&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;In &lt;a href="http://support.microsoft.com/kb/977528" target="_blank"&gt;KB977528&lt;/a&gt; Microsoft describes the issue as “This problem occurs because the first Flat file disassembler pipeline component in the custom pipeline tries to disassemble all the IDOCs that are received. However, the IDOCs should be processed by different Flat file disassembler components that have different schemas”. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;When using the HotFix, you download schemas the same way as you previously did &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/S8JCpOnCXjI/AAAAAAAABc4/U7pJSP8m_88/s1600-h/image7%5B1%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/S8JCqOVw6PI/AAAAAAAABc8/u-jhynDnTP8/image_thumb3%5B1%5D.png?imgmax=800" width="644" height="420" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Note when you open up the schema, you will now notice that the same change that we applied manually has now been incorporated into the schema definition automatically. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/S8JCqnotxzI/AAAAAAAABdA/1SPt7za17Xs/s1600-h/image%5B4%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/S8JCrVk8uOI/AAAAAAAABdE/v00ujDQ7NQs/image_thumb%5B1%5D.png?imgmax=800" width="644" height="300" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;If you have changed the name of you XSD files, make sure you update your receive pipeline, deploy and restart your host instance(s).&amp;#160; You should now be able to receive both types of flat file IDocs without issue &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/S8JCr6GoAnI/AAAAAAAABdI/vBa6QYpP9Uo/s1600-h/image%5B8%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/S8JCsueD4yI/AAAAAAAABdM/c6FdiXAS3us/image_thumb%5B3%5D.png?imgmax=800" width="644" height="103" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;My developer workstation is a 64 bit machine so when I navigated to the Hot Fix Web site it detected that my system was a 64 bit system and provided me with a 64 bit patch.&amp;#160; The problem is that Visual Studio runs in 32 bit mode and since this fix is a design time issue my issue was not resolved until I downloaded the 32 bit version of this KB.&amp;#160; I logged onto a 32 bit machine and navigate to the same site in order to get the 32 bit fix.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/S8JCsz5Hy9I/AAAAAAAABdQ/0mUU79JEPRc/s1600-h/image%5B12%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/S8JCuDJNvQI/AAAAAAAABdU/BxU8dbdX9rE/image_thumb%5B5%5D.png?imgmax=800" width="644" height="278" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Thus far we have been&amp;#160; focusing on receiving IDocs.&amp;#160; A reader has asked if I can demonstrate how to sent a flat file schema to SAP using the BizTalk Adapter Pack so that will be the next post in this series. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3078460769226170088-5469384388363003158?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/5469384388363003158/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=5469384388363003158' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/5469384388363003158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/5469384388363003158'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2010/04/biztalk-adapter-pack-20-sap-adapter.html' title='BizTalk Adapter Pack 2.0 – Part 3 Receiving multiple Flat File IDocs using SAP Adapter'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_KBYzYDwIZhw/S8JCloq8OpI/AAAAAAAABcc/pYhe9oNH2Cc/s72-c/image_thumb1.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-5864696819175794253</id><published>2010-03-14T22:11:00.001-07:00</published><updated>2010-03-14T22:11:06.321-07:00</updated><title type='text'>BizTalk Adapter Pack – SAP Binding ReceiveTimeout</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;One of the most important configurations to make inside a SAP Receive location is the “receiveTimeout” property.&amp;#160; The documentation describes this property as:&lt;/p&gt;  &lt;p&gt;“Specifies the WCF message receive timeout. Essentially, this means the maximum amount of time the adapter waits for an inbound message. The default is 10 minutes. &lt;/p&gt;  &lt;p&gt;&lt;img alt="Cc185372.Important(en-US,BTS.10).gif" src="http://i.msdn.microsoft.com/Cc185372.Important(en-US,BTS.10).gif" /&gt;Important &lt;/p&gt;  &lt;p&gt;For inbound operations such as receiving IDOCs, we recommend setting the timeout to the maximum possible value, which is 24.20:31:23.6470000 (24 days). When using the adapter with BizTalk Server, setting the timeout to a large value does not impact the functionality of the adapter.”&lt;/p&gt;  &lt;p&gt;The default value(10 minutes), is too short of a period for BizTalk to stop listening for messages from SAP.&amp;#160; For instance, if your organization has a weekly back up scheduled for SAP, it will likely take longer than 10 minutes.&amp;#160; The documentation indicates that there is no impact to using a large number so I am not sure why the default is only 10 minutes.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/S53BY7Gl7dI/AAAAAAAABcI/lFXklvx_dio/s1600-h/image%5B3%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/S53BZufXtDI/AAAAAAAABcM/Eh9nHyV0zgU/image_thumb%5B1%5D.png?imgmax=800" width="355" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Just to give a practical example of what you can expect when SAP goes down (either planned or unplanned) from a BizTalk perspective.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;SAP going down&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;Event Type:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Warning &lt;/p&gt;  &lt;p&gt;Event Source:&amp;#160;&amp;#160;&amp;#160; BizTalk Server 2009 &lt;/p&gt;  &lt;p&gt;Event Category:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (1) &lt;/p&gt;  &lt;p&gt;Event ID:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 5740 &lt;/p&gt;  &lt;p&gt;Date:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 3/13/2XXX &lt;/p&gt;  &lt;p&gt;Time:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 10:01:31 PM &lt;/p&gt;  &lt;p&gt;User:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; N/A &lt;/p&gt;  &lt;p&gt;Computer:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SERVER &lt;/p&gt;  &lt;p&gt;Description: &lt;/p&gt;  &lt;p&gt;The adapter &amp;quot;WCF-Custom&amp;quot; raised an error message. Details &amp;quot;The WCF service host at address sap://CLIENT=XXX;LANG=EN;@a/SAPServer/00?ListenerGwServ=SAPGateWay00&amp;amp;ListenerGwHost=SAPServer&amp;amp;ListenerProgramId=IDOC&amp;amp;RfcSdkTrace=False&amp;amp;AbapDebug=False has faulted and as a result no more messages can be received on the corresponding receive location. To fix the issue, BizTalk Server will automatically attempt to restart the service host.&amp;quot;. &lt;/p&gt;  &lt;p&gt;For more information, see Help and Support Center at &lt;a href="http://go.microsoft.com/fwlink/events.asp"&gt;http://go.microsoft.com/fwlink/events.asp&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Event Type:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Warning &lt;/p&gt;  &lt;p&gt;Event Source:&amp;#160;&amp;#160;&amp;#160; BizTalk Server 2009 &lt;/p&gt;  &lt;p&gt;Event Category:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (1) &lt;/p&gt;  &lt;p&gt;Event ID:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 5740 &lt;/p&gt;  &lt;p&gt;Date:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 3/13/2XXX &lt;/p&gt;  &lt;p&gt;Time:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 10:01:31 PM &lt;/p&gt;  &lt;p&gt;User:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; N/A &lt;/p&gt;  &lt;p&gt;Computer:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SERVER &lt;/p&gt;  &lt;p&gt;Description: &lt;/p&gt;  &lt;p&gt;The adapter &amp;quot;WCF-Custom&amp;quot; raised an error message. Details &amp;quot;Microsoft.Adapters.SAP.RFCException: Details: ErrorCode=RFC_FAILURE. AdapterErrorMessage=An exception has occurred on the listener while executing RfcWaitForRequest.. &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; at Microsoft.ServiceModel.Channels.Common.Design.AdapterAsyncResult.End() &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; at Microsoft.ServiceModel.Channels.Common.Channels.AdapterReplyChannel.EndTryReceiveRequest(IAsyncResult result, RequestContext&amp;amp; requestContext) &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; at Microsoft.Adapters.Internal.LayeredChannelBindingElement.LayeredInboundChannel`1.System.ServiceModel.Channels.IReplyChannel.EndTryReceiveRequest(IAsyncResult result, RequestContext&amp;amp; context) &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; at System.ServiceModel.Dispatcher.ReplyChannelBinder.EndTryReceive(IAsyncResult result, RequestContext&amp;amp; requestContext) &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; at System.ServiceModel.Dispatcher.ErrorHandlingReceiver.EndTryReceive(IAsyncResult result, RequestContext&amp;amp; requestContext)&amp;quot;. &lt;/p&gt;  &lt;p&gt;For more information, see Help and Support Center at &lt;a href="http://go.microsoft.com/fwlink/events.asp"&gt;http://go.microsoft.com/fwlink/events.asp&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Event Type:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Warning &lt;/p&gt;  &lt;p&gt;Event Source:&amp;#160;&amp;#160;&amp;#160; BizTalk Server 2009 &lt;/p&gt;  &lt;p&gt;Event Category:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (1) &lt;/p&gt;  &lt;p&gt;Event ID:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 5740 &lt;/p&gt;  &lt;p&gt;Date:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 3/13/2XXX &lt;/p&gt;  &lt;p&gt;Time:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 10:01:32 PM &lt;/p&gt;  &lt;p&gt;User:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; N/A &lt;/p&gt;  &lt;p&gt;Computer:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SERVER &lt;/p&gt;  &lt;p&gt;Description: &lt;/p&gt;  &lt;p&gt;The adapter &amp;quot;WCF-Custom&amp;quot; raised an error message. Details &amp;quot;The faulted WCF service host at address sap://CLIENT=XXX;LANG=EN;@a/SAPServer/00?ListenerGwServ=SAPGateWay00&amp;amp;ListenerGwHost=SAPServer&amp;amp;ListenerProgramId=IDOC&amp;amp;RfcSdkTrace=False&amp;amp;AbapDebug=False could not be restarted, and as a result no messages can be received on the corresponding receive location. BizTalk Server will continue trying to start the service host until it succeeds or the receive location is disabled. &lt;/p&gt;  &lt;p&gt;To fix the problem, you may choose to: &lt;/p&gt;  &lt;p&gt;1. Use the error information given to fix the problem. &lt;/p&gt;  &lt;p&gt;2. Restart the receive location. &lt;/p&gt;  &lt;p&gt;3. Keep waiting for BizTalk to recycle the service host. Another event will notify if the service host is successfully started. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;SAP coming back up&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;Event Type:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Information &lt;/p&gt;  &lt;p&gt;Event Source:&amp;#160;&amp;#160;&amp;#160; BizTalk Server 2009 &lt;/p&gt;  &lt;p&gt;Event Category:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (1) &lt;/p&gt;  &lt;p&gt;Event ID:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 8112 &lt;/p&gt;  &lt;p&gt;Date:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 3/13/2XXX &lt;/p&gt;  &lt;p&gt;Time:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 11:03:13 PM &lt;/p&gt;  &lt;p&gt;User:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; N/A &lt;/p&gt;  &lt;p&gt;Computer:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SERVER &lt;/p&gt;  &lt;p&gt;Description: &lt;/p&gt;  &lt;p&gt;The WCF service host at address sap://CLIENT=XXX;LANG=EN;@a/SAPServer/00?ListenerGwServ=SAPGateWay00&amp;amp;ListenerGwHost=SAPServer&amp;amp;ListenerProgramId=IDOC&amp;amp;RfcSdkTrace=False&amp;amp;AbapDebug=False was successfully restarted, therefore the associated receive location can now receive messages. &lt;/p&gt;  &lt;p&gt;For more information, see Help and Support Center at &lt;a href="http://go.microsoft.com/fwlink/events.asp"&gt;http://go.microsoft.com/fwlink/events.asp&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;You are now able to receive messages from SAP without any intervention.&amp;#160; Had we not set an appropriate ReceiveTimeout, the receive location would have still be down when SAP tried to push this IDoc to our system.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/S53BZ2VpFDI/AAAAAAAABcQ/DElGHeE0Dq8/s1600-h/image%5B7%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/S53BaW2KOxI/AAAAAAAABcU/ioQfL7_kQqk/image_thumb%5B3%5D.png?imgmax=800" width="644" height="32" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;You never want your middleware to be the cause of an outage so it is important to understand when your dependant servers/services have scheduled maintenance so that you can ensure that your application can sustain this downtime.&amp;#160; Configuring the ReceiveTimeout to an appropriate value will reduce the chance that BizTalk will be down due to someone else's maintenance window.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3078460769226170088-5864696819175794253?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/5864696819175794253/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=5864696819175794253' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/5864696819175794253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/5864696819175794253'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2010/03/biztalk-adapter-pack-sap-binding.html' title='BizTalk Adapter Pack – SAP Binding ReceiveTimeout'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_KBYzYDwIZhw/S53BZufXtDI/AAAAAAAABcM/Eh9nHyV0zgU/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-9198444123399367994</id><published>2010-03-14T21:40:00.001-07:00</published><updated>2010-03-14T21:40:18.384-07:00</updated><title type='text'>BizTalk Adapter Pack 2.0 – SAP Adapter IDoc Schema Versioning Part 2</title><content type='html'>&lt;p&gt;In my first &lt;a href="http://kentweare.blogspot.com/2010/01/biztalk-adapter-pack-20-sap-adapter.html"&gt;post&lt;/a&gt;, I discussed how the BizTalk Adapter pack Consume Adapter Service wizard tightly couples the IDoc schema version with the version of SAP that you used to generate the schema with.&amp;#160; The goal of this post is to discover how you can avoid this tight coupling and hopefully survive an SAP upgrade.&amp;#160; I know the organization that I work for would not be pleased with having to update all of our IDoc schemas when we do our next SAP Upgrade just because the version of SAP has been incremented.&lt;/p&gt;  &lt;p&gt;When the BizTalk Adapter Pack came out I was pretty excited that I could throw away my Flat File schemas and pipelines.&amp;#160; While true, it comes at a cost.&amp;#160; When using the XML Receive pipeline with the new Adapter, the Adapter will use data in the SAP Control record to determine what version of the message you retrieving from SAP and will assign a namespace to your message, that contains SAP version information, before depositing it in the message box. If have not changed your SAP version since generating your IDocs you are in business.&amp;#160; If you have upgraded your SAP system or have generated the wrong schemas for your SAP version then you will be in a lot of pain.&amp;#160; &lt;/p&gt;  &lt;p&gt;To get around this tight coupling issue, you can revert back to the old style of IDoc processing which involves flat files and pipelines.&amp;#160; Now there is nothing really wrong with this model, but it does require a few extra steps and is not as “clean” a solution as using the XML Receive pipeline.&lt;/p&gt;  &lt;p&gt;I will now take you through how you generate a flat file schema that can be used to process different versions of the same IDoc.&amp;#160; When I say different schemas this means that the version, and therefore namespace, are different but structurally the documents are the same.&amp;#160; Note that I will not go through all steps required to generate an IDoc schema, only those that are important to generate a Flat File schema.&amp;#160; To see a more comprehensive walk through of generating an IDoc schema, please see my &lt;a href="http://kentweare.blogspot.com/2009/07/biztalk-light-and-easy-viewing-series.html"&gt;Webcast&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;When using Consume Adapter Service wizard, ensure that “GenerateFlatFileCompatible” is set to true. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/S525wyUosTI/AAAAAAAABZ0/hxC6qPM-HKw/s1600-h/image%5B3%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/S525xg_I8iI/AAAAAAAABZ4/_Be6vWrJPl0/image_thumb%5B1%5D.png?imgmax=800" width="416" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;When you set the GenerateFlatFileCompatible property to true, you will now see the flat file specific data within the Schema specification.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/S525y0d_IeI/AAAAAAAABZ8/C0k9Iw_xguw/s1600-h/image%5B7%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/S5250ANgHtI/AAAAAAAABaA/sSiXQJVNC6E/image_thumb%5B3%5D.png?imgmax=800" width="644" height="435" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Without setting GenerateFlatFileCompatible ,&amp;#160; the schema will not contain this flat file information.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/S5250xd8fhI/AAAAAAAABaE/wsBIb2z1ITE/s1600-h/image%5B11%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/S5251qsCFBI/AAAAAAAABaI/7cv5b5ntZ6M/image_thumb%5B5%5D.png?imgmax=800" width="414" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/S5252sEAQxI/AAAAAAAABaM/y25vLLiAjqw/s1600-h/image%5B15%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/S5253taUsGI/AAAAAAAABaQ/NeOhrENriFs/image_thumb%5B7%5D.png?imgmax=800" width="644" height="430" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;You also want to indicate the “ReceiveIDocFormat” will be a String.&amp;#160; You will find out why this is important later on in this post. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/S5254ZwbzgI/AAAAAAAABaU/B8iLyFa43TI/s1600-h/image%5B33%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/S5255PiFrlI/AAAAAAAABaY/EcCk7nq89RY/image_thumb%5B19%5D.png?imgmax=800" width="422" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Once the schemas have been imported into Visual Studio, enable “Flat File Extensions” to the “core schema”.&amp;#160; When using the BizTalk Adapter Pack Consume Adapter Service wizard you will generate more than 1 schema unlike the old .Net Connector version where you would always only generate 1 schema.&amp;#160; By “core schema” I mean the one that contains the “meat” of your schema, not one that contains the shell(all of the imported schemas) or any of the base type schemas. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/S5255nscz3I/AAAAAAAABac/3Qp1vCjv4So/s1600-h/image%5B19%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/S5256nhBg-I/AAAAAAAABag/KaEGSWQ1LHg/image_thumb%5B9%5D.png?imgmax=800" width="644" height="319" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;You will now need to create a Receive Pipeline and add a Flat File disassembler &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/S5257RrI83I/AAAAAAAABak/8TcdXy26hz4/s1600-h/PipelineComponentDesigner%5B3%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="PipelineComponentDesigner" border="0" alt="PipelineComponentDesigner" src="http://lh3.ggpht.com/_KBYzYDwIZhw/S52575JS2uI/AAAAAAAABao/7zv7dtezq-w/PipelineComponentDesigner_thumb%5B1%5D.jpg?imgmax=800" width="644" height="461" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Add your “shell” schema to the document schema property &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/S5258-CjDTI/AAAAAAAABas/1FKWgB-O9s0/s1600-h/image%5B80%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/S525-HMR8kI/AAAAAAAABaw/pHHq9NtF9Ls/image_thumb%5B42%5D.png?imgmax=800" width="644" height="468" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Build and Deploy your application &lt;/li&gt;    &lt;li&gt;When configuring your SAP Receive location you will want to specify your Receive Pipeline as opposed to XML Receive &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/S525_GjK_WI/AAAAAAAABa0/0yepMoZs5io/s1600-h/image%5B37%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/S525_7IrzeI/AAAAAAAABa4/qPf_y_UQHEk/image_thumb%5B21%5D.png?imgmax=800" width="644" height="396" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;On the Binding tab, set the “ReceiveIdocFormat” to String &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/S526Aac-4bI/AAAAAAAABa8/_345yLAhDxk/s1600-h/image%5B41%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/S526BPeiJeI/AAAAAAAABbA/Q-7afiX83-4/image_thumb%5B23%5D.png?imgmax=800" width="471" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;On the Messages tab, provide an XPath expression that will extract the flat file data so it can be disassembled by the Receive Pipeline.&amp;#160; The XPath expression that I used is:      &lt;p&gt;/*[local-name()='ReceiveIdoc']/*[local-name()='idocData']&lt;/p&gt;      &lt;p&gt;The adapter is essentially wrapping this flat file in XML tags so that it can make it through the adapter stack as an XML message.&amp;#160; &lt;/p&gt;      &lt;p&gt;Also ensure the “Node encoding” is set to String as the default is “XML”&lt;/p&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/S526CPgLGfI/AAAAAAAABbE/yMZYWfhaXz8/s1600-h/image%5B45%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/S526C5Fn-NI/AAAAAAAABbI/VLROo6FQ0ZI/image_thumb%5B25%5D.png?imgmax=800" width="348" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Start your application and you are good to go &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Up until this point, I have not modified the namespace of my schema and everything worked well as expected &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/S526DQBAKuI/AAAAAAAABbQ/VVyoIIjJ0Yk/s1600-h/image%5B49%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/S526DyEaTiI/AAAAAAAABbU/iNHlTgNGcWw/image_thumb%5B27%5D.png?imgmax=800" width="644" height="191" /&gt;&lt;/a&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;However, the purpose of this post is to demonstrate how we can break away from the default namespaces that are generated by the adapter. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/S526EiyMWeI/AAAAAAAABbY/9tKfFoXqSf0/s1600-h/image%5B53%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/S526Ff6msKI/AAAAAAAABbc/La9a6IkUcj8/image_thumb%5B29%5D.png?imgmax=800" width="644" height="193" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Since I have redeployed the application, the message subscription have also been updated: &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/S526Fzw7xGI/AAAAAAAABbg/FlG6uvrMSkg/s1600-h/image%5B60%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/S526G3G2j3I/AAAAAAAABbk/HTcXae9yfm8/image_thumb%5B32%5D.png?imgmax=800" width="470" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Start your application up and it should function with this new namespace and therefore subscription. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The next test is to generate a different version of an SAP IDoc and ensure receiving a different version of the IDoc does not break our application.&amp;#160; If you recall from &lt;a href="http://kentweare.blogspot.com/2010/01/biztalk-adapter-pack-20-sap-adapter.html"&gt;Post 1&lt;/a&gt; we received an error in this situation.&amp;#160; From the Consume Adapter Service wizard, I am deliberately going to generate a schema that has a DOCREL&amp;#160; greater than my current SAP version. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/S526HKrLulI/AAAAAAAABbo/iQLZN8rIawg/s1600-h/image%5B64%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/S526IF0nzgI/AAAAAAAABbs/4RwV0QSL1uc/image_thumb%5B34%5D.png?imgmax=800" width="634" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;My subscription is updated and is looking for a “710” IDoc where as SAP is going to generate a      &lt;br /&gt;“700” IDoc &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/S526JMhabVI/AAAAAAAABbw/jWD3twABgW0/s1600-h/image%5B68%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/S526J5UbOEI/AAAAAAAABb0/UALBEjF2xWc/image_thumb%5B36%5D.png?imgmax=800" width="470" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;I received, processed and delivered the message downstream without issue &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/S526KpfYitI/AAAAAAAABb4/f7XmbhZ4yfA/s1600-h/image%5B72%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/S526LPRNmVI/AAAAAAAABb8/SueVu9HYSCM/image_thumb%5B38%5D.png?imgmax=800" width="644" height="75" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Even though SAP, populated the Control record with DOCREL = 700, I am able to process this message because this DOCREL is not being used to derive the target namespace like it is when you use the XML Receive pipeline.&amp;#160; This is really where the value of the Flat file pipeline comes in as it will use the namespace in the schema that is configured inside the pipeline instead of having the Adapter generate a namespace automatically.&amp;#160;&amp;#160; This also works as the structure of the 700 IDoc has not changed in the 710 IDoc.&amp;#160; If the structure of the IDoc changes with the version number then you have no other option than to regenerate your schemas.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/S526LmZsc6I/AAAAAAAABcA/VFACpqA_krQ/s1600-h/image%5B76%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/S526MVWJUeI/AAAAAAAABcE/j6zia34peoQ/image_thumb%5B40%5D.png?imgmax=800" width="523" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;strong&gt;Gotcha!&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;So everything is fine and dandy until you try to deploy another IDoc with the same Program Id/Partner Profile.&amp;#160; There is bug with the BizTalk Adapter Pack that prevents you from deploying multiple IDoc Flat File schemas with the same Program ID.&amp;#160; Look for a workaround with my next post in this series.&amp;#160; I should be able to turn that post around quicker than this one.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3078460769226170088-9198444123399367994?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/9198444123399367994/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=9198444123399367994' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/9198444123399367994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/9198444123399367994'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2010/03/biztalk-adapter-pack-20-sap-adapter.html' title='BizTalk Adapter Pack 2.0 – SAP Adapter IDoc Schema Versioning Part 2'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_KBYzYDwIZhw/S525xg_I8iI/AAAAAAAABZ4/_Be6vWrJPl0/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-4898376045390310721</id><published>2010-03-01T07:44:00.000-08:00</published><updated>2010-03-01T07:50:30.405-08:00</updated><title type='text'>Off Topic: Canada Wins....Mikael loses</title><content type='html'>During this past MVP summit there was an abundance of trash talk regarding Olympic Hockey.  Mikael Hakanssons and I made a Blog bet with the loser of the bet dedicating a post to the winning country.  As I am sure you have heard, Canada beat USA in overtime 3-2 on Sunday.  I will give Mikael credit for being a good sport even though he jumped on the USA bandwagon as soon as Sweden was eliminated.  You can find his post &lt;a href="http://blogical.se/blogs/mikael/archive/2010/03/01/so-i-lost-a-bet.aspx"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3078460769226170088-4898376045390310721?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/4898376045390310721/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=4898376045390310721' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/4898376045390310721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/4898376045390310721'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2010/03/off-topic-canada-winsmikael-loses.html' title='Off Topic: Canada Wins....Mikael loses'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-7138712607392942406</id><published>2010-02-27T09:34:00.001-08:00</published><updated>2010-02-27T09:34:50.117-08:00</updated><title type='text'>Consuming a BizTalk hosted WCF Service with InfoPath 2007</title><content type='html'>&lt;p&gt;I recently built a POC that wrapped an SAP RFC call in a WCF Service exposed by BizTalk. I exposed schemas as WCF services instead of opting for exposing the Orchestration as a WCF Service. The purpose of the Service was to validate a utility meter’s status inside of SAP.&amp;#160; Some of the statuses may include active/inactive/meter not found.&amp;#160; The RFC that I used is called RFC_Read_Table.&amp;#160; This is a pretty generic, out of box,&amp;#160; RFC that allows you to query SAP tables.&amp;#160; The RFC is fairly complex due to a lack of good documentation available.&amp;#160; Perhaps I am just not part of the secret SAP consultant’s club where you can actually get useful documentation.&amp;#160; I plan on documenting my findings in an upcoming post so that other people do not have to endure the pain I went through in order to get it working.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;One of the benefits of InfoPath is the ability to consume a web service (asmx).&amp;#160; I was pleasantly surprised that InfoPath can also consume &lt;u&gt;some&lt;/u&gt;&amp;#160; WCF endpoints(.svc).&amp;#160; The endpoint type that I exposed was based on the basicHttpbinding which happens to be one of the more interoperable bindings.&amp;#160; &lt;u&gt;At this point&lt;/u&gt;, the SOAP adapter has been identified as an Adapter that will be &lt;a href="http://msdn.microsoft.com/en-us/library/aa559720(BTS.10).aspx" target="_blank"&gt;removed&lt;/a&gt; in an upcoming release of BizTalk.&amp;#160; The idea behind this is that people should be moving to the WCF adapter.&amp;#160; There are some gaps between the SOAP and WCF adapter, which is outside the scope of this post, but my advice would be if you can use the WCF Adapter then you should.&amp;#160; If you cannot, due to a limitation, then you should provide this feedback to Microsoft so they can either enhance the WCF adapter or hold off on removing the SOAP adapter.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The InfoPath service consumption wizard is fairly straight forward with the exception of&amp;#160; “how the form works with the Web Service”.&amp;#160; The 3 options that you do have include:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Receive and submit data &lt;/li&gt;    &lt;li&gt;Submit data &lt;/li&gt;    &lt;li&gt;Receive data &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;When I think of a client consuming a Web Service, I think in terms of the client providing a Request message and the Server providing a Response.&amp;#160; With this in mind, I decided to use the “Submit data” option.&amp;#160; What I ran into is that I could submit data to my BizTalk Service, BizTalk would process the request and provide a response but nothing was being updated in my form.&amp;#160; I discovered that I needed to use the “Receive and submit data” option instead.&amp;#160; The description is counter intuitive as it implies I am receiving data first then I am submitting it.&amp;#160; Perhaps if Microsoft would have called this option “Submit and receive data” this would have been a little clearer.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;I have recently been teased by a few colleagues and friends about the amount of detail and screen shots that I have put in my blog posts.&amp;#160; At the risk of more torture,&amp;#160;&amp;#160; here is a step by step guide of how I got this all working.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Design a Form Template &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/S4lXMqPQ4cI/AAAAAAAABXg/4Zr38zJdI3Y/s1600-h/image%5B7%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/S4lXNkZk7iI/AAAAAAAABXk/TRyyj6GhDEs/image_thumb%5B3%5D.png?imgmax=800" width="594" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Select “Web Service'” and click OK &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/S4lXO14zgyI/AAAAAAAABXo/lCADhaLgGlQ/s1600-h/image%5B11%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/S4lXPxe4QiI/AAAAAAAABXs/U2kOiHz3uM0/image_thumb%5B5%5D.png?imgmax=800" width="644" height="400" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;If you want to submit data to a service and use the response data in your form, select “Receive and submit data'” &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/S4lXQ14sP3I/AAAAAAAABXw/7xr_BPddX7Y/s1600-h/image%5B3%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/S4lXRxotWCI/AAAAAAAABX0/N3OvG80Jd6w/image_thumb%5B1%5D.png?imgmax=800" width="644" height="441" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Provide the destination of your WSDL and click “Next” &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/S4lXSxEls7I/AAAAAAAABX4/NPowE5wT8iw/s1600-h/image%5B15%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/S4lXT4HxHiI/AAAAAAAABYA/uztDUTR6fp4/image_thumb%5B7%5D.png?imgmax=800" width="644" height="441" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The name of my operation is “ValidateMeter”, click “Next” &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/S4lXU-VRLjI/AAAAAAAABYE/QFgUF7UOdtg/s1600-h/image%5B19%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/S4lXV5A-ddI/AAAAAAAABYI/juh4lXw6lKk/image_thumb%5B9%5D.png?imgmax=800" width="644" height="441" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Thus far, the information that has been provided is related to the Web Service response so I have provided a name for this data connection that reflects this. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/S4lXW_eYQMI/AAAAAAAABYM/Vrp2ODZh1mQ/s1600-h/image%5B23%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/S4lXX8TZHaI/AAAAAAAABYQ/dadcfZwQ_N8/image_thumb%5B11%5D.png?imgmax=800" width="644" height="441" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Since I am submitting data to this same service, I need to provide the WSDL URL again. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/S4lXYmAlgWI/AAAAAAAABYU/gQxSL7n84iA/s1600-h/image%5B27%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/S4lXZ8QcX5I/AAAAAAAABYY/Uyq6mn28zaA/image_thumb%5B13%5D.png?imgmax=800" width="644" height="441" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Once again I need to provide the operation that I will be communicating with. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/S4lXarhq_wI/AAAAAAAABYc/DZwhD04WIHg/s1600-h/image%5B31%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/S4lXbiFHoFI/AAAAAAAABYg/pGT2xrXwDC0/image_thumb%5B15%5D.png?imgmax=800" width="644" height="441" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The “ValidateMeter” operation has a single input parameter.&amp;#160; I need to specify which field from the request schema will be sent to the Web Service.&amp;#160; To do this I want to click on the following button: &lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/S4lXcNyZe3I/AAAAAAAABYk/DhtCr_gwYlY/s1600-h/image%5B50%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/S4lXcaCe90I/AAAAAAAABYo/JGXkmb8FUaQ/image_thumb%5B26%5D.png?imgmax=800" width="24" height="24" /&gt;&lt;/a&gt;&amp;#160; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/S4lXdmmsazI/AAAAAAAABYs/KtkbfYEXsM8/s1600-h/image%5B35%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/S4lXficJdoI/AAAAAAAABYw/wEk0eGBMCxk/image_thumb%5B17%5D.png?imgmax=800" width="644" height="441" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Select the field from Schema &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/S4lXg5T7FRI/AAAAAAAABY0/bEUD5Aw3pKw/s1600-h/image%5B54%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/S4lXhhyERtI/AAAAAAAABY4/z9GuvEhwECU/image_thumb%5B28%5D.png?imgmax=800" width="417" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Click “Next” to proceed &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/S4lXjWbNyLI/AAAAAAAABY8/ABubjlzD6tg/s1600-h/image%5B58%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/S4lXlMlZvuI/AAAAAAAABZA/GhqkPgf3U8k/image_thumb%5B30%5D.png?imgmax=800" width="644" height="441" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;I now need to provide a name for this data connection &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/S4lXmEaFnbI/AAAAAAAABZE/yiodw6nEWMM/s1600-h/image%5B62%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/S4lXnAGfCRI/AAAAAAAABZI/Xz-eQDMxsK4/image_thumb%5B32%5D.png?imgmax=800" width="644" height="441" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;At this point I have a blank canvas and I also have the ability to start dragging and dropping fields from my Web Service Request and Response schemas onto the canvas. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/S4lXn7ctb4I/AAAAAAAABZM/mS42f0TvECs/s1600-h/image%5B66%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/S4lXo07cOjI/AAAAAAAABZQ/Uh3-h5kMMnI/image_thumb%5B34%5D.png?imgmax=800" width="644" height="386" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;I have expanded, the “queryFields” node and have dragged the “MeterNumber” element onto the canvas.&amp;#160; If you recall the value that will be populated in this field will be sent as part of the Request message to the ValidateMeter Service. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/S4lXpYlGr8I/AAAAAAAABZU/xYzuzPyW8v8/s1600-h/image%5B72%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/S4lXqCUiqII/AAAAAAAABZY/f1qDyHOfwKY/image_thumb%5B38%5D.png?imgmax=800" width="631" height="287" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;When BizTalk provides the response from SAP, I want to display this value on the form.&amp;#160; In order to do this, I need to expand the “dataFields” node and select “MeterStatus” from the Web Service Response schema. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/S4lXqumn_CI/AAAAAAAABZc/uiXwYzyXqe4/s1600-h/image%5B76%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/S4lXrct0M2I/AAAAAAAABZg/1mBGPoOYw68/image_thumb%5B40%5D.png?imgmax=800" width="644" height="294" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;To test my form, I can click on the “Preview” button &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/S4lXr9GhCnI/AAAAAAAABZk/Q9hNEeGNork/s1600-h/image%5B80%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/S4lXtOodNJI/AAAAAAAABZo/mbTyFJ_GySs/image_thumb%5B42%5D.png?imgmax=800" width="644" height="270" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;I can now provide a Meter Number and click the “Run Query” button.&amp;#160; Within a couple seconds I will see my Meter Status text get populated.&amp;#160; In this particular instance, the Meter Number 123456 does not exist so the Meter Status text box is updated to reflects this. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/S4lXtlsQHII/AAAAAAAABZs/6YI6TA_Eqso/s1600-h/image%5B84%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/S4lXuCp2EjI/AAAAAAAABZw/cSjXP36FVXI/image_thumb%5B44%5D.png?imgmax=800" width="418" height="484" /&gt;&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/3078460769226170088-7138712607392942406?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/7138712607392942406/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=7138712607392942406' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/7138712607392942406'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/7138712607392942406'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2010/02/consuming-biztalk-hosted-wcf-service.html' title='Consuming a BizTalk hosted WCF Service with InfoPath 2007'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_KBYzYDwIZhw/S4lXNkZk7iI/AAAAAAAABXk/TRyyj6GhDEs/s72-c/image_thumb%5B3%5D.png?imgmax=800' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-3645060966375476877</id><published>2010-02-26T15:10:00.001-08:00</published><updated>2010-02-26T15:25:31.956-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BizTalk Mapper'/><title type='text'>BizTalk 2009: BizTalk Mapper - get value from last node</title><content type='html'>I ran into a situation where I needed to get the last value from a re-occurring node that SAP was returning.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_KBYzYDwIZhw/S4hV6bCv7JI/AAAAAAAABXI/7919bMlBQpE/s1600-h/LastNode.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5442694611857304722" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 114px; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_KBYzYDwIZhw/S4hV6bCv7JI/AAAAAAAABXI/7919bMlBQpE/s400/LastNode.JPG" border="0" /&gt;&lt;/a&gt; &lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;In order to extract the last record, I utilized the &lt;strong&gt;Record Count &lt;/strong&gt;functoid and fed that value into the &lt;strong&gt;Index&lt;/strong&gt; functoid. The &lt;strong&gt;Index&lt;/strong&gt; functoid is also fed with the value from the "WA" element that I am really interested in. The result is then passed to a &lt;strong&gt;String Concatenate&lt;/strong&gt; functoid where the data is enriched before being assigned to the destination document.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://3.bp.blogspot.com/_KBYzYDwIZhw/S4hWdzuBwsI/AAAAAAAABXQ/8PeUEFGnkEc/s1600-h/mapper.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5442695219776701122" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 267px; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_KBYzYDwIZhw/S4hWdzuBwsI/AAAAAAAABXQ/8PeUEFGnkEc/s400/mapper.JPG" border="0" /&gt;&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/3078460769226170088-3645060966375476877?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/3645060966375476877/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=3645060966375476877' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/3645060966375476877'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/3645060966375476877'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2010/02/biztalk-2009-biztalk-mapper-get-value.html' title='BizTalk 2009: BizTalk Mapper - get value from last node'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_KBYzYDwIZhw/S4hV6bCv7JI/AAAAAAAABXI/7919bMlBQpE/s72-c/LastNode.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-6706280757955172223</id><published>2010-01-19T22:13:00.001-08:00</published><updated>2010-03-14T21:40:44.572-07:00</updated><title type='text'>BizTalk Adapter Pack 2.0 – SAP Adapter IDoc Schema Versioning Part 1</title><content type='html'>&lt;p&gt;A colleague and I have been working through some anomalies when it comes to SAP IDoc schemas that were generated using the BizTalk Adapter Pack 2.0 SAP Adapter. This is the adapter which is based upon WCF and NOT the .Net Connector based adapter.&lt;/p&gt;&lt;p&gt;When you go to generate an IDoc using the Consume Adapter Service wizard in Visual Studio, you will be presented with a screen like this.  You will most likely have a few options when selecting an IDoc and version to use.  To be sure that you have selected the right version of IDoc, you should contact your BASIS admin.&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/S1afDQ-sw-I/AAAAAAAABWo/I0effgUx-Tg/s1600-h/image%5B3%5D.png"&gt;&lt;img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/S1afD7hSizI/AAAAAAAABWs/bMXzgs5c7Qg/image_thumb%5B1%5D.png?imgmax=800" width="644" height="246" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;As you select different versions of IDocs, notice that the Node ID changes. This Node ID will soon become your Target Namespace in the XSD schema that you are about to generate.&lt;/p&gt;&lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/S1afEjs1BII/AAAAAAAABWw/UuYYFMK__Xo/s1600-h/image%5B11%5D.png"&gt;&lt;img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/S1afFd5QNXI/AAAAAAAABW0/Z7r3mBxGwW0/image_thumb%5B7%5D.png?imgmax=800" width="632" height="344" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;This Target Namespace is very important since BizTalk uses the Target Namespace and root node to determine subscriptions. &lt;/p&gt;&lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/S1afGLbGR-I/AAAAAAAABW4/dkUtwbxgrKg/s1600-h/image%5B23%5D.png"&gt;&lt;img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/S1afG9EoI7I/AAAAAAAABW8/E2u9LqZJIY4/image_thumb%5B15%5D.png?imgmax=800" width="471" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;If you have chosen the wrong version of IDoc you will soon know.  You will receive a subscription error indicating that you have received a message that BizTalk does not have a Schema for.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;em&gt;Event Type: Error&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Event Source: BizTalk Server 2009&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Event Category: BizTalk Server 2009 &lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Event ID: 5719&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Date: 1/17/2010&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Time: 1:54:31 PM&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;User: N/A&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Computer: Server&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Description:&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;There was a failure executing the receive pipeline: "Microsoft.BizTalk.DefaultPipelines.XMLReceive, Microsoft.BizTalk.DefaultPipelines, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Source: "XML disassembler" Receive Port: "WcfReceivePort_SAPBinding_IdocZHR_KPV3R710_Custom" URI: "sap://CLIENT=XXX;LANG=EN;@a/SAPSERVER/XX?ListenerGwServ=SAPGWXX&amp;amp;ListenerGwHost=SAPSEVER&amp;amp; ListenerProgramId=XXXXXX&amp;amp;RfcSdkTrace=False&amp;amp;AbapDebug=False" Reason: Finding the document specification by message type "&lt;span style="color:#ff0000;"&gt;http://Microsoft.LobServices.Sap/2007/03/Idoc/3/ZHR_KP//700/Receive#Receive&lt;/span&gt;" failed. Verify the schema deployed properly. &lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;If you refer to the first image in this blog post, you will see that the Node Id has a value of &lt;span style="color:#ff0000;"&gt;&lt;a href="http://microsoft.lobservices.sap/2007/03/Idoc/3/ZHR_KP//710/Receive#Receive"&gt;http://Microsoft.LobServices.Sap/2007/03/Idoc/3/ZHR_KP//&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;710&lt;/span&gt;&lt;/strong&gt;/Receive#Receive&lt;/a&gt; &lt;span style="color:#000000;"&gt;where as BizTalk has received an IDoc with a Namespace of &lt;span style="color:#ff0000;"&gt;&lt;a href="http://microsoft.lobservices.sap/2007/03/Idoc/3/ZHR_KP//700/Receive#Receive"&gt;http://Microsoft.LobServices.Sap/2007/03/Idoc/3/ZHR_KP//&lt;span style="color:#ff0000;"&gt;&lt;strong&gt;700&lt;/strong&gt;&lt;/span&gt;/Receive#Receive&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;.  So how can this be?  SAP by default generates an IDoc based upon the current release version.  But you also have the ability to send a specific IDoc version as configured in the SAP Program ID. This provides some flexibility in the event you need to use a legacy IDoc version. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#000000;"&gt;When SAP sends an IDoc out, it will populate this version information in the control record.  I have turned on tracking on the receive port and as you can see this information has been populated by SAP.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/S1afHmrlStI/AAAAAAAABXA/1pqt4jjF7XY/s1600-h/image%5B19%5D.png"&gt;&lt;img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/S1afIBKcypI/AAAAAAAABXE/nGjUlGK6qUk/image_thumb%5B13%5D.png?imgmax=800" width="644" height="466" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Since I am using an XML Receive pipeline and SAP has no idea what namespace BizTalk is requiring, the SAP Adapter is generating this namespace at run-time based upon the DOCREL and IDOC_VERSION elements.&lt;/p&gt;&lt;p&gt;The lesson here is to make sure you know what version of the IDoc is currently configured with your Program Id within SAP.  I must also caution that while this approach does work, it may not live through your next SAP upgrade.  At least not without updating your BizTalk projects.  With each SAP major release, you can expect this DOCREL value and potentially the IDOC_Version to increase.  So the next time you upgrade your SAP environment, you may get into the same situation that I have described(subscription errors) and it may take some significant refactoring to get your BizTalk schemas and maps back in sync with your SAP version.  &lt;/p&gt;&lt;p&gt;In the next &lt;a href="http://kentweare.blogspot.com/2010/03/biztalk-adapter-pack-20-sap-adapter.html"&gt;post &lt;/a&gt;of this series, I will discuss how you can use a Receive Pipeline and Flat File Pipeline Disassembler to override this namespace so that it does not become dependant upon the DOCREL and IDOC_VERSION elements…stay tuned.&lt;/p&gt;&lt;p&gt;&lt;span style="color:#ff0000;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3078460769226170088-6706280757955172223?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/6706280757955172223/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=6706280757955172223' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/6706280757955172223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/6706280757955172223'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2010/01/biztalk-adapter-pack-20-sap-adapter.html' title='BizTalk Adapter Pack 2.0 – SAP Adapter IDoc Schema Versioning Part 1'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_KBYzYDwIZhw/S1afD7hSizI/AAAAAAAABWs/bMXzgs5c7Qg/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-2653746290903595389</id><published>2010-01-16T14:14:00.001-08:00</published><updated>2010-01-16T14:14:36.191-08:00</updated><title type='text'>ShareTalk Integration (SharePoint/BizTalk) – Part 10 Adding Metadata to SharePoint columns in a messaging only solution</title><content type='html'>&lt;p&gt;I had a requirement where I needed to upload images to a SharePoint library and use the information from the image filename to populate columns within the document library. Performing these tasks within an orchestration is pretty trivial as you can set context properties in a Message Assignment shape that will drive the behavior of the WSS Adapter.&amp;#160; I couldn’t justify performing these tasks in an Orchestration since it would involve an extra hop to the MessageBox in order for Orchestration to be invoked.&lt;/p&gt;  &lt;p&gt;Another option is to do all of this work in a Pipeline component.&amp;#160; I can create&amp;#160; a Send Port subscription that would allow me to access the context properties from the message received and update them to include the WSS properties all within in a pipeline. This would allow the solution to become a pure messaging solution and I can save an extra Message Box hop.&amp;#160; When building this solution, I referenced Saravana Kumar’s &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=8C2572A2-FB61-4016-A7A7-1C37518B39FF&amp;amp;displaylang=en" target="_blank"&gt;white paper&lt;/a&gt; on Pipeline Components.&amp;#160; It came in handy,&amp;#160; especially in the area of creating the Design time pipeline properties. &lt;/p&gt;  &lt;p&gt;Within the Pipeline Component, the first thing that I wanted to to was retrieve the source file name.&amp;#160; I am able to do this by reading the “ReceivedFileName” property from the File Adapter’s context properties. I then wanted to clean this file name up since the value of this property includes the entire UNC path: &lt;a href="file://\\Servery\RootFolder\SubFolder\filename.jpg"&gt;\\Servery\RootFolder\SubFolder\filename.jpg&lt;/a&gt;.&amp;#160; I have written some utility methods to parse the file name from this long string.&lt;/p&gt;  &lt;p&gt;There are 3 parts to the image file name(1213455_NEW_20100110120000.jpg) that I am particularly interested in.&amp;#160; They include an Asset Number, Asset State and the Date/Time that the image was taken.&amp;#160; The scenario itself is a field worker who needs to capture an image of an asset, indicate the Asset Number and its state i.e. New/Old.&amp;#160; This information is then captured in the name of the image.&amp;#160; Since it is an image, there is no other reasonable way to store this meta data outside the file name.&amp;#160; This in itself is the reason why I need to to use a pipeline component.&amp;#160; Standard WSS adapter functionality includes the ability to use XPATH statements to extract data from the message payload and populate a SharePoint document library column.&amp;#160; &lt;/p&gt;  &lt;p&gt;Once I have captured this meta data and massaged it to my liking, I want to then provide this context data to the WSS Adapter.&amp;#160; The WSS adapter is a little different than most of the other adapters in that you can populate an XML document and push that into the ConfigPropertiesXml context property.&amp;#160; The document structure itself is a flat XML structure that uses a “key-value” convention.&lt;/p&gt; &amp;lt;ConfigPropertiesXml&amp;gt;&amp;lt;PropertyName1&amp;gt;&lt;font color="#ff0000"&gt;Column 1 Name&lt;/font&gt;&amp;lt;/PropertyName1&amp;gt;&amp;lt;PropertySource1&amp;gt;&lt;font color="#ff0000"&gt;Column 1 Value&lt;/font&gt;&amp;lt;/PropertySource1&amp;gt;&amp;lt;PropertyName2&amp;gt;&lt;font color="#ff0000"&gt;Column 2 Name&lt;/font&gt;&amp;lt;/PropertyName2&amp;gt;&amp;lt;PropertySource2&amp;gt;&lt;font color="#ff0000"&gt;Column 2 Value&lt;/font&gt;&amp;lt;/PropertySource2&amp;gt;&amp;lt;PropertyName3&amp;gt;&lt;font color="#ff0000"&gt;Column 3 Name&lt;/font&gt;&amp;lt;/PropertyName3&amp;gt;&amp;lt;PropertySource3&amp;gt;&lt;font color="#ff0000"&gt;Column 3 Value&lt;/font&gt;&amp;lt;/PropertySource3&amp;gt;&amp;lt;/ConfigPropertiesXml&amp;gt;   &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;I also want to populate the WSS Adapter’s Filename context property.&amp;#160; I can achieve this by the following statement:&lt;/p&gt; pInMsg.Context.Write(&amp;quot;Filename&amp;quot;,   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;&lt;a href="http://schemas.microsoft.com/BizTalk/2006/WindowsSharePointServices-properties&amp;quot;"&gt;http://schemas.microsoft.com/BizTalk/2006/WindowsSharePointServices-properties&amp;quot;&lt;/a&gt;, ImageFileName);   &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Below is my Execute method, in my pipeline component, where all of this processing takes place.&amp;#160; You can download the entire sample &lt;a href="http://cid-db51ef47e2bb432a.skydrive.live.com/self.aspx/.Public/SharePointMetaData.zip" target="_blank"&gt;here&lt;/a&gt;.&amp;#160; &lt;em&gt;This code is at a proof of concept stage so you will want to evaluate your own error handling requirements. Use at your own risk.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;public IBaseMessage Execute(IPipelineContext pContext, IBaseMessage pInMsg)    &lt;br /&gt;{     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; //Get received file name by retrieving it from Context     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; string FilePath = pInMsg.Context.Read(&amp;quot;ReceivedFileName&amp;quot;, &amp;quot;&lt;a href="http://schemas.microsoft.com/BizTalk/2003/file-properties&amp;quot;)"&gt;http://schemas.microsoft.com/BizTalk/2003/file-properties&amp;quot;)&lt;/a&gt; as string; &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; //strip path from filename    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; string ImageFileName = GetFileNameFromPath(FilePath); &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; //Utility methods to parse filename    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; string msgAssetNumber = GetAssetNumberFromFileName (ImageFileName);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; string msgAssetState = GetAssetStateFromFileName(ImageFileName);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; string msgImageDateTime = GetImageDateFromFileName(ImageFileName); &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; //Write desired file name to context of WSS Adapter    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; pInMsg.Context.Write(&amp;quot;Filename&amp;quot;,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;&lt;a href="http://schemas.microsoft.com/BizTalk/2006/WindowsSharePointServices-properties&amp;quot;"&gt;http://schemas.microsoft.com/BizTalk/2006/WindowsSharePointServices-properties&amp;quot;&lt;/a&gt;, ImageFileName); &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; // Populate Document Library Columns with values from file name    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; string strWSSConfigPropertiesXml = string.Format(&amp;quot;&amp;lt;ConfigPropertiesXml&amp;gt;&amp;lt;PropertyName1&amp;gt;{0}&amp;lt;/PropertyName1&amp;gt;&amp;lt;PropertySource1&amp;gt;{1}&amp;lt;/PropertySource1&amp;gt;&amp;quot; +     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;&amp;lt;PropertyName2&amp;gt;{2}&amp;lt;/PropertyName2&amp;gt;&amp;lt;PropertySource2&amp;gt;{3}&amp;lt;/PropertySource2&amp;gt;&amp;lt;PropertyName3&amp;gt;{4}&amp;lt;/PropertyName3&amp;gt;&amp;lt;PropertySource3&amp;gt;{5}&amp;lt;/PropertySource3&amp;gt;&amp;lt;/ConfigPropertiesXml&amp;gt;&amp;quot;,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; this.AssetNumber,msgAssetNumber,this.AssetState,msgAssetState,this.ImageDateTime,msgImageDateTime); &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; pInMsg.Context.Write(&amp;quot;ConfigPropertiesXml&amp;quot;, &amp;quot;&lt;a href="http://schemas.microsoft.com/BizTalk/2006/WindowsSharePointServices-properties&amp;quot;"&gt;http://schemas.microsoft.com/BizTalk/2006/WindowsSharePointServices-properties&amp;quot;&lt;/a&gt;, strWSSConfigPropertiesXml);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; return pInMsg;     &lt;br /&gt;}&lt;/p&gt;  &lt;p&gt;A feature that I wanted to provide is the ability to provide the SharePoint column names at configuration time.&amp;#160; I didn’t want to have to compile code if the SharePoint team wanted to change a column name.&amp;#160; So this is driven from the pipeline configuration editor.&amp;#160; The values that you provide (on the right hand side) will set the column names in the ConfigPropertiesXml property that is established at run time.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/S1I6OsyPCAI/AAAAAAAABWI/wz5vrAvHyuQ/s1600-h/image%5B3%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/S1I6PufwlpI/AAAAAAAABWM/X7d0d1S50k8/image_thumb%5B1%5D.png?imgmax=800" width="474" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;If you provide a value in this configuration that does not correspond to a column in SharePoint, you will get a warning/error on the Send Port.&lt;/p&gt;  &lt;p&gt;Event Type:&amp;#160;&amp;#160;&amp;#160; Warning    &lt;br /&gt;Event Source:&amp;#160;&amp;#160;&amp;#160; BizTalk Server 2009     &lt;br /&gt;Event Category:&amp;#160;&amp;#160;&amp;#160; (1)     &lt;br /&gt;Event ID:&amp;#160;&amp;#160;&amp;#160; 5743     &lt;br /&gt;Date:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 1/10/2010     &lt;br /&gt;Time:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 7:38:19 PM     &lt;br /&gt;User:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; N/A     &lt;br /&gt;Computer:&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;Description:     &lt;br /&gt;The adapter failed to transmit message going to send port &amp;quot;SendDocToSharePoint&amp;quot; with URL &amp;quot;wss://SERVER/sites/BizTalk%%20Repository/Inbound%%20Documents&amp;quot;. It will be retransmitted after the retry interval specified for this Send Port. Details:&amp;quot;The Windows SharePoint Services adapter Web service encountered an error accessing column &amp;quot;Missing Column&amp;quot; in document library &lt;a href="http://SERVER/sites/BizTalk%%20Repository/Inbound%%20Documents"&gt;http://SERVER/sites/BizTalk%%20Repository/Inbound%%20Documents&lt;/a&gt;. The column does not exist. The following error was encountered: &amp;quot;Value does not fall within the expected range.&amp;quot;. &lt;/p&gt;  &lt;p&gt;This error was triggered by the Windows SharePoint Services receive location or send port with URI wss://SERVER/sites/BizTalk Repository/Inbound Documents. &lt;/p&gt;  &lt;p&gt;Windows SharePoint Services adapter event ID: 12295&amp;quot;. &lt;/p&gt;  &lt;p&gt;For more information, see Help and Support Center at &lt;a href="http://go.microsoft.com/fwlink/events.asp"&gt;http://go.microsoft.com/fwlink/events.asp&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The end result is that I can use information contained in the file name to populate meta data columns in SharePoint without an Orchestration.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/S1I6QPlknmI/AAAAAAAABWQ/3kxIQEBGvrs/s1600-h/image%5B7%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/S1I6QbXKnAI/AAAAAAAABWU/1jSOlBwB68Y/image_thumb%5B3%5D.png?imgmax=800" width="644" height="112" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Also note, I have built this pipeline component so that it can be used in a Receive Pipeline or as Send Pipeline by including the CATID_Decoder and CATID_Encoder attributes.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; [ComponentCategory(CategoryTypes.CATID_PipelineComponent)]    &lt;br /&gt;&lt;font color="#ff0000"&gt;&amp;#160;&amp;#160; [ComponentCategory(CategoryTypes.CATID_Decoder)]      &lt;br /&gt;&amp;#160;&amp;#160; [ComponentCategory(CategoryTypes.CATID_Encoder)]&lt;/font&gt;     &lt;br /&gt;&amp;#160;&amp;#160; [System.Runtime.InteropServices.Guid(&amp;quot;9d0e4103-4cce-4536-83fa-4a5040674ad6&amp;quot;)]     &lt;br /&gt;&amp;#160;&amp;#160; public class AddSharePointMetaData : IBaseComponent, IComponentUI, IComponent, IPersistPropertyBag&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/S1I6Q06ZGfI/AAAAAAAABWY/IYRIb0SKZPY/s1600-h/image%5B11%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/S1I6R759e2I/AAAAAAAABWc/nMmh4N_HMio/image_thumb%5B5%5D.png?imgmax=800" width="644" height="425" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/S1I6SNd_c3I/AAAAAAAABWg/hHDR57GFkig/s1600-h/image%5B18%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/S1I6S7PqaXI/AAAAAAAABWk/JiS86F40iJg/image_thumb%5B10%5D.png?imgmax=800" width="520" height="772" /&gt;&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/3078460769226170088-2653746290903595389?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/2653746290903595389/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=2653746290903595389' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/2653746290903595389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/2653746290903595389'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2010/01/sharetalk-integration-sharepointbiztalk_16.html' title='ShareTalk Integration (SharePoint/BizTalk) – Part 10 Adding Metadata to SharePoint columns in a messaging only solution'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_KBYzYDwIZhw/S1I6PufwlpI/AAAAAAAABWM/X7d0d1S50k8/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-1169198316017790772</id><published>2010-01-10T12:23:00.001-08:00</published><updated>2010-01-10T12:23:29.248-08:00</updated><title type='text'>ShareTalk Integration (SharePoint/BizTalk) – Part 9 Overwrite - Rename Mode</title><content type='html'>&lt;p&gt;While further investigating SharePoint-BizTalk integration capabilities I ran into a file overwrite mode called “Rename” which I thought was rather unique.&amp;#160; I have never seen something like this in the FILE or FTP adapters so I figured that I would post something on it.&lt;/p&gt;  &lt;p&gt;The WSS Adapter has an Overwrite property&amp;#160; that allows you select one of the following modes:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/S0o3NQI6zPI/AAAAAAAABVw/ThVeUCD6E8I/s1600-h/image%5B7%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/S0o3OHTrjEI/AAAAAAAABV0/R3FU6k5LKxY/image_thumb%5B3%5D.png?imgmax=800" width="644" height="158" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The Yes and No values are pretty self explanatory.&amp;#160; Orchestration allows you to determine which mode you want to set&amp;#160; within an Orchestration at run time.&lt;/p&gt;  &lt;p&gt;When you select the Rename value, BizTalk will use the static file name that you have configured in the Send Port configuration or the actual file name of the source document.&amp;#160; If the document library does not contain a file with this name already, it will be added with the correct filename.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/S0o3OQvBQHI/AAAAAAAABV4/erRupNtSfQ0/s1600-h/image%5B3%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/S0o3PBbmmjI/AAAAAAAABV8/mKS_ZiYm3_Y/image_thumb%5B1%5D.png?imgmax=800" width="644" height="247" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Where it gets interesting is when you try to insert a file with the same file name as one that already exists in the same document library.&amp;#160; When this situation occurs the first portion of the file name will remain intact, however a unique identifier will be added to the end of the filename.&amp;#160; BizTalk &lt;u&gt;will not&lt;/u&gt; raise a warning or error indicating that this event has occurred.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/S0o3PtTfzjI/AAAAAAAABWA/O6QNa-zXNi8/s1600-h/image%5B15%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/S0o3QAjG7NI/AAAAAAAABWE/TFxpZM3HL8M/image_thumb%5B7%5D.png?imgmax=800" width="644" height="170" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;So when would I use this?&amp;#160; I think this feature could be used in one of those “exception to the rule cases” where the business has indicated that “there will never be a duplicate file uploaded into this document library” but it actually happens.&amp;#160; It is also helpful when the view of the document library has been configured in such a way that the documents are sorted by file name.&amp;#160; This way it makes it easier to identify one of these cases as opposed to just using a Message ID where the document could end up being displayed in a very random fashion.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3078460769226170088-1169198316017790772?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/1169198316017790772/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=1169198316017790772' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/1169198316017790772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/1169198316017790772'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2010/01/sharetalk-integration-sharepointbiztalk.html' title='ShareTalk Integration (SharePoint/BizTalk) – Part 9 Overwrite - Rename Mode'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_KBYzYDwIZhw/S0o3OHTrjEI/AAAAAAAABV0/R3FU6k5LKxY/s72-c/image_thumb%5B3%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-1333206895079840626</id><published>2010-01-02T11:34:00.001-08:00</published><updated>2010-01-02T11:34:52.186-08:00</updated><title type='text'>Reprocessing SAP IDocs through BizTalk Server using WE19</title><content type='html'>&lt;p&gt;First off this technique should work with any RFC connected system but since the only RFC connected system that I use is&amp;#160; BizTalk it will therefore have some BizTalk specific information.&lt;/p&gt;  &lt;p&gt;I have touched on this topic before in my &lt;a href="http://www.cloudcasts.net/ViewWebcast.aspx?webcastid=2521554266599869567" target="_blank"&gt;web cast&lt;/a&gt; and in my blog that integrating with SAP can be tough due to the vast differences in terminology, process and technologies used.&amp;#160; A situation that I have come across is that you often need a Subject Matter Expert (SME) or someone very familiar with a Business Process to generate an IDoc for a BizTalk developer to test or validate their portion of the integrated application.&amp;#160; Sometimes creating an IDoc is very simple where as sometimes it may take a few transactions and screens to generate the IDoc in order to validate one of your use cases.&amp;#160; This can lead to some frustration by both the BizTalk Developer and SAP resource as the BizTalk developer is always bothering the SAP resource to create “just one more IDoc”.&lt;/p&gt;  &lt;p&gt;Something that a colleague brought to my attention was an SAP transaction called WE19 that allows you to re-process an existing IDoc.&amp;#160; This allows the BizTalk developer to have the SAP resource create an initial IDoc and have the BizTalk developer re-submit that IDoc however many times they would like.&amp;#160; Another benefit of this is process that involved deltas.&amp;#160; We have a process where SAP will provide a “dump” of employee data that we need to update a down stream system with.&amp;#160; We don’t need to process this data every day so we will just send the differences, or deltas, on a regular basis.&amp;#160; So, even in a test or staging environment, once I have received the IDoc that contains all employee data I will not get that data again unless I ask for it.&amp;#160; If we have not had any changes to our employees I will also not get the delta information either since there is no new data to feed the downstream system with.&amp;#160; &lt;/p&gt;  &lt;p&gt;Using this transaction is great because I don’t need to bother anyone from the SAP side to create data for me.&amp;#160; All I need to know is when the last time that particular IDoc was sent.&amp;#160; I can find this information in BizTalk by querying tracked message instances or by querying WE02 in SAP.&amp;#160; Once I find this information I need to capture the IDoc number as this piece of information is required in order to resubmit the IDoc.&lt;/p&gt;  &lt;p&gt;Here are 3 different ways to find an IDoc number.&amp;#160; The first two involve BizTalk and the last involves using the WE02 transaction in SAP.&amp;#160; You may want to check with your BASIS administrator if you do not have access to the WE02 transaction.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Option #1 &lt;/strong&gt;Obtaining the IDoc number from BizTalk Admin by viewing the message context property       &lt;ul&gt;       &lt;li&gt;Use a Tracked Message Events query from BizTalk 2009 Admin console and right mouse click on the IDoc that you previously received and select “Message Details” &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/Sz-fn-8TzOI/AAAAAAAABUQ/WyeNLiWtBsQ/s1600-h/image%5B3%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/Sz-fo-WLirI/AAAAAAAABUU/i-f6jZ1tPBw/image_thumb%5B1%5D.png?imgmax=800" width="644" height="395" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;Click on the “Context” caption &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/Sz-fpbstZnI/AAAAAAAABUY/UDnM2ED3zPI/s1600-h/image%5B6%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz-fpqudodI/AAAAAAAABUc/Cs_qJlsPySQ/image_thumb%5B2%5D.png?imgmax=800" width="207" height="177" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;Observe the “DOCNUM” value and record it (unfortunately you can’t copy or paste from this screen) &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/Sz-fqanEpBI/AAAAAAAABUg/zqlwQEGLhzw/s1600-h/image%5B10%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz-frV7Kh7I/AAAAAAAABUk/_0nXgeWapUg/image_thumb%5B4%5D.png?imgmax=800" width="644" height="476" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Option #2 &lt;/strong&gt;Saving IDoc message to disk and then inspecting context document.       &lt;ul&gt;       &lt;li&gt;Once again find the particular IDoc that you are looking for by running a Tracked Message Events query from BizTalk 2009 Admin Console.&amp;#160; Once you find this message, right mouse click and select “Save to File” &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/Sz-frhgWz9I/AAAAAAAABUo/1j-ITcHwUo8/s1600-h/image%5B14%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/Sz-fseWIGaI/AAAAAAAABUs/y84EWCrSh2U/image_thumb%5B6%5D.png?imgmax=800" width="644" height="299" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;Navigate to the folder that you saved these message to and open up the XML file that contains all of the message context information &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/Sz-fs22jZxI/AAAAAAAABUw/2olouaRLjJ4/s1600-h/image%5B18%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz-ftJl_73I/AAAAAAAABU0/-8wgOr69vK8/image_thumb%5B8%5D.png?imgmax=800" width="644" height="102" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;Once again locate the “DOCNUM” property and copy that value &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/Sz-fuPNsHaI/AAAAAAAABU4/BBhp96voDzI/s1600-h/image%5B31%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/Sz-fvhDqVnI/AAAAAAAABU8/RIB03_rCqg8/image_thumb%5B15%5D.png?imgmax=800" width="1028" height="221" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Option #3&lt;/strong&gt; Use SAP transaction WE02 to locate your IDOC &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz-fwe2KYII/AAAAAAAABVA/rVUmJ8UTKBg/s1600-h/image%5B35%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/Sz-fxO1seQI/AAAAAAAABVE/aUIvoVLElmM/image_thumb%5B17%5D.png?imgmax=800" width="644" height="183" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;Right mouse click on row and select “Copy Text”.&amp;#160; Note it will copy all text in row. &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz-fx6ks-xI/AAAAAAAABVI/zV0WLsx0BAg/s1600-h/image%5B39%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/Sz-fymp7DlI/AAAAAAAABVM/ENyoZsCcfKk/image_thumb%5B19%5D.png?imgmax=800" width="644" height="309" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Resubmitting the IDoc&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Now that you have the IDoc number using one of the approaches above you can navigate to SAP transaction WE19, populate the “Existing IDoc” field and click on the clock with the green checkmark in the upper left hand corner(underlined in red) .&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz-fzRjOlqI/AAAAAAAABVQ/jOTvqI6_wRc/s1600-h/image%5B43%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/Sz-f0DESL5I/AAAAAAAABVU/QSOWx3-QGY4/image_thumb%5B21%5D.png?imgmax=800" width="644" height="293" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;The selected IDoc will then be displayed and then click on the “Standard outbound processing” button &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/Sz-f0QeQTcI/AAAAAAAABVY/pa5fQrADp2w/s1600-h/image%5B47%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz-f1LCjLRI/AAAAAAAABVc/uczGN50WY6U/image_thumb%5B23%5D.png?imgmax=800" width="644" height="141" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;You now have the ability to provide the number of instances of this IDoc that you would like sent so you can use this as a load testing tool for BizTalk as well.&amp;#160; Click the green checkmark to proceed. &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/Sz-f1f6BUNI/AAAAAAAABVg/UBmxJx8F6AE/s1600-h/image%5B51%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/Sz-f2HbchKI/AAAAAAAABVk/o1GszCOWG6Q/image_thumb%5B25%5D.png?imgmax=800" width="644" height="331" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;You should now see a successful message indicating that the IDoc has been re-sent. &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/Sz-f2RRDAGI/AAAAAAAABVo/-jFVD51cRfU/s1600-h/image%5B55%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/Sz-f2wH6VkI/AAAAAAAABVs/TeOMZPm7ZGk/image_thumb%5B27%5D.png?imgmax=800" width="644" height="197" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Summary&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I know I have found the WE19 transaction to be very helpful so hopefully you will find it helpful as well. It can be pretty frustrating when you have a deadline and there is no one around to create IDocs for you.&amp;#160; Using this approach will lessen your dependency on having a SAP resource around.&amp;#160; You can also use this same technique to load up BizTalk with messages and test the robustness of the SAP adapter no matter whether it be the dot net connector version or the WCF version.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3078460769226170088-1333206895079840626?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/1333206895079840626/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=1333206895079840626' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/1333206895079840626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/1333206895079840626'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2010/01/reprocessing-sap-idocs-through-biztalk.html' title='Reprocessing SAP IDocs through BizTalk Server using WE19'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_KBYzYDwIZhw/Sz-fo-WLirI/AAAAAAAABUU/i-f6jZ1tPBw/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-5887378975952254319</id><published>2010-01-02T10:23:00.001-08:00</published><updated>2010-01-02T10:23:56.662-08:00</updated><title type='text'>Microsoft MVP Awarded: Part 3</title><content type='html'>&lt;p&gt;I was recently informed that my MVP status has been renewed for 2010 in the BizTalk Server track.&amp;#160; The MVP program is an excellent opportunity to interact with product groups and other MVPs from around the world.&amp;#160; An example of this collaboration was the &lt;a href="http://www.cloudcasts.net/Default.aspx?category=BizTalk Light and Easy" target="_blank"&gt;BizTalk Light and Easy Viewing series&lt;/a&gt; that I had an opportunity to participate in this past year.&amp;#160; It was a great community project that involved experts from all over the world building webcasts demonstrating BizTalk 2009’s capabilities which were made available to anyone who was interested in viewing/downloading them.&lt;/p&gt;  &lt;p&gt;The highlight of the program for me is definitely the annual MVP Summit which is hosted in the greater Seattle area each year.&amp;#160; I have met a lot of great people through this event and continue to communicate with them on a regular basis.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/Sz-POapbZlI/AAAAAAAABUI/X2le65LRVuU/s1600-h/image%5B4%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/Sz-POwziEQI/AAAAAAAABUM/207kdAbQ0rQ/image_thumb%5B2%5D.png?imgmax=800" width="244" height="105" /&gt;&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/3078460769226170088-5887378975952254319?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/5887378975952254319/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=5887378975952254319' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/5887378975952254319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/5887378975952254319'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2010/01/microsoft-mvp-awarded-part-3.html' title='Microsoft MVP Awarded: Part 3'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_KBYzYDwIZhw/Sz-POwziEQI/AAAAAAAABUM/207kdAbQ0rQ/s72-c/image_thumb%5B2%5D.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-2102815732527901041</id><published>2009-12-31T15:30:00.001-08:00</published><updated>2009-12-31T15:30:29.596-08:00</updated><title type='text'>BizTalk Adapter Pack 2.0 Migration Wizard – SAP IDOCs</title><content type='html'>&lt;p&gt;I have had a couple readers ask me some questions about the BizTalk Adapter Pack Migration Wizard and how well it migrates projects that leveraged the .Net connector based SAP Adapter.&amp;#160; This is something that I have been interested in exploring for quite some time but just hadn’t gotten around to it.&amp;#160; When we initially went live with our BizTalk 2009 environment we decided to reduce the complexity and and not migrate the SAP projects to the new WCF based adapter knowing that we had a little time to take care of this task.&amp;#160; We have now started to migrate some of these apps to use the WCF based adapter so I figured I would re-create a use case from an existing integration scenario to see how well the wizard works.&amp;#160; &lt;/p&gt;  &lt;p&gt;In order to re-create this use case I decided to start the slate clean by creating a new BizTalk 2009 project and then adding an extended CONF32 IDoc called ZConf32.&amp;#160; If you are unfamiliar with the term “extended IDoc” please see one of my previous &lt;a href="http://kentweare.blogspot.com/2008/09/biztalk-sap-adapter-and-extended-sap.html" target="_blank"&gt;posts&lt;/a&gt;.&amp;#160; Some of this post may be redundant, as it discusses the old adapter,&amp;#160; but it could help someone trying to integrate with SAP with the legacy adapter as well.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;&amp;#160; From here on in I will refer to the .Net Connector SAP adapter as the legacy adapter and the BizTalk Adapter Pack 2.0 SAP adapter as the WCF adapter.&amp;#160; Nothing in this post covers the BizTalk Adapter Pack 1.0 SAP adapter however I would assume that most scenarios that apply to the 2.0 adapter also apply to the 1.0 adapter.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Creating the BizTalk project&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Adding a legacy Generated Schema to the project &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz0y69eSt9I/AAAAAAAABMU/X5pkrWaUbrY/s1600-h/image%5B3%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/Sz0y7aoK62I/AAAAAAAABMY/xBodlSeXreU/image_thumb%5B1%5D.png?imgmax=800" width="644" height="325" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;With the legacy adapter you need to “Add Adapter Metadata” but with the WCF adapter you would want to “Consume Adapter Services’ &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/Sz0y8LkHgLI/AAAAAAAABMc/07fMMpDpksw/s1600-h/image%5B13%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/Sz0y8vNeztI/AAAAAAAABMg/NSfB0MzCEg4/image_thumb%5B5%5D.png?imgmax=800" width="644" height="376" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Select the “SAP” adapter and then select a configured port that will be used to connect to an SAP instance.&amp;#160; I miss this feature in the WCF adapter because when the schema generation fails, you will need to re-establish the connection to SAP by providing the URI, Username and Password again.&amp;#160; I usually copy this information into notepad but the solution is not as clean as it is with the legacy adapter. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/Sz0y9HgosMI/AAAAAAAABMk/VW4gzlTk-44/s1600-h/image%5B17%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/Sz0y9zHFm-I/AAAAAAAABMo/8uHwSLnXeCY/image_thumb%5B7%5D.png?imgmax=800" width="619" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Since this IDoc has been extended, it is referred to as “CONF32-ZCONF32”. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/Sz0y-Ft36VI/AAAAAAAABMs/8xKzj6kWrCo/s1600-h/image%5B21%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/Sz0y-2iTvBI/AAAAAAAABMw/POK93B35ZaI/image_thumb%5B9%5D.png?imgmax=800" width="619" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The latest version released will show up by default &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/Sz0y_TSV9OI/AAAAAAAABM0/ugUY4s23eVU/s1600-h/image%5B25%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/Sz0y_y1TVGI/AAAAAAAABM4/74VCee4QEyk/image_thumb%5B11%5D.png?imgmax=800" width="619" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The Wizard working… &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz0zAXAoCFI/AAAAAAAABM8/cbTxhZBc4d8/s1600-h/image%5B29%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/Sz0zA801uvI/AAAAAAAABNA/1F4-2u2oyzE/image_thumb%5B13%5D.png?imgmax=800" width="619" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Success &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/Sz0zBTQhGHI/AAAAAAAABNE/jfw3wykB8X4/s1600-h/image%5B33%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/Sz0zCDMUJPI/AAAAAAAABNI/ndYi7u48oko/image_thumb%5B15%5D.png?imgmax=800" width="619" height="484" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Two artifacts are added to my project: An Orchestration and my CONF32.xsd schema.&amp;#160; I have gone ahead and renamed these two artifacts accordingly. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/Sz0zCf-VzQI/AAAAAAAABNM/fbGEwzfIW3Q/s1600-h/image%5B37%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz0zDPztabI/AAAAAAAABNQ/yUcR5i6A6sk/image_thumb%5B17%5D.png?imgmax=800" width="644" height="342" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The ZCONF32 IDoc will be sent to SAP so we need a source document that we will transform into the ZCONF32 IDoc.&amp;#160; The input message captures a Fleet Vehicle’s time captured while working in the field.&amp;#160; I work in the Energy industry and we need to record the amount of time that our fleet vehicles are in the field.&amp;#160; There is some additional information that I need to provide SAP with called a control record that will describe the message type, IDoc Type and Partner profile to name a few of the data elements.&amp;#160; I have captured this information inside String Concatenation functiods &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz0zEUO49iI/AAAAAAAABNU/8E908XeGudE/s1600-h/image%5B41%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz0zFc8gHuI/AAAAAAAABNY/u6pIBKaYoi0/image_thumb%5B19%5D.png?imgmax=800" width="628" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Here is where the “core” data is being mapped into the IDoc. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/Sz0zGrYevZI/AAAAAAAABNc/joqw0mgLWag/s1600-h/image%5B45%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/Sz0zHygTObI/AAAAAAAABNg/Sm8qiuT47Bk/image_thumb%5B21%5D.png?imgmax=800" width="627" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The legacy adapter treats an IDoc as a flat file.&amp;#160; So in order for BizTalk to assemble a flat file we need to create a Send Pipeline and assign the IDoc schema to the Flat File Assembler &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/Sz0zIUb9hNI/AAAAAAAABNk/Y1nUG-JdV3s/s1600-h/image%5B49%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/Sz0zI8CnGII/AAAAAAAABNo/E9ZxZzX8Rd8/image_thumb%5B23%5D.png?imgmax=800" width="644" height="399" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/Sz0zJxIc0II/AAAAAAAABNw/7U8P7egfQ-Y/s1600-h/image%5B53%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/Sz0zK8O39hI/AAAAAAAABN0/DZQ3QlJmXgI/image_thumb%5B25%5D.png?imgmax=800" width="644" height="392" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The end solution looks like the following: &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Note: &lt;/strong&gt;This scenario could easily be accomplished as a messaging only scenario, but I have decided to provide an orchestration for illustrative purposes.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/Sz0zLyg3mTI/AAAAAAAABN4/Gc2wjzPAXL4/s1600-h/image%5B57%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/Sz0zM4KVkcI/AAAAAAAABN8/Y59W_vSiplY/image_thumb%5B27%5D.png?imgmax=800" width="644" height="465" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;My receive location is your standard local file drop &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/Sz0zNvt8-cI/AAAAAAAABOA/f5U6lQteZTQ/s1600-h/image%5B61%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/Sz0zOeYzHEI/AAAAAAAABOE/7_COBKZQrik/image_thumb%5B29%5D.png?imgmax=800" width="596" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;In the Send Port, I want to choose the legacy SAP adapter and ensure to select the Flat File Pipeline that will assemble a flat file message for SAP. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz0zO6yaGvI/AAAAAAAABOI/xZhI5_17y4c/s1600-h/image%5B65%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/Sz0zPrNxGfI/AAAAAAAABOM/OVTd0Hd5iiM/image_thumb%5B31%5D.png?imgmax=800" width="596" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;If you navigate to a screen called “WE02” in the SAP GUI (assuming you have permissions) you can see all of the IDocs that SAP has sent/received.&amp;#160; The status of the IDoc will also be captured here (green light) and indicate whether or not the process was &lt;font color="#ff0000"&gt;unsuccessful&lt;/font&gt;/&lt;font color="#008000"&gt;successful&lt;/font&gt; or &lt;font color="#ffff00"&gt;still in processing&lt;/font&gt;. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz0zQDl9CLI/AAAAAAAABOQ/1fgfSZT9u3Y/s1600-h/image%5B69%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz0zQqE__5I/AAAAAAAABOU/awC_EtgGYB4/image_thumb%5B33%5D.png?imgmax=800" width="644" height="165" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;You can drill into a specific IDoc to validate the data that BizTalk sent was complete and is accurate. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/Sz0zRt8gEZI/AAAAAAAABOc/OHpEacaFo2w/s1600-h/image%5B73%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/Sz0zSLP3EgI/AAAAAAAABOg/Km7eED_Tvdo/image_thumb%5B35%5D.png?imgmax=800" width="534" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;So that completes creating a fairly simple integration scenario with SAP using the legacy adapter.&amp;#160;&amp;#160; Next we will take a detail look into what is involved in migrating this project to use the new WCF Adapter.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;First, you will need to download the BizTalk Adapter Pack 2.0 Migration wizard which you can find &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=e68b8fd1-5c8a-499a-8237-4dc23a8342c5&amp;amp;displaylang=en" target="_blank"&gt;here&lt;/a&gt;. Unzip the file to a location on a BizTalk Server that has a functional installation of the WCF-SAP adapter. You will find the following 3 files but don’t bother running the “BizTalkAdapterPackMigrationToole.exe” just yet. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/Sz0zShXGH0I/AAAAAAAABOk/LGs1AYR2QqY/s1600-h/clip_image002%5B4%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://lh4.ggpht.com/_KBYzYDwIZhw/Sz0zSwB_-QI/AAAAAAAABOo/VlHhr1kNoWM/clip_image002_thumb%5B1%5D.jpg?imgmax=800" width="644" height="122" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Ensure that you have the following pre-requisites already installed and then copy the Microsoft.WizardFramework.dll into this folder. &lt;/li&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;b&gt;Ensure the following are installed: &lt;/b&gt;&lt;/p&gt;    &lt;ul&gt;     &lt;ul&gt;       &lt;li&gt;Microsoft BizTalk Adapter Pack 2.0 &lt;/li&gt;        &lt;li&gt;WCF LOB Adapter SDK SP2 &lt;/li&gt;        &lt;li&gt;BizTalk Server 2009 or BizTalk Server 2006 R2 &lt;/li&gt;        &lt;li&gt;Visual Studio 2008 or Visual Studio 2005 &lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;p&gt;&lt;b&gt;To setup the migration directory: &lt;/b&gt;&lt;/p&gt;    &lt;ul&gt;     &lt;ul&gt;       &lt;li&gt;Copy %Microsoft Visual Studio Install Dir% \Common7\IDE\ Microsoft.WizardFramework.dll to the same folder. &lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz0zTI-dHjI/AAAAAAAABOs/lhP8t2sK3iI/s1600-h/clip_image004%5B4%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image004" border="0" alt="clip_image004" src="http://lh4.ggpht.com/_KBYzYDwIZhw/Sz0zTm4c_0I/AAAAAAAABOw/-Xv8wJcOupI/clip_image004_thumb%5B1%5D.jpg?imgmax=800" width="644" height="144" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Now you should be able to run the “BizTalkAdapterPackMigrationTool.exe” &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/Sz0zUD4HfMI/AAAAAAAABO0/yecjjWJ3Cko/s1600-h/clip_image002%5B5%5D%5B3%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[5]" border="0" alt="clip_image002[5]" src="http://lh5.ggpht.com/_KBYzYDwIZhw/Sz0zUjn5uFI/AAAAAAAABO4/gC2ATe-2stk/clip_image002%5B5%5D_thumb%5B1%5D.jpg?imgmax=800" width="644" height="455" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;I am now going to load up the project the I previously demonstrated into this tool      &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/Sz0zVOEyTbI/AAAAAAAABO8/FiSNeTQms4c/s1600-h/clip_image002%5B7%5D%5B3%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[7]" border="0" alt="clip_image002[7]" src="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz0zVu_zrgI/AAAAAAAABPA/-IjcxgE2YHI/clip_image002%5B7%5D_thumb%5B1%5D.jpg?imgmax=800" width="644" height="448" /&gt;&lt;/a&gt;&lt;/p&gt;      &lt;p&gt;&amp;#160;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;Provide the URI for the SAP instance that you would like to connect to.&amp;#160; Here would be a good place to leverage a re-useable connection such as a send port as every time you run this tool you need to provide these details. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz0zWGjBNAI/AAAAAAAABPE/s_-V1Bq4ELM/s1600-h/image%5B77%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/Sz0zWnf5YqI/AAAAAAAABPI/Wso-t4ArPY4/image_thumb%5B37%5D.png?imgmax=800" width="644" height="449" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Next &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/Sz0zXJyGP6I/AAAAAAAABPM/tKzSxhseFoE/s1600-h/image%5B81%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/Sz0zXtDe1DI/AAAAAAAABPQ/KhSP0cjfaPg/image_thumb%5B39%5D.png?imgmax=800" width="644" height="449" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The Wizard has determined that I am using the ZConf32 IDoc in my project and would like to generate a new schema using the WCF adapter. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/Sz0zYMhYKkI/AAAAAAAABPU/-8sz1tSG6v4/s1600-h/image%5B85%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/Sz0zYyPlgMI/AAAAAAAABPY/NnAHhJvuJqo/image_thumb%5B41%5D.png?imgmax=800" width="644" height="449" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;You have the option to specify a release version of an IDoc.&amp;#160; In the legacy project, I generated a schema based upon version 700 so I am going to select 700 for this IDoc.&amp;#160; As mentioned BizTalk will be sending this IDoc to SAP so I will select the “Send” Operation &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/Sz0zZaY3bjI/AAAAAAAABPc/xSHZO8XGmu8/s1600-h/image%5B89%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/Sz0zZ9FLlnI/AAAAAAAABPg/TBa0qVVoC2U/image_thumb%5B43%5D.png?imgmax=800" width="644" height="449" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Gotcha!!! I previously mentioned that I am using an Extended IDoc called ZConf32.&amp;#160; Well the base IDoc is called “CONF32” so I need to type this information into the “BaseType” drop down.&amp;#160; This drop down is not populated with any data so you need to provide it. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/Sz0zadVdp3I/AAAAAAAABPk/-bW5ObR2QcI/s1600-h/image%5B93%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/Sz0zbPDQAGI/AAAAAAAABPo/65CPBGj4F_k/image_thumb%5B45%5D.png?imgmax=800" width="644" height="450" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;If you don’t provide this information you will probably be prompted with an error similar to the following: &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz0zbibXpJI/AAAAAAAABPs/rC8U21xsNgw/s1600-h/image%5B97%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/Sz0zcUBPYHI/AAAAAAAABPw/2XTIkd6Rs7I/image_thumb%5B47%5D.png?imgmax=800" width="644" height="436" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;You have two options when running the migration wizard:      &lt;ul&gt;       &lt;li&gt;The first option is intended to be &lt;strong&gt;less intrusive&lt;/strong&gt; to your existing BizTalk solution and takes advantage of Outbound or Inbound maps, depending upon your scenario, that are applied at your physical ports.&amp;#160; You essentially modifying your solution at the edges which has some advantages.&amp;#160; I will touch this feature a little more at the end of this blog post. &lt;/li&gt;        &lt;li&gt;The second option is to update the existing solution with the new artifacts including maps and orchestrations.&amp;#160; This option is &lt;strong&gt;more intrusive&lt;/strong&gt; as you are making changes inside your solution that will impact the way your application functions.&amp;#160; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;p&gt;So which option is better?&amp;#160; Like most things in IT, it depends.&amp;#160; If you have a complex solution with very “busy” maps I would opt for the first option – making changes at the edges.&amp;#160; This option poses less risk as you are limiting the amount of change you are introducing.&amp;#160; This option does require some updates to the core application due to the synchronous nature of the WCF based adapter.&amp;#160; Previously IDocs were sent asynchronously (one way) where as now they are processed using a Request-Response (two way) process.&amp;#160; So if you had an Orchestration that had a logical Send Port and Send Shape, you would now need to account for the response message coming back into the BizTalk Orchestration.&lt;/p&gt;    &lt;p&gt;If you have a simple integration, like the one I am describing I would opt for option #2.&amp;#160; Adding additional maps will decrease performance(most likely marginally) and also becomes a more complex application to support operationally as you are now supporting additional maps.&amp;#160; If you have the same developer who built the BizTalk solution migrating it then they would probably also feel more comfortable in option #2.&amp;#160; If you have brought in someone in to perform the migration they may feel more comfortable with the first option.&lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/Sz0zdGeSjyI/AAAAAAAABP0/5cPfWl7td5Y/s1600-h/image%5B103%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz0zdvAvYQI/AAAAAAAABP4/QCzkXBLOdDk/image_thumb%5B51%5D.png?imgmax=800" width="632" height="441" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Success &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/Sz0zea9TU4I/AAAAAAAABP8/ouhKuw95hiI/s1600-h/image%5B107%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/Sz0ze-07lEI/AAAAAAAABQA/FhNa-ic2BDY/image_thumb%5B53%5D.png?imgmax=800" width="644" height="449" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Conversion report &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/Sz0zfTn3hgI/AAAAAAAABQE/Cq8anLqByxM/s1600-h/image%5B111%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/Sz0zgN4OJyI/AAAAAAAABQI/rb0Z7cG7gII/image_thumb%5B55%5D.png?imgmax=800" width="644" height="393" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;When I open up the migrated solution, I noticed a few new artifacts including my IDoc Request message (SAPBinding3.xsd) and my IDoc Response message (SAPBinding4.xsd).&amp;#160; I also have a folder called “NewSchemaTypes” that includes some of the complex types that the Request message uses.&amp;#160; Like any schema that has been generated by the BizTalk Adapter Pack I also have a binding file called “SAPMigration_Binding.xml” &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/Sz0zg_UNPZI/AAAAAAAABQM/cRYoupn0gHQ/s1600-h/image%5B115%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz0zhvDzi4I/AAAAAAAABQQ/aC1LgG8-JjA/image_thumb%5B57%5D.png?imgmax=800" width="644" height="318" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz0zieHkWYI/AAAAAAAABQU/PtMq3-7MTeM/s1600-h/image%5B119%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz0zi97uQVI/AAAAAAAABQY/pgsh0i5UocM/image_thumb%5B59%5D.png?imgmax=800" width="644" height="210" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;As advertised the migration option that I chose has updated my orchestration including the message type for a message called “msgZConf32”. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/Sz0zjOkbB5I/AAAAAAAABQc/Z8j8_F0FGOM/s1600-h/image%5B123%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/Sz0zjsbWE5I/AAAAAAAABQg/OpJLeIexd24/image_thumb%5B61%5D.png?imgmax=800" width="448" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;It also updated the Logical Port Type to use the message type of the WCF based schema. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/Sz0zkJJD6JI/AAAAAAAABQk/yiCq6p0wXsA/s1600-h/image%5B127%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/Sz0zkxXf8xI/AAAAAAAABQo/3xoHIX95lSI/image_thumb%5B63%5D.png?imgmax=800" width="644" height="463" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;What it failed to do is update the map that transforms the incoming request document into the ZConf 32 IDoc.&amp;#160; What I decided to do was replace the legacy schema with the new WCF based schema. &lt;/li&gt; &lt;/ul&gt; &lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/Sz0zlJ_otWI/AAAAAAAABQs/lxblrKDxO3A/s1600-h/image%5B131%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/Sz0zl7w56RI/AAAAAAAABQw/ozei8pB-gns/image_thumb%5B65%5D.png?imgmax=800" width="644" height="259" /&gt;&lt;/a&gt;   &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/Sz0zmLDmrKI/AAAAAAAABQ0/8vZ7UzwyLjo/s1600-h/image%5B135%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz0zmxyK_BI/AAAAAAAABQ4/4438JdyKgCg/image_thumb%5B67%5D.png?imgmax=800" width="393" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Any existing functoids remained in the map however I had to reconnect all of the lines. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/Sz0znpfeGqI/AAAAAAAABQ8/zJB_1-0Tsvg/s1600-h/image%5B139%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/Sz0zoRg52eI/AAAAAAAABRA/ZzvkDEEAbMM/image_thumb%5B69%5D.png?imgmax=800" width="644" height="335" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Although the Migration Wizard updated my logical Port, I needed to add a new port type since the old port type was a one way send port. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz0zoy8-YtI/AAAAAAAABRE/KfuZUeTK32E/s1600-h/image%5B143%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz0zpplzd9I/AAAAAAAABRI/jErYqIvV53I/image_thumb%5B71%5D.png?imgmax=800" width="447" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/Sz0zqOUynwI/AAAAAAAABRM/7Jr3XPeebgI/s1600-h/image%5B147%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/Sz0zqp6WkhI/AAAAAAAABRQ/rmDZxDU9ecY/image_thumb%5B73%5D.png?imgmax=800" width="615" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz0zrK_pxnI/AAAAAAAABRU/hNLvBtbfuwc/s1600-h/image%5B151%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/Sz0zrfTHVVI/AAAAAAAABRY/zKRvsUVMhhs/image_thumb%5B75%5D.png?imgmax=800" width="615" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;I also had to create a new response message which I called “msgZConf32Response” and added a Receive shape that would be responsible for handling the response message from SAP. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz0zsauEsmI/AAAAAAAABRc/zBwI55WZPr4/s1600-h/image%5B155%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz0ztHedYWI/AAAAAAAABRg/tNpStHHzyrQ/image_thumb%5B77%5D.png?imgmax=800" width="644" height="364" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;At this point I was ready to build and deploy.&amp;#160; The build process was successful but the deployment process was not. &lt;/li&gt; &lt;/ul&gt; &lt;font color="#ff0000"&gt;Error 1 Failed to add resource(s). Resource (-Type=&amp;quot;System.BizTalk:BizTalkAssembly&amp;quot; -Luid=&amp;quot;SAPMigration, Version=1.0.0.0, Culture=neutral, PublicKeyToken=bb0707bffbca2a29&amp;quot;) is already in store and is either associated with another application or with another type.&lt;/font&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Having seen this error before I figured that the name of the application had probably been removed from the project file.&amp;#160; So I just added the Application Name and then I was able to deploy.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz0ztqDzF2I/AAAAAAAABRk/w3QQ8LxymvE/s1600-h/image%5B171%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/Sz0zuSqf8EI/AAAAAAAABRo/e_cwD7ozm4o/image_thumb%5B89%5D.png?imgmax=800" width="644" height="332" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;I still had the legacy Send Port configured in my application so I needed to add a WCF based Send Port. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz0zuwXCDII/AAAAAAAABRs/hUJj1mX36W8/s1600-h/image%5B175%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/Sz0zvfvdXnI/AAAAAAAABRw/KdwbLsxdmnQ/image_thumb%5B91%5D.png?imgmax=800" width="644" height="281" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;In order to add this send port, I needed to import the binding file that was generated by the migration wizard &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/Sz0zv1BcD7I/AAAAAAAABR0/82GAAtnDzjk/s1600-h/image%5B182%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz0zwov3xiI/AAAAAAAABR4/TmKdRSjxfjQ/image_thumb%5B94%5D.png?imgmax=800" width="644" height="444" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/Sz0zxKpXvBI/AAAAAAAABR8/MKf77yHbk_U/s1600-h/image%5B186%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz0zx2bWDtI/AAAAAAAABSA/oGochgqnL7E/image_thumb%5B96%5D.png?imgmax=800" width="644" height="474" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz0zyCVRO7I/AAAAAAAABSE/J0pEFeBtRHI/s1600-h/image%5B192%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/Sz0zyrdxEvI/AAAAAAAABSI/ZDvaHsknWmI/image_thumb%5B100%5D.png?imgmax=800" width="644" height="117" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Let’s explore what is included in the binding file that was generated by the wizard:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Notice that BizTalk uses the WCF-Custom adapter that leverages an SAP Binding and you no longer need to build flat file pipelines when communicating with SAP using this adapter. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/Sz0zzPZcrOI/AAAAAAAABSM/0MjStCxnshs/s1600-h/image%5B196%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/Sz0z0HhoHbI/AAAAAAAABSU/kq2b1y-Eu90/image_thumb%5B102%5D.png?imgmax=800" width="604" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;You will need to update the action as the action that is included in the binding file will result in an error being generated: &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;The adapter failed to transmit message going to send port &amp;quot;processVehicleTime_PortType_SendZConf32&amp;quot; with URL &amp;quot;sap://CLIENT=XXX;LANG=EN;@a/SAPSERVER/XX&amp;quot;. It will be retransmitted after the retry interval specified for this Send Port. Details:&amp;quot;Microsoft.ServiceModel.Channels.Common.UnsupportedOperationException: Incorrect Action &amp;lt;BtsActionMapping xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;&amp;lt;Operation Name=&amp;quot;Operation_SendZConf32&amp;quot; Action=&amp;quot;http://Microsoft.LobServices.Sap/2007/03/Idoc/3/CONF32/ZCONF32/700/Send&amp;quot; /&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;&amp;lt;/BtsActionMapping&amp;gt;. Correct the specified Action, or refer to the documentation on the allowed formats for the Actions.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000000"&gt;Check out this &lt;/font&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc185273(BTS.10).aspx" target="_blank"&gt;&lt;font color="#000000"&gt;&lt;u&gt;link&lt;/u&gt;&lt;/font&gt;&lt;/a&gt;&lt;font color="#000000"&gt; for more details.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/Sz0z0rABX4I/AAAAAAAABSY/Rf8QiWxT3iI/s1600-h/image%5B200%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz0z1Gw1okI/AAAAAAAABSc/NNzf3AOpngg/image_thumb%5B104%5D.png?imgmax=800" width="352" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Here I am using the default values including enabling BizTalk compatibility and Safe Typing. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/Sz0z112hqSI/AAAAAAAABSg/RcecqFdYelM/s1600-h/image%5B204%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/Sz0z28hEpdI/AAAAAAAABSk/MHOBzSIDk7M/image_thumb%5B106%5D.png?imgmax=800" width="352" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Don’t forget to include you credentials as they are &lt;u&gt;not&lt;/u&gt; brought in with the binding file. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/Sz0z3X9SVzI/AAAAAAAABSo/GsAgGgDSGPM/s1600-h/image%5B208%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/Sz0z3wWZBAI/AAAAAAAABSs/qKJthXrEOBU/image_thumb%5B108%5D.png?imgmax=800" width="352" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;One last thing that I need to do before starting the application is to bind the Orchestration to use this new Send Port. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/Sz0z4T_HgxI/AAAAAAAABSw/_meApaDIIAc/s1600-h/image%5B212%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz0z5WJkQhI/AAAAAAAABS0/gYsxh4ioUiM/image_thumb%5B110%5D.png?imgmax=800" width="644" height="447" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;At this point I have started the application and processed a message.&amp;#160; The message was successfully submitted to SAP as confirmed in the WE02 transaction. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz0z57ISHrI/AAAAAAAABS4/as-svrXd7WI/s1600-h/image%5B221%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz0z6lHjFlI/AAAAAAAABS8/bXtgCwMAds4/image_thumb%5B117%5D.png?imgmax=800" width="644" height="153" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz0z7ClFKhI/AAAAAAAABTA/p0jN1ck_Ro0/s1600-h/image%5B225%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/Sz0z75DDF1I/AAAAAAAABTE/hArKHFSX5cE/image_thumb%5B119%5D.png?imgmax=800" width="585" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;From a BizTalk tracking perspective this what the old and new process looks like: &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Old process&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/Sz0z8ZAN_gI/AAAAAAAABTI/KrfTnw88OI0/s1600-h/clip_image002%5B9%5D%5B3%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[9]" border="0" alt="clip_image002[9]" src="http://lh4.ggpht.com/_KBYzYDwIZhw/Sz0z8w5z-jI/AAAAAAAABTM/6aCcfOLN1aQ/clip_image002%5B9%5D_thumb%5B1%5D.jpg?imgmax=800" width="644" height="57" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;New Process – since we are using a Request-Response port type we now receive a message back from SAP(XMLReceive)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/Sz0z9E5mH4I/AAAAAAAABTQ/tShNIWTtqPc/s1600-h/clip_image004%5B5%5D%5B3%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image004[5]" border="0" alt="clip_image004[5]" src="http://lh4.ggpht.com/_KBYzYDwIZhw/Sz0z9eOFaHI/AAAAAAAABTU/HVrD-CuJ96U/clip_image004%5B5%5D_thumb%5B1%5D.jpg?imgmax=800" width="644" height="68" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;As previously mentioned, I decided to use the intrusive approach when migrating this application.&amp;#160; I am now going to quickly walk through the less intrusive approach that involves using mapping on the edges to deal with the differences between the legacy and WCF based schemas.&amp;#160; Unfortunately this did not migrate as I would have expected so I don’t have a whole lot to show you.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz0z-KNl0mI/AAAAAAAABTY/uKBh-VmMTqs/s1600-h/image%5B231%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/Sz0z-45pQGI/AAAAAAAABTc/3dtd4Yz-x1A/image_thumb%5B123%5D.png?imgmax=800" width="644" height="449" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/Sz0z_Rr-CyI/AAAAAAAABTg/V9BfNZ1bVxM/s1600-h/image%5B235%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/Sz0z_7T1K3I/AAAAAAAABTk/6Kknlr5a8_8/image_thumb%5B125%5D.png?imgmax=800" width="644" height="449" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The project was not updated as advertised.&amp;#160; Only the new schemas was created, no new maps were created. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz00AszDwkI/AAAAAAAABTo/QOA43efB_Gk/s1600-h/image%5B239%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/Sz00BncZRyI/AAAAAAAABTs/aqT8v4A_KIs/image_thumb%5B127%5D.png?imgmax=800" width="643" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/Sz00B2uxYgI/AAAAAAAABTw/MR-qZLzER-E/s1600-h/image%5B243%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/Sz00CjcQ1JI/AAAAAAAABT0/goOumxYgLMA/image_thumb%5B129%5D.png?imgmax=800" width="347" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The orchestration remained the same as advertised &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/Sz00DPKtJWI/AAAAAAAABT4/O8bndy2N7rg/s1600-h/image%5B248%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/Sz00D2vw-6I/AAAAAAAABT8/0GrzKzLGDB4/image_thumb%5B132%5D.png?imgmax=800" width="297" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/Sz00EPp7kOI/AAAAAAAABUA/G4izXLHF2RA/s1600-h/image%5B252%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/Sz00ExRRQeI/AAAAAAAABUE/EvPOqVWzyos/image_thumb%5B134%5D.png?imgmax=800" width="644" height="394" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Summary&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;So as you can see the migration wizard had some mixed results. I am not quite sure why the Map, in either scenario, was not created/modified.&amp;#160; The map itself was not overly complex although it did included some functoids.&amp;#160; Another feature that I did not like was that you don’t have the ability to apply a naming convention to the schemas that were generated.&amp;#160; If you were to add these schemas to a BizTalk solution from Visual Studio you do have the ability to provide a pre-fix using that tool so I am not sure why you could not use this same feature in the migration tool.&lt;/p&gt;  &lt;p&gt;If you use option #2(the intrusive approach) it will go ahead and update your ports and message to use the new schema so I do think that there is some value in using the migration tool. Also, if you want to update several IDocs within one project you should be able to perform this migration by running the tool once. I definitely do not think that the tool is a silver bullet and you will need someone who is knowledgeable with BizTalk to perform these migrations.&amp;#160; In defense of the tool, it is &lt;a href="http://social.msdn.microsoft.com/Forums/en-US/biztalkr2adapters/thread/5ec99d15-b90b-4d26-beee-cebb42850984" target="_blank"&gt;not an officially supported tool&lt;/a&gt; but is there to act as an aid and I do believe that it does accomplish this.&amp;#160; All in all I think it took me about 20 minutes to migrate my fairly trivial application so the effort was not momentous.&lt;/p&gt;  &lt;p&gt;If you are interested in seeing how this tool works with the new WCF based SQL Server adapter please check out Richard Seroter’s &lt;a href="http://seroter.wordpress.com/2009/02/25/first-stab-at-using-new-tool-to-migrate-sql-server-adapter-solutions/" target="_blank"&gt;post&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/3078460769226170088-2102815732527901041?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/2102815732527901041/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=2102815732527901041' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/2102815732527901041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/2102815732527901041'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2009/12/biztalk-adapter-pack-20-migration.html' title='BizTalk Adapter Pack 2.0 Migration Wizard – SAP IDOCs'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_KBYzYDwIZhw/Sz0y7aoK62I/AAAAAAAABMY/xBodlSeXreU/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-5931729352822521036</id><published>2009-12-08T16:49:00.001-08:00</published><updated>2009-12-10T17:09:44.985-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BizTalk vNext'/><title type='text'>BizTalk Server Futures and Roadmap</title><content type='html'>I realize that I am a little late to this party, but figured I would provide my thoughts on the BizTalk Server Futures and Roadmap presentation by Balasubramanian Sriram that occurred at PDC 09 this past November. To view a re-play of his presentation check out the following &lt;a href="http://microsoftpdc.com/Sessions/SVR15"&gt;link&lt;/a&gt;. Also note that some of the content from this post has been 'borrowed' from his presentation.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Current State&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;BizTalk adoption continues to be strong. Currently over 10 000 Global customers are benefiting from BizTalk Server. If my memory serves me correctly, they have added approximately 1500 customers over the past 2 years.&lt;/li&gt;&lt;li&gt;Major industries using BizTalk include Electronic Parts companies, Telecommunications, Aerospace and Defense, Chemical Companies, Railroads and Insurance. In Canada I am aware of a few other industries that are also benefiting from BizTalk Server including Utilities, Oil and Gas, Healthcare and Government.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;a href="http://1.bp.blogspot.com/_KBYzYDwIZhw/Sx78bRWHejI/AAAAAAAABME/lB2KyGQojSo/s1600-h/NewStack.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5413041347588749874" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 270px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_KBYzYDwIZhw/Sx78bRWHejI/AAAAAAAABME/lB2KyGQojSo/s400/NewStack.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;Short-term Road Map&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Here is a list of some of the Customer "wants" that are being addressed:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Platform support&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Platform Alignment (Windows Server 2008 R2, SQL Server 2008 R2, Visual Studio 2010)&lt;/li&gt;&lt;li&gt;Tighter integration with Windows Workflow&lt;/li&gt;&lt;li&gt;Common Application Model (scaling up .net apps into an integration server)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Productivity&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Ease of use in transformation scenarios&lt;/li&gt;&lt;li&gt;Trading Partner Management&lt;/li&gt;&lt;li&gt;Out of box connectivity (more adapters)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Enterprise Capabilities&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;ESB&lt;/li&gt;&lt;li&gt;Enterprise manageability (consolidated view of integration assets)&lt;/li&gt;&lt;li&gt;Low latency scenarios&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;How are &lt;u&gt;some&lt;/u&gt; of these wants going to be addressed in the short term?&lt;/strong&gt;&lt;br /&gt;BizTalk Server 2009 R2&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Platform support&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;VS 2010, Windows Server 2008 R2, SQL Server 2008 R2&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Productivity Improvements&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Single dashboard to apply and manage performance parameters&lt;/li&gt;&lt;li&gt;Out of box support for event filtering and delivering (RFID)&lt;/li&gt;&lt;li&gt;Powershell access to management tasks&lt;/li&gt;&lt;li&gt;New SCOM object model to better reflect BizTalk Artifacts&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;B2B Scenarios made easy&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Mapper enhancements to make complex mapping easier to create and maintain&lt;/li&gt;&lt;li&gt;FTPS to provide secure transactions between businesses&lt;/li&gt;&lt;li&gt;Updated B2B accelerators for latest protocol versions&lt;/li&gt;&lt;/ul&gt;I am extremely encouraged to see theses added features in an R2 release especially since it seemed like BizTalk 2009 shipped yesterday. In particular, I am looking forward to the following features:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Platform support&lt;/strong&gt; - It is nice to see that we should not have to wait as long as we previously did to be able to leverage some of these new technologies. It is always a bit of a downer when your organization is trying to stay current with technology only to have your application "slow the train down" because your application is not supported on the latest version of OS/DB/IDE etc.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Single Dashboard&lt;/strong&gt; - It would be nice to get a composite view of your BizTalk environment from a single source. This Dashboard is also suppose to provide performance metrics and server health from one location. When working in an enterprise environment, multi-node groups are the norm, not the exception so it will be nice to have improved visibility.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;New SCOM object model &lt;/strong&gt;- I haven't been overly impressed with the SCOM management pack for BizTalk 2009. I find that some of the terminology that is used in the Management pack does not align with the terminology in the BizTalk Administration Console. For instance SCOM may notify you that you have an "Adapter" that is currently offline. No where in the BizTalk Admin console can you turn on/off, enable/disable an adapter. You can certainly add or delete an adapter but I am pretty sure that is not what SCOM is referring to. However, you can certainly enable/disable a receive location or stop a host instance which will impact an adapter's ability to function, but SCOM doesn't explicitly describe it this way. I also feel that the SCOM management pack doesn't correctly understand clustered host instances. I have received many alerts indicating that Clustered Host instance 'XYZ' is not running on Server 'b'. Well the reason for this is that the Host instance is currently active on Server 'a' and the nature of a Clustered resource is that it runs in an active/passive state by design.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Mapper Enhancements&lt;/strong&gt; - Balasubramanian was correct when he mentioned the mapper as a "value add" for BizTalk. Since this is the case, then more should be done to improve a developer's productivity when using this tool. I have shown this tool to SAP resources describing how great the tool is only to find them cringing as we try to follow the connector lines when mapping an IDOC. I am extremely encouraged by what I saw and can definitely benefit by some of the new features described including only showing nodes that are involved in a map, auto scrolling, moving sections of maps to a new page and searching for nodes.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_KBYzYDwIZhw/Sx77uJJIwXI/AAAAAAAABL0/tf3C6qauP6Y/s1600-h/BizTalk+Futures.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5413040572292710770" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 290px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_KBYzYDwIZhw/Sx77uJJIwXI/AAAAAAAABL0/tf3C6qauP6Y/s400/BizTalk+Futures.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://4.bp.blogspot.com/_KBYzYDwIZhw/Sx78DqmZ2QI/AAAAAAAABL8/_za1kGC6TZo/s1600-h/BizTalk+Futures+-+Search.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5413040942051088642" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 291px; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_KBYzYDwIZhw/Sx78DqmZ2QI/AAAAAAAABL8/_za1kGC6TZo/s400/BizTalk+Futures+-+Search.JPG" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;FTPS Adapter &lt;/strong&gt;- This is welcomed change for me. The reality is that not every single interface is going to use the latest version of WCF. Providing an updated FTP adapter that supports security will be beneficial for BizTalk customers. I am still waiting for an update to the POP3 and SMTP adapters so that we can communicate with Exchange over MAPI. There is perceived risk associated with POP3 that makes Exchange administrators cringe when you ask them to open up POP3 connectivity.  Yes 3rd party adapters do exist, but after several years, I do have expectations that something like this could be included in the box.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Future&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_KBYzYDwIZhw/Sx795mzAIpI/AAAAAAAABMM/DzqmXajjdD0/s1600-h/future.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5413042968254751378" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 289px; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_KBYzYDwIZhw/Sx795mzAIpI/AAAAAAAABMM/DzqmXajjdD0/s400/future.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Fear not, Microsoft will continue to support the BizTalk investments that have already been made to date. However, BizTalk will eventually run on top of AppFabric.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Here are some of the features that are envisioned for the future:&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Use data contracts in maps and have the ability to transform to a schema and vice versa. One of the limitations of AppFabric (Dublin), in its current state, is the lack of a mapper tool to allow for transformation of messages. This new capability should fill in this current gap and also allow you to mix the use of data contracts with schemas in maps. &lt;/li&gt;&lt;li&gt;Create workflow activity based on map&lt;/li&gt;&lt;li&gt;Low-latency scenario versus durable messaging. This is a feature that many have been asking for. This feature is really intriguing in the sense that you can choose which path you would like to take when designing your message interactions. In Balasubramanian's scenario he was wanting to book a trip. Whenever read requests are required durable messaging is probably not required so why take on the additional performance hit that using MessageBox incurs. However when performing insert or update operations you probably want to use durable messaging to ensure that people's trips are booked. Using this hybrid approach allows for the best of both worlds within the same technology stack. &lt;strong&gt;Cool!&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;/strong&gt;BizTalk will use innovations in AppFabric while preserving your investments &lt;/li&gt;&lt;li&gt;Current demo included Workflow in running in BizTalk Host – long term vision is for BizTalk to run in AppFabric host &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;A question that I have is: currently BizTalk is a product and has a licensing cost associated with it. AppFabric is really a framework that has no licensing costs associated with it. As these two platforms converge, which "components" will continue to have a licensing cost versus no licensing costs?&lt;/p&gt;&lt;p&gt;Overall it appears to me that the future for both of these platforms is extremely bright and Microsoft continues to make key investments into integration.&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/3078460769226170088-5931729352822521036?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/5931729352822521036/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=5931729352822521036' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/5931729352822521036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/5931729352822521036'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2009/12/biztalk-server-futures-and-roadmap.html' title='BizTalk Server Futures and Roadmap'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_KBYzYDwIZhw/Sx78bRWHejI/AAAAAAAABME/lB2KyGQojSo/s72-c/NewStack.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-3094295000781826509</id><published>2009-11-08T14:06:00.001-08:00</published><updated>2009-11-08T14:06:50.084-08:00</updated><title type='text'>BizTalk 2009: Windows Server 2008 and SAMBA shares</title><content type='html'>&lt;p&gt;Another adventure that we experienced during a recent BizTalk 2009 cutover was the behaviour that Windows 2008 has on SAMBA shares.&amp;#160; For those of you who are unfamiliar with SAMBA shares they basically provide you the ability to access *nix shares from Windows based computers.&lt;/p&gt;  &lt;p&gt;In our previous setup(BizTalk 2006 running on Windows 2003) we had no issues communicating with SAMBA shares. Our infrastructure team recently updated the test system that we connect to version &amp;gt; 3.x of SAMBA where we had no issues when communicating with Windows 2008/BizTalk 2009 servers.&amp;#160; When we went live with this cutover in Prod, the SAMBA version had not been updated in that environment yet and we were running an older version of SAMBA (2.2.x).&amp;#160; The result of this was the following error which led to Host Instances going offline.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Event Type:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Error      &lt;br /&gt;Event Source:&amp;#160;&amp;#160;&amp;#160; BizTalk Server 2009       &lt;br /&gt;Event Category:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (1)       &lt;br /&gt;Event ID:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 6913       &lt;br /&gt;Date:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 11/7/2009       &lt;br /&gt;Time:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 7:00:50 PM       &lt;br /&gt;User:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; N/A       &lt;br /&gt;Computer:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Server       &lt;br /&gt;Description: &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;An attempt to connect to &amp;quot;BizTalkMgmtDb&amp;quot; SQL Server database on server &amp;quot;SQLServer\SQLInstance&amp;quot; failed. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Error: &amp;quot;Login failed. The login is from an untrusted domain and cannot be used with Windows authentication.&amp;quot; &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;For more information, see Help and Support Center at &lt;a href="http://go.microsoft.com/fwlink/events.asp"&gt;http://go.microsoft.com/fwlink/events.asp&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;The underlying cause for these errors was the BizTalk Host Instance account, that is used to connect to these shares, was being locked out due the issues in connecting with SAMBA.&amp;#160; Pretty much a BizTalk Developer/Admin/Architect’s worst nightmare.&lt;/p&gt;  &lt;p&gt;After performing some online searches we ran into the following &lt;a href="http://blogs.techrepublic.com.com/networking/?p=577" target="_blank"&gt;article&lt;/a&gt;. The Article simply states that “&lt;em&gt;Windows Vista and Server 2008 have a default version requirement of MS-LAN Manager communication that prohibits communication to older Linux-based Samba installations. This can be fixed via group policy or the local security policy.&lt;/em&gt;”&lt;/p&gt;  &lt;p&gt;You can read the article for more details, but what helped us was setting the LAN Manager authentication level to “Send LM &amp;amp; NTLM responses”.&amp;#160; Upon forcing a Group Policy update we were back in business thanks to the help of a few members of our infrastructure team.&lt;/p&gt;  &lt;p&gt;We also looked into providing Authentication credentials but that wouldn't help since these are &lt;u&gt;only&lt;/u&gt; provided when the Host Instance does not have access.&amp;#160; The BizTalk user did have access so those credentials are sent before these configured credentials are passed anyways.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/SvdA9rGnYPI/AAAAAAAABH4/KubpMhEe2KM/s1600-h/image%5B3%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/SvdA-WAHowI/AAAAAAAABH8/4xAfqCQ1a5A/image_thumb%5B1%5D.png?imgmax=800" width="435" height="484" /&gt;&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/3078460769226170088-3094295000781826509?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/3094295000781826509/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=3094295000781826509' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/3094295000781826509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/3094295000781826509'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2009/11/biztalk-2009-windows-server-2008-and.html' title='BizTalk 2009: Windows Server 2008 and SAMBA shares'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_KBYzYDwIZhw/SvdA-WAHowI/AAAAAAAABH8/4xAfqCQ1a5A/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-5143799864471091197</id><published>2009-11-08T09:18:00.001-08:00</published><updated>2009-11-08T09:18:58.999-08:00</updated><title type='text'>BizTalk 2009 – NSoftware FTP Adapter FTP protocol error: 550 rename: Cross-device link</title><content type='html'>&lt;p&gt;During a recent Production implementation of BizTalk 2009 we ran into an issue with the temporary folder option in the NSoftware FTP adapter.&amp;#160; The error itself is &lt;u&gt;not&lt;/u&gt; an NSoftware bug, but rather a feature/limitation of the FTP Protocol.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Event Type:&amp;#160;&amp;#160;&amp;#160; Error      &lt;br /&gt;Event Source:&amp;#160;&amp;#160;&amp;#160; nsoftware BizTalk FTP Transmit Adapter       &lt;br /&gt;Event Category:&amp;#160;&amp;#160;&amp;#160; None       &lt;br /&gt;Event ID:&amp;#160;&amp;#160;&amp;#160; 0       &lt;br /&gt;Date:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 11/7/2009       &lt;br /&gt;Time:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 2:50:22 PM       &lt;br /&gt;User:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; N/A       &lt;br /&gt;Computer:&amp;#160;&amp;#160;&amp;#160; Server       &lt;br /&gt;Description:       &lt;br /&gt;Source: nsoftware BizTalk FTP Transmit Adapter (3.5.3488.0)       &lt;br /&gt;Source URI: &lt;/em&gt;&lt;a href="FTP://%User%@%FTPServer%:21/%RemotePath%/%RemoteFile%"&gt;&lt;em&gt;FTP://%User%@%FTPServer%:21/%RemotePath%/%RemoteFile%&lt;/em&gt;&lt;/a&gt;     &lt;br /&gt;&lt;em&gt;Message Type: Error      &lt;br /&gt;Current Thread: 71       &lt;br /&gt;Transmission failed for message &amp;quot;019ef16e-0b57-4309-8a37-b5c05a61e7f9&amp;quot;: Error uploading FTP data: FTP protocol error: &lt;font color="#ff0000"&gt;550 rename: Cross-device link&lt;/font&gt; &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;If this error persists, you may enable Warning or Verbose logging modes to enable the adapter to report more information regarding the progression of this error.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Our scenario involved writing files in a specific sequence using delivery notification and using a temporary folder to support some reliability requirements.&amp;#160; The idea behind using a temp folder is you get the data to a “staging” area and once the adapter can confirm that all data was written it performs a rename operation on that file which is extremely quick.&amp;#160; It also reduces the risk of a consuming application retrieving the data from the file as it is being written.&amp;#160; This is especially important in *nix environments since file level locking has not been implemented the same way as it has in Windows environments.&lt;/p&gt;  &lt;p&gt;Here is how our destination folders have been configured:&lt;/p&gt;  &lt;p&gt;/home/work&lt;/p&gt;  &lt;p&gt;/home/arch&lt;/p&gt;  &lt;p&gt;/home/temp&lt;/p&gt;  &lt;p&gt;Since we are using delivery notification, the “work” file has to be written to first.&amp;#160; Once that operation has completed, then the arch(archive) file can be written.&amp;#160; Both of these messages are being sent through a dynamic send port and we have a routing rules repository where we store the specifics of where the message is suppose to be delivered to.&amp;#160; Our configuration called for both operations to use the same temp location. (Hindsight is 20/20)&lt;/p&gt;  &lt;p&gt;In Test, everything worked out perfectly but when we ran this process in Prod we ended up with the aforementioned error.&amp;#160; The difference between these environments is that the “arch” folder exists on a separate disk than “work” or “temp” in Prod.&amp;#160; Essentially the FTP Protocol cannot perform the rename operation from the “temp” folder across to a folder on a different disk that has been mounted to the same server.&lt;/p&gt;  &lt;p&gt;I was able to validate this by opening up a command prompt and establishing an FTP session.&amp;#160; Once I connected I tried to rename a file and place it on the “arch” disk.&amp;#160; I got a similar error:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;ftp&amp;gt; rename list.txt /home/arch&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;350 File exists, ready for destination name&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;font color="#ff0000"&gt;550 rename: Cross-device link&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;ftp&amp;gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;In a previous blog &lt;a href="http://kentweare.blogspot.com/2009/07/biztalk-2009-nsoftware-adapters-353477.html"&gt;post&lt;/a&gt; I discussed that NSoftware use to have a property called temporary file extension.&amp;#160; This property is no longer a property that is exposed in the Send Port configuration but is &lt;u&gt;still&lt;/u&gt; supported when you dive into their documentation.&amp;#160; To use this property , you want to click on the “…” button beside the “Other” property.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/Svb9fUAzjgI/AAAAAAAABHo/GfbRV8xHxpc/s1600-h/image%5B3%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/Svb9f0iaYyI/AAAAAAAABHs/gKWZM9X0YXY/image_thumb%5B1%5D.png?imgmax=800" width="424" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;In this property dialog box, populate &lt;strong&gt;TemporaryUploadExtension=.tmp &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/Svb9gVmdsdI/AAAAAAAABHw/veoEZqj09-w/s1600-h/image%5B7%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/Svb9gtkHuaI/AAAAAAAABH0/AaoGPY5ZgZw/image_thumb%5B3%5D.png?imgmax=800" width="644" height="180" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;This feature acts similarly to the temp folder, the difference is that the “temp” file will be written to the same folder as the file that you are transferring .&amp;#160; A consuming system that respects file extensions will still be “OK” with this situation since the file name will have “.tmp” added to it until the entire file has been written and at this point will remove this temporary extension via the rename operation.&lt;/p&gt;  &lt;p&gt;This situation just highlights how important matching your QA/Test environments and Production really is.&amp;#160; The other lesson is that not everything is exactly as it appears.&amp;#160; In our case the folder structures were exactly the same.&amp;#160; The difference was that one of the folders was mounted to a different disk. Finding this out is not a lot of fun when you are in the middle of a go live.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3078460769226170088-5143799864471091197?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/5143799864471091197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=5143799864471091197' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/5143799864471091197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/5143799864471091197'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2009/11/biztalk-2009-nsoftware-ftp-adapter-ftp.html' title='BizTalk 2009 – NSoftware FTP Adapter FTP protocol error: 550 rename: Cross-device link'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_KBYzYDwIZhw/Svb9f0iaYyI/AAAAAAAABHs/gKWZM9X0YXY/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-1915144234024607091</id><published>2009-10-27T20:23:00.001-07:00</published><updated>2009-12-06T12:03:17.493-08:00</updated><title type='text'>ShareTalk Integration (SharePoint/BizTalk) – Part 8 Integrating with the Cloud</title><content type='html'>&lt;p&gt;First off I apologize for the length of this post, but I trust that you will find some benefits with it.&amp;#160; The goal of this post is to demonstrate an on-premise form being completed and having that information sent to the cloud via BizTalk 2009.&amp;#160; The cloud will route this request to an off-site service that will respond to this request indicating whether or not the request was valid and return a result back to BizTalk.&amp;#160; BizTalk will use this status to kick off some workflow. I will also dive into some of collaboration features of WSS 3.0 and demonstrate how you can still provide form exception handling and form re-submittal in an asynchronous scenario.&lt;/p&gt;  &lt;p&gt;You may think that I am just trying to stuff as much Microsoft technology into one blog post as possible. What I am really demonstrating is giving BizTalk a user interface and allowing it to communicate with a off-premise service via the cloud.&amp;#160; The service itself is not hosted in the cloud, but rather in someone else’s data centre.&amp;#160; I am using the Microsoft cloud to relay the request using the App Fabric Service Bus(formerly known as the .Net Service Bus). &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; I started this blog post back in early November prior to November 2009 CTP so I have had to go through and resolve the breaking changes that the new CTP introduced.&amp;#160; I am not planning on getting into these breaking changes in much detail, but for further details check out the App Fabric team’s blog &lt;a href="http://blogs.msdn.com/netservicesannounce/archive/2009/11/11/the-net-services-november-2009-ctp-qfe-breaking-changes-announcement-and-scheduled-maintenance.aspx" target="_blank"&gt;post&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;To give this post some business substance, I am going to walk through a condensed use case in the Power industry in Alberta, Canada.&amp;#160; The Power industry is broken down into a few segments: Generators, Transmission companies, Distribution companies and Retailers.&amp;#160; The scenario I am going to walk through is on that involves a customer switching their Retailer.&amp;#160; Distribution companies provide the “infrastructure” that allows power to be delivered to Residential and Industrial customers.&amp;#160; Distribution companies are also required to provide meter usage data to Retailers where they will use this information to provide the end customer with a bill.&amp;#160; Customers generally have an option when it comes to choosing their Retailer but not so much the Distribution company.&amp;#160; In this scenario, the customer would like to switch retailers.&amp;#160; The Retailer must send the Distribution company a “Switch Retailer Request” in order for this customer to be officially “switched”.&amp;#160; The Distribution company needs this information so that they can send the correct meter data to the Retailer so they can bill their customer.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/Su3alVBqcKI/AAAAAAAABC8/V--hGgrHywM/s1600-h/image%5B6%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/Su3amCy2utI/AAAAAAAABDA/GcXhMvmoSG0/image_thumb%5B2%5D.png?imgmax=800" width="485" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Information Worker will fill out InfoPath “Switch Retailer Request” &lt;/li&gt;    &lt;li&gt;InfoPath form will be saved into a WSS Document Library &lt;/li&gt;    &lt;li&gt;BizTalk will consume this InfoPath form and submit the data to the Distribution Company’s “Switch Retailer&amp;quot; Service.&amp;#160; This Service is an on-premise service that is accessible via the &lt;strike&gt;.Net Service Bus&lt;/strike&gt; AppFabric Service Bus. &lt;/li&gt;    &lt;li&gt;The &lt;strike&gt;.Net Service&lt;/strike&gt; App Fabric Service Bus will provide a “simple” SiteID validation.&amp;#160; A SiteID is a identifier used to designate a Customer site – kinda like an address. &lt;/li&gt;    &lt;li&gt;If the SiteID validation is successful then the retailer will be switched and the InfoPath form will be sent to the “Success Switch Retailer Request” document library &lt;/li&gt;    &lt;li&gt;If the SiteID validation fails then the InfoPath form will be sent to the “Failed Switch Retailer Request” document library &lt;/li&gt;    &lt;li&gt;When the InfoPath form is sent to the Failed Switch Retailer Request” document library an email will be sent to the information worker informing them that the switch was not successful. The Information worker can then update the form to fix the error.&amp;#160; An error description is also provided in an “Error Message” column in the document library. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;On Premise Switch Retailer Service&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The Switch Retailer Service was written using C#, WCF and the&lt;strike&gt; &lt;/strike&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=38d8cf79-fc39-4aef-b3fd-ef280f2e9fa6&amp;amp;DisplayLang=en" target="_blank"&gt;&lt;strike&gt;July CTP of the .Net Services SDK&lt;/strike&gt;&lt;/a&gt;&amp;#160;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=c80ebadf-7eb8-4a62-abcd-0b57fa3855f8&amp;amp;displaylang=en" target="_blank"&gt;November CTP of the App Fabric Service Bus SDK&lt;/a&gt;.&amp;#160; I started with a pure WCF Service(so that I could generate Schemas for BizTalk) and then added the bits required for this service to be exposed via the .Net Service bus.&amp;#160; This is a similar approach to the one that Richard Seroter used in his &lt;a href="http://seroter.wordpress.com/2009/07/12/securely-calling-azure-service-bus-from-biztalk-server-2009/" target="_blank"&gt;blog post&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;I started with a couple of data contracts: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;SwitchRetailerRequest – this message will be sent from BizTalk and will contain pertinent information like the Customer’s Site ID, the Activation Date, the Retailer Id etc.&amp;#160; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/Su3amokYvCI/AAAAAAAABDE/w5tkqrwJGMU/s1600-h/image%5B10%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/Su3anEmloMI/AAAAAAAABDI/9H0dJwZJ81o/image_thumb%5B4%5D.png?imgmax=800" width="408" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;SwitchRetailerResponse – this message will be sent back to BizTalk from the SwitchRetailer service.&amp;#160; As part of this message, a status will be sent back and an ErrorMsg when the Switch Retailer fails. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/Su3aniIxo2I/AAAAAAAABDM/VYGj93DUrmQ/s1600-h/image%5B14%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/Su3aoNVCIEI/AAAAAAAABDQ/O1E3bIWtkOc/image_thumb%5B6%5D.png?imgmax=800" width="426" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;My interface defines an operation called “CustomerSwitchRetailer” and as you can see it is expecting a SwitchRetailerRequest and will return a SwitchRetailerResponse.&amp;#160; I have also provide a namespace and a name for this Service contract.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/Su3aomboo-I/AAAAAAAABDU/NWlP3-hgbdc/s1600-h/image%5B18%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/Su3ao5DWNWI/AAAAAAAABDY/kigqMkoyoTw/image_thumb%5B8%5D.png?imgmax=800" width="644" height="166" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The implementation of this service includes a call to the “validSite” method.&amp;#160; This method contains the logic that indicates whether this site is valid.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/Su3app1gooI/AAAAAAAABDc/oMJngT5IBsk/s1600-h/image%5B22%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/Su3aqr2pqOI/AAAAAAAABDk/99IZxZ2Dgjg/image_thumb%5B10%5D.png?imgmax=800" width="644" height="311" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The host for this service is a console application.&amp;#160; If you are familiar with the “Echo” sample then this will look very familiar.&amp;#160; When the CTP changed, I had to update this method due to some of the breaking changes.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/SxwNeBQG8nI/AAAAAAAABIA/9s-IGw1h0w8/s1600-h/image%5B3%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/SxwNfIltsmI/AAAAAAAABIE/5l3pVwoDw-M/image_thumb%5B1%5D.png?imgmax=800" width="644" height="388" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;strike&gt;Here is the significant portion of my services’ App.config.&amp;#160; I started with the .Net Services SDK Echo sample and have adopted it for my use.&amp;#160; Changes include creating a behaviour called “SbEndpointBehavior”.&amp;#160; In this behavior, I have indicated that I want to use “UserNamePassword” credentials as the credentialType.&amp;#160; When BizTalk connects to this service, we will need to match this credentialType in the BizTalk Admin Console.&amp;#160; The credentials themselves are credentials that you configure in the &lt;/strike&gt;&lt;a href="https://portal.ex.azure.microsoft.com/SignUp.aspx" target="_blank"&gt;&lt;strike&gt;.Net Service bus developer portal&lt;/strike&gt;&lt;/a&gt;&lt;strike&gt;.&lt;/strike&gt;&lt;/p&gt;  &lt;p&gt;The UserNamePassword credential type is &lt;a href="http://msdn.microsoft.com/en-us/library/dd630576.aspx" target="_blank"&gt;no longer supported&lt;/a&gt; in the latest version of the CTP. The prescriptive guidance is to use one of the new authentication types including Shared Secret, Simple Web Token or SAML.&amp;#160; For the purpose of this example I have used Shared Secret.&lt;/p&gt;  &lt;p&gt;Also notice the binding.&amp;#160; I have chosen the “netTcpRelayBinding” that ships with the .Net Service SDK.&amp;#160; When I initially created the WCF service I was using the basicHttpBinding but since I want to take advantage of the &lt;strike&gt;.Net&lt;/strike&gt; App Fabric Service Bus’ relay capabilities I want to use this binding.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/SxwNfb4tXDI/AAAAAAAABII/n6FfWy-wmYc/s1600-h/image%5B7%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/SxwNgIlLOQI/AAAAAAAABIM/W6n5Hn7SPlI/image_thumb%5B3%5D.png?imgmax=800" width="644" height="264" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;BizTalk&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;If we shift gears to the BizTalk portion of the solution, you will find the following artifacts:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;SwitchRetailer_InfoPath.xsd schema.&amp;#160; This schema is the message that BizTalk will receive from SharePoint and is also the underlying data structure in our InfoPath form.&amp;#160; The “ErrorMessage” element is not displayed on the InfoPath form but will be used later to populate a SharePoint column with the error message that is being returned from the Switch Retailer service. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/SxwNgsajfNI/AAAAAAAABIQ/VUX0JM19Hik/s1600-h/image186.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/SxwNg-6LeeI/AAAAAAAABIU/3rj5Q0DpAa4/image_thumb86.png?imgmax=800" width="244" height="177" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Service Schema – This schema was initially generated from consuming the WCF service that I built(before converting it to a .Net Service bus service).&amp;#160; A powerful feature of WCF, and therefore the&lt;strike&gt; .Net&lt;/strike&gt; App Fabric Service bus, is the separation between contracts and bindings.&amp;#160; I am still using the same contract between the WCF service and the one exposed by the .Net Service Bus, but the binding will be different. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/Su3auuX5GdI/AAAAAAAABEA/TFGEkOvjpvE/s1600-h/image%5B44%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/Su3avGBeC7I/AAAAAAAABEE/IvE8bMmk69Y/image_thumb%5B20%5D.png?imgmax=800" width="244" height="233" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;I need a map that will transform the data in the InfoPath form into the Service Request method &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/Su3avsNS2QI/AAAAAAAABEI/IVGPSv61dmY/s1600-h/image%5B48%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/Su3awbzkiOI/AAAAAAAABEM/lD5YBIeP2qc/image_thumb%5B22%5D.png?imgmax=800" width="644" height="206" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Once I have this request mapped, I want to send it to the service and receive the response.&amp;#160; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/Su3aw_rWo8I/AAAAAAAABEQ/ciIshpP2JQE/s1600-h/image%5B52%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/Su3axxgFQuI/AAAAAAAABEU/aS10MMOZcAw/image_thumb%5B24%5D.png?imgmax=800" width="644" height="412" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;As part of the response process, I need to determine the status of Switch Retailer.&amp;#160; I want to use a Distinguished field to make the retrieval of this status a simpler endeavor.&amp;#160; Since adding Distinguished Fields(or promoted properties) to a Service schema is not advised since you may update that schema later and lose the designation, I have created a helper message and want to map the Switch Retailer Response message to this helper message. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/SxwNhUeSMdI/AAAAAAAABIY/0Gq5kXFjz3M/s1600-h/image193.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/SxwNhrUmtFI/AAAAAAAABIc/XGSxGeZKh0A/image_thumb89.png?imgmax=800" width="244" height="162" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/SxwNiD14TbI/AAAAAAAABIg/B4ANm1AOb5I/s1600-h/image190.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/SxwNim07kHI/AAAAAAAABIk/ca0nw_z7_SA/image_thumb88.png?imgmax=800" width="644" height="143" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;I have a simple decide shape that will check the value of this distinguished field.&amp;#160; In the event that the status is true then I want to populate the “Success” SharePoint document library and in the event that the status is false then I want to populate the “Unsuccessful” SharePoint document library.&amp;#160; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Note: The WSS Adapter can be used in a dynamic fashion, so I could eliminate 1 port and use a dynamic port instead of a static port.&amp;#160; To keep this example simple, I have opted to use 2 static ports.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/Su3a0A4rQJI/AAAAAAAABEo/SlQ2QKjtX9s/s1600-h/image%5B68%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/Su3a1HKfrTI/AAAAAAAABEs/YnLb-nQdvMg/image_thumb%5B32%5D.png?imgmax=800" width="644" height="311" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/Su3a1utAifI/AAAAAAAABEw/IylmnScEGzM/s1600-h/image%5B64%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/Su3a1wUf1eI/AAAAAAAABE0/bYe2XPUnToU/image_thumb%5B30%5D.png?imgmax=800" width="244" height="148" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;In the “Else” branch I want to populate this return message with the Error Message from the service response message.&amp;#160; I will use this information to populate a column in the &amp;quot;Failures” document library &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/SxwNjOdkH2I/AAAAAAAABIo/p91fsWgHOHk/s1600-h/image197.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/SxwNj9qOIyI/AAAAAAAABIs/C_M3FTyKdTM/image_thumb91.png?imgmax=800" width="644" height="252" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;To allow for the Error Message to flow through to SharePoint, you will need to create a column in the document library(see below), but you will also need to configure BizTalk to pass this data along to SharePoint.&amp;#160; So in your “Failures” send port, set both the “Namespaces Aliases” and then set the Column 01 Value with an appropriate XPath statement. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Namespace Aliases:&lt;/strong&gt; ns0=&lt;a href="http://BizTalk_Server_Project3.SwitchRetailer_InfoPath"&gt;http://BizTalk_Server_Project3.SwitchRetailer_InfoPath&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Column 01 Value:&lt;/strong&gt; %XPATH=//ns0:SwitchRetailer/ErrorMessage%&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/SxwNk52tl7I/AAAAAAAABIw/rb7o0TrHjYc/s1600-h/image%5B11%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/SxwNlzrjEOI/AAAAAAAABI0/bP1Q-5mRZsY/image_thumb%5B5%5D.png?imgmax=800" width="435" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;SharePoint&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I am not going to go through each step in detail if I have already gone through it prevously but I will try to link back each step to a previous blog post where applicable.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Creating the InfoPath form from an XSD (&lt;a href="http://kentweare.blogspot.com/2009/10/sharetalk-integration-sharepointbiztalk_18.html" target="_blank"&gt;Post 6&lt;/a&gt;) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/Su3a2P-YzRI/AAAAAAAABE4/__Qmq0k7XsE/s1600-h/image%5B71%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/Su3a298CUoI/AAAAAAAABE8/uaOTy6mH7sU/image_thumb%5B33%5D.png?imgmax=800" width="244" height="158" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/Su3a4dkkuLI/AAAAAAAABFA/PHkscdxxVHE/s1600-h/image%5B78%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/Su3a5ENIXXI/AAAAAAAABFE/tAlHYDOPyLI/image_thumb%5B36%5D.png?imgmax=800" width="644" height="312" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Publish Info Path form (&lt;a href="http://kentweare.blogspot.com/2009/10/sharetalk-integration-sharepointbiztalk_18.html" target="_blank"&gt;Post 6&lt;/a&gt;).&amp;#160; As part of this process a document library called “Switch Retailer Document Library” was created. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/Su3a6BnzmfI/AAAAAAAABFI/P_frJLJkx9w/s1600-h/image%5B82%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/Su3a7PmVtqI/AAAAAAAABFM/MyYg4U38uQw/image_thumb%5B38%5D.png?imgmax=800" width="644" height="136" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Once you have published your form, when you click on “New” –&amp;gt; “New Document” your Switch Retailer Info Path Form should now appear. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/Su3a778tH_I/AAAAAAAABFQ/Uc6A4C5OmMM/s1600-h/image%5B85%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/Su3a8lzqsFI/AAAAAAAABFU/YUqcg6R7-dk/image_thumb%5B39%5D.png?imgmax=800" width="244" height="122" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/Su3a-OlCwqI/AAAAAAAABFY/1dljtVRvXsM/s1600-h/image%5B89%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/Su3a_F1t8JI/AAAAAAAABFc/SxbrAfEZOdU/image_thumb%5B41%5D.png?imgmax=800" width="644" height="434" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Recall in the BizTalk section that I have to route Switch Retail responses to either a Unsuccessful or Successful document libraries (&lt;a href="http://kentweare.blogspot.com/2009/10/sharetalk-integration-sharepointbiztalk_657.html" target="_blank"&gt;Post 3&lt;/a&gt;).&amp;#160; I have now gone ahead and done this. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/Su3bABwL1wI/AAAAAAAABFg/KAleuBOi5Us/s1600-h/image%5B93%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/Su3bA606UBI/AAAAAAAABFk/yYsTvbI99Dk/image_thumb%5B43%5D.png?imgmax=800" width="644" height="137" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/Su3bBvhMATI/AAAAAAAABFo/hXVdIFT2hJs/s1600-h/image%5B97%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/Su3bCdNzbdI/AAAAAAAABFs/4hanOABmB5g/image_thumb%5B45%5D.png?imgmax=800" width="644" height="188" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;In the case of the “Failures” document library I want to be able to provide error information into this document library so that when the information worker comes into fix the issue that they are aware of&amp;#160; what the issue is before they open the form. &lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Click on “Settings” –&amp;gt; “Create Column” &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/Su3bC4XBR9I/AAAAAAAABFw/VAAfxhuDlB0/s1600-h/image%5B175%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/Su3bEG08-wI/AAAAAAAABF0/pGah8xHzMd0/image_thumb%5B81%5D.png?imgmax=800" width="644" height="328" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/Su3bFLXEU_I/AAAAAAAABF4/GZt4WBIqorA/s1600-h/image%5B179%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/Su3bGLO1VEI/AAAAAAAABF8/OS0qn3sStlk/image_thumb%5B83%5D.png?imgmax=800" width="644" height="359" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/Su3bGlbnpGI/AAAAAAAABGA/leyiGUPpqtE/s1600-h/image%5B183%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/Su3bHWdGifI/AAAAAAAABGE/Xy2rL1NbyKE/image_thumb%5B85%5D.png?imgmax=800" width="644" height="260" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;When a Switch Request Fails, I would like to notify the information worker of this situation.&amp;#160; Yes, BizTalk has an SMTP adapter, but I have decided to leverage SharePoint to provide this functionality.&amp;#160; In order to do this I need to set up my outgoing SMTP settings in WSS 3.0.      &lt;ul&gt;       &lt;li&gt;Launch the “SharePoint 3.0 Central Administration” tool &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/Su3bH6siqAI/AAAAAAAABGI/R4O2gmGV2pI/s1600-h/image%5B100%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/Su3bIvu0hFI/AAAAAAAABGM/zxfDbLEPPIM/image_thumb%5B46%5D.png?imgmax=800" width="233" height="244" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;Click on “Application Management” &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/Su3bI31AW8I/AAAAAAAABGQ/lz01oSbjvXM/s1600-h/image%5B111%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/Su3bJpPvSsI/AAAAAAAABGU/1PbHLu42blk/image_thumb%5B51%5D.png?imgmax=800" width="244" height="213" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;Click on “Web application outgoing e-mail settings” &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/Su3bKQUT8JI/AAAAAAAABGY/Qtc1U-3tdcM/s1600-h/image%5B115%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/Su3bL41L3SI/AAAAAAAABGc/c95QXoM_KUs/image_thumb%5B53%5D.png?imgmax=800" width="573" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;Ensure that the correct Web Application has been selected and then provide the required email settings.&amp;#160; For this example I am just routing emails through my ISP. &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/Su3bNAekWaI/AAAAAAAABGg/lkSTLI9_Bw8/s1600-h/image%5B119%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/Su3bOnb2YuI/AAAAAAAABGk/T0Ogz1ABb0c/image_thumb%5B55%5D.png?imgmax=800" width="644" height="368" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;Also ensure that the user who will be receiving these failure alerts has an email associated to their account.&amp;#160; To do this jump back to your “Web Site” and click on the “Site Actions” - “Site Settings” link &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/Su3bPEbgosI/AAAAAAAABGo/Z2HfLefdy_g/s1600-h/image%5B123%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/Su3bQVdg5qI/AAAAAAAABGs/p_wVuvbqM00/image_thumb%5B57%5D.png?imgmax=800" width="644" height="123" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;Click on “People and groups” &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/Su3bQgMEF3I/AAAAAAAABGw/XNk5H-J2gpY/s1600-h/image%5B127%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/Su3bRgZh_uI/AAAAAAAABG0/8y1_enF5wL0/image_thumb%5B59%5D.png?imgmax=800" width="435" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;Click on the link of the user that you are interested in receiving email &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/Su3bSFWe7vI/AAAAAAAABG4/QvVDBDgXpW4/s1600-h/image%5B134%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/Su3bTMdYz1I/AAAAAAAABG8/Ba9smuKG3ho/image_thumb%5B62%5D.png?imgmax=800" width="644" height="333" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;Ensure that you have an email provided &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/Su3bUOK5cwI/AAAAAAAABHA/LjaT8oLju3w/s1600-h/image%5B149%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/Su3bUquhSRI/AAAAAAAABHE/MjAF6fu-dD4/image_thumb%5B69%5D.png?imgmax=800" width="644" height="308" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;Navigate back to your “Failures” document library &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/Su3bVCizfuI/AAAAAAAABHI/Vt4xsuUpZO8/s1600-h/image%5B156%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/Su3bVy65E0I/AAAAAAAABHM/P8f9cEdF04U/image_thumb%5B72%5D.png?imgmax=800" width="644" height="260" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;Click on “Actions” –&amp;gt; “Alert Me” &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/Su3bWpwDzmI/AAAAAAAABHQ/Vj4-CmtVgYw/s1600-h/image%5B163%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/Su3bX8nTykI/AAAAAAAABHU/IrVKQTJVInc/image_thumb%5B75%5D.png?imgmax=800" width="612" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Provide a title for your alert, add any required users that you want to receive this email and then indicate when you want the user(s) to receive the email.&amp;#160; I have decided to configure these users to only receive alerts when a “new” item is added. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/Su3bYg2JatI/AAAAAAAABHY/ulSLP8XDsy8/s1600-h/image%5B167%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/Su3bZgnVgCI/AAAAAAAABHc/vrL9ZVXOhJc/image_thumb%5B77%5D.png?imgmax=800" width="644" height="417" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/Su3baal-vRI/AAAAAAAABHg/UOfa976IrJI/s1600-h/image%5B171%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/Su3ba2TlJcI/AAAAAAAABHk/PawF8zBFloI/image_thumb%5B79%5D.png?imgmax=800" width="644" height="281" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Configuring the demo&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Start the “Switch Retailer Cloud” service &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/SxwNmQ0Oo0I/AAAAAAAABI4/j5BQCL61nxA/s1600-h/image%5B15%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/SxwNnOdP8KI/AAAAAAAABI8/ftlcTb_Zbcc/image_thumb%5B7%5D.png?imgmax=800" width="446" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Since I am using the November 2009 CTP SDK and have opted to use the Shared Secret authentication type, I need to provided a Service Namespace, my Issuer Name and my Issuer Secret.&amp;#160; These details are available from the Azure Developer Portal. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/SxwNn3bIscI/AAAAAAAABJE/62AIrbMtKyE/s1600-h/image%5B19%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/SxwNodoV8PI/AAAAAAAABJI/smznaBoB2No/image_thumb%5B9%5D.png?imgmax=800" width="644" height="316" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/SxwNo6jLF7I/AAAAAAAABJM/Nr_7pnW2RC4/s1600-h/image%5B23%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/SxwNpREsj0I/AAAAAAAABJQ/5w6HeC9LkFs/image_thumb%5B11%5D.png?imgmax=800" width="644" height="192" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Next I want to ensure my BizTalk configuration is correct.&amp;#160; The first step is to establish my receive location to SharePoint that will look for Switch Retailer InfoPath forms that have been submitted to the “Switch Retailer Document Library” &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/SxwNqRcvqwI/AAAAAAAABJU/-IhKiMNZTTU/s1600-h/image%5B27%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/SxwNrfGHXpI/AAAAAAAABJY/OriLdi0Kdx4/image_thumb%5B13%5D.png?imgmax=800" width="560" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The next step is to establish my configuration that will allow BizTalk to connect to the App Fabric Service bus. In this two-way send port, I am going to use the WCF-Custom Adapter.&amp;#160; This Adapter will allow me to use the netTcpRelayBinding which allows me to communicate with the App Fabric Service Bus.&amp;#160; For this reason, you need to have the App Fabric Service Bus CTP installed on your BizTalk server. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/SxwNsR50PII/AAAAAAAABJc/PFiZzmWAzAA/s1600-h/image%5B31%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/SxwNtJVQlkI/AAAAAAAABJg/Qr7GKYCW3f8/image_thumb%5B15%5D.png?imgmax=800" width="352" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/SxwNt31S3hI/AAAAAAAABJk/q-W1l1_l1I0/s1600-h/image%5B35%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/SxwNu3qTC8I/AAAAAAAABJo/oY5BnRGxojA/image_thumb%5B17%5D.png?imgmax=800" width="352" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;I needed to create a Endpoint Behavior and since the Switch Retailer Service uses a transportClientEndpointBehaviour, the client(BizTalk) needs to match this Endpoint Behavior.&amp;#160; Since UserNamePassword is no longer an option, I have opted for “SharedSecret”.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/SxwNvlJPElI/AAAAAAAABJs/dJtCj5YZa5M/s1600-h/image%5B43%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/SxwNwfwkUdI/AAAAAAAABJw/dkEhqZ-i6fk/image_thumb%5B23%5D.png?imgmax=800" width="374" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;I now need to create two Send Ports; one that will route Successful Retailer switches and one that will route Unsuccessful Retailer switches. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/SxwNw51zcLI/AAAAAAAABJ0/Rl1dnQ8lFjk/s1600-h/image%5B47%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/SxwNxpIJXfI/AAAAAAAABJ4/P4kyEQhg1Qw/image_thumb%5B25%5D.png?imgmax=800" width="435" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/SxwNyCB3hAI/AAAAAAAABJ8/uyJVPZFaXXs/s1600-h/image%5B51%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/SxwNzUD6sTI/AAAAAAAABKA/_SCbe1FOVZM/image_thumb%5B27%5D.png?imgmax=800" width="435" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Running the Demo&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;In the previous steps, we have started the Switch Retailer Service, configured BizTalk and are are ready to start calling this service via SharePoint/BizTalk.&amp;#160; The first InfoPath form submitted will be successful, followed by a failed request.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;InfoPath form has been populated and submitted &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/SxwNzzgjkQI/AAAAAAAABKE/-hD-KpH5tog/s1600-h/image%5B57%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/SxwN0cftpII/AAAAAAAABKI/Z4NW1dZWcFY/image_thumb%5B31%5D.png?imgmax=800" width="663" height="435" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Switch Retailer Request has been placed in Document Library &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/SxwN01YwVQI/AAAAAAAABKM/CL_Ra-p3v38/s1600-h/image%5B61%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/SxwN1a976WI/AAAAAAAABKQ/gpD2wBbFGH0/image_thumb%5B33%5D.png?imgmax=800" width="644" height="130" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;BizTalk is polling this Document Library on a regular basis &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/SxwN1pIxH3I/AAAAAAAABKU/JoEJJZsMgQA/s1600-h/image%5B65%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/SxwN2DK4cRI/AAAAAAAABKY/JiX6BVUgURg/image_thumb%5B35%5D.png?imgmax=800" width="644" height="99" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The App Fabric Service receives this request and routes it to the Switch Retailer Service.&amp;#160; The service will validate the request and provide the response to BizTalk. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/SxwN2tBc3wI/AAAAAAAABKc/NcUadO6u0Rw/s1600-h/image%5B71%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/SxwN3ETfi_I/AAAAAAAABKg/mN8MBy36OXQ/image_thumb%5B39%5D.png?imgmax=800" width="681" height="334" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;As you can see the response was successful and the document was routed through the SharePoint Success Send Port. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/SxwN3qLSI8I/AAAAAAAABKk/0lC_4Gj6MPo/s1600-h/image%5B75%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/SxwN4DLA7vI/AAAAAAAABKo/bZbKJCmQWf8/image_thumb%5B41%5D.png?imgmax=800" width="644" height="425" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The InfoPath form has been routed to the “Success” Document Library &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/SxwN4hYT6ZI/AAAAAAAABKs/iJSlPdIus80/s1600-h/image%5B79%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/SxwN4xBB_6I/AAAAAAAABKw/iOweg0vqzu4/image_thumb%5B43%5D.png?imgmax=800" width="644" height="130" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;I will now send an invalid Switch Request by providing a Site ID that only has a length of 3. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/SxwN5nEboxI/AAAAAAAABK0/KeMGUScOuLY/s1600-h/image%5B86%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/SxwN6eWip8I/AAAAAAAABK4/nkDjD5lirSk/image_thumb%5B46%5D.png?imgmax=800" width="644" height="435" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The Service has detected this invalid Site Id and logged it accordingly &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/SxwN60Q7xPI/AAAAAAAABK8/2_YK5TUsmfA/s1600-h/image%5B90%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/SxwN7gARGGI/AAAAAAAABLA/r2OqAFFWZg8/image_thumb%5B48%5D.png?imgmax=800" width="644" height="327" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;BizTalk has received the response and detected that the Switch Retailer failed.&amp;#160; BizTalk will therefore route this message to the “Failed” document library. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/SxwN8EpK4NI/AAAAAAAABLE/jiQT5jVSVZY/s1600-h/image%5B94%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/SxwN8r79z5I/AAAAAAAABLI/bWhCcoaYFlw/image_thumb%5B50%5D.png?imgmax=800" width="644" height="421" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Failed InfoPath form has been delivered and the Error that has occurred is populated in the “Error Message” column. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/SxwN9I9K5UI/AAAAAAAABLM/76Rfi7ytonU/s1600-h/image%5B98%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/SxwN9vG3vlI/AAAAAAAABLQ/4UYp7QekX5U/image_thumb%5B52%5D.png?imgmax=800" width="644" height="123" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;I had previously configured SharePoint to notify me, via email, whenever a new document was placed in the “Switch Retailer Failures” document library.&amp;#160; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/SxwN-HYfAEI/AAAAAAAABLU/-2CWkxXRjZ4/s1600-h/image%5B102%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/SxwN-v6CvmI/AAAAAAAABLY/_U0jkivdLaI/image_thumb%5B54%5D.png?imgmax=800" width="644" height="264" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;I have fixed up the Site Id and re-submitted &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/SxwN-029saI/AAAAAAAABLc/5q5c1E2Jx1o/s1600-h/image%5B106%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/SxwN_VemhwI/AAAAAAAABLg/1u0zXTBR3_E/image_thumb%5B56%5D.png?imgmax=800" width="644" height="294" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The Switch Retailer Service has received this updated request and this time it was successful &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/SxwN_kI9D1I/AAAAAAAABLk/bFSfcOx9D8A/s1600-h/image%5B110%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/SxwN_32cUoI/AAAAAAAABLo/DpWQ-ZFwPV0/image_thumb%5B58%5D.png?imgmax=800" width="644" height="43" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/SxwOAdKe6CI/AAAAAAAABLs/fCEVeU7KDA0/s1600-h/image%5B114%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/SxwOA1RUziI/AAAAAAAABLw/Pj2Wvd69edw/image_thumb%5B60%5D.png?imgmax=800" width="644" height="145" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Generally hooking up BizTalk to a user interface can be a risky endeavor as the UI can be blocked while BizTalk is processing.&amp;#160; If a downstream system is down, a time out could exist on the UI client if BizTalk is working through its retry progressions.&amp;#160; By using the approach above, we have eliminated the potential of the UI client being locked up while BizTalk is calling the Switch Retailer service.&amp;#160; By leveraging some workflow capabilities in SharePoint and BizTalk we can still provide the user meaningful feedback in reasonable amount of time asynchronously.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3078460769226170088-1915144234024607091?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/1915144234024607091/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=1915144234024607091' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/1915144234024607091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/1915144234024607091'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2009/10/sharetalk-integration-sharepointbiztalk_27.html' title='ShareTalk Integration (SharePoint/BizTalk) – Part 8 Integrating with the Cloud'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_KBYzYDwIZhw/Su3amCy2utI/AAAAAAAABDA/GcXhMvmoSG0/s72-c/image_thumb%5B2%5D.png?imgmax=800' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-7650216998810311637</id><published>2009-10-19T07:36:00.000-07:00</published><updated>2009-10-19T08:05:36.203-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ShareTalk Integration'/><title type='text'>ShareTalk Integration Series - PDF Available</title><content type='html'>Bil Simser, a colleague and SharePoint MVP has captured this series as a PDF document. I do have plans for one or two more posts in this series and he has offered to update the PDF as new posts appear.&lt;br /&gt;&lt;br /&gt;Here is a &lt;a href="http://weblogs.asp.net/bsimser/archive/2009/10/18/sharetalk-soup-to-nuts.aspx"&gt;link &lt;/a&gt;to his post where you can find this PDF document.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3078460769226170088-7650216998810311637?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/7650216998810311637/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=7650216998810311637' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/7650216998810311637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/7650216998810311637'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2009/10/sharetalk-integration-series-pdf.html' title='ShareTalk Integration Series - PDF Available'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-1280719815953330343</id><published>2009-10-18T16:59:00.001-07:00</published><updated>2009-10-18T16:59:40.454-07:00</updated><title type='text'>ShareTalk Integration (SharePoint/BizTalk) – Part 7 Adding Content Approval</title><content type='html'>&lt;p&gt;In the last &lt;a href="http://kentweare.blogspot.com/2009/10/sharetalk-integration-sharepointbiztalk_18.html" target="_blank"&gt;post&lt;/a&gt;, I showed you how to submit InfoPath forms to SharePoint and have BizTalk consume those forms once they were posted.&amp;#160; This is great, but what if you need to have a supervisor approve the form before BizTalk consumes it?&amp;#160; In this post we will use a feature in WSS 3.0 called “Content Approval” to mange the state that a document is in.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Open up your Document library, click on “Settings” – &amp;gt;”Form Library Settings” &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/SturnIkNVJI/AAAAAAAAA-w/u6cLDfrTvEc/s1600-h/image%5B3%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/SturoB__HJI/AAAAAAAAA-0/KOPXJYm8u74/image_thumb%5B1%5D.png?imgmax=800" width="644" height="315" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Click on “Versioning settings” &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/Sturoq48wZI/AAAAAAAAA-4/qwy3ojEr9jk/s1600-h/image%5B11%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/SturpVFOq3I/AAAAAAAAA-8/qJnD3Cp5mZA/image_thumb%5B5%5D.png?imgmax=800" width="644" height="337" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Ensure that you select “Require content approval for submitted items”, modify your security&amp;#160; as required and then click on “OK” &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/SturqEbCAgI/AAAAAAAAA_A/Zsk9Tcn5pmg/s1600-h/image%5B113%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/SturqrGAHjI/AAAAAAAAA_E/ieWsxxJl2ls/image_thumb%5B55%5D.png?imgmax=800" width="644" height="275" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;If you navigate back to your Document Library, you will notice a new column called “Approval Status” &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/SturrCg5EhI/AAAAAAAAA_I/33wertgYpiQ/s1600-h/image%5B19%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/SturrkuKQGI/AAAAAAAAA_M/eT--dXq5oCQ/image_thumb%5B9%5D.png?imgmax=800" width="644" height="104" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Notice that when you add a new form that it has a status of “Pending”.&amp;#160; Also, if you haven’t done so disable your BizTalk receive location because BizTalk will not observe the status of the document – for now anyways. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/StursAQDpMI/AAAAAAAAA_Q/ochY18H33UY/s1600-h/image%5B92%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/StursXbPBrI/AAAAAAAAA_U/vby5WkuNlyc/image_thumb%5B44%5D.png?imgmax=800" width="644" height="98" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;When you click on the pull down menu for the form, you now have an “Approve/reject” option – click it. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/Sturs72l3aI/AAAAAAAAA_Y/JPiWXHqDDI8/s1600-h/image%5B33%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/SturtC8ZEzI/AAAAAAAAA_c/xvmkMeOQ4_Q/image_thumb%5B15%5D.png?imgmax=800" width="243" height="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Click on the “Approved” radio button, add a comment and click “OK” &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/Sturt0xHOgI/AAAAAAAAA_g/WcSWRyU4PNY/s1600-h/image%5B37%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/SturuYSpRzI/AAAAAAAAA_k/cVajUZFHquQ/image_thumb%5B17%5D.png?imgmax=800" width="644" height="260" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Notice now that the document has been approved and the Approval Status reflects this change. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/SturuyYUB8I/AAAAAAAAA_o/WG2jDjzDO_0/s1600-h/image%5B100%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/SturwJcOpEI/AAAAAAAAA_s/Hs-u8oI27_0/image_thumb%5B48%5D.png?imgmax=800" width="644" height="166" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;So if we want BizTalk to only consume forms that have been approved, how does this help us?&amp;#160; What we can now do is create a “View” and then populate the “View Name” property in the BizTalk Receive Location. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/SturwueoAcI/AAAAAAAAA_w/gl2s75IjUm4/s1600-h/image%5B45%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/Sturxhk-UnI/AAAAAAAAA_0/U8mR7cc6mYU/image_thumb%5B21%5D.png?imgmax=800" width="435" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Click on the “All Documents” drop down and select “Create View” &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/SturyN5JoWI/AAAAAAAAA_4/rMB8UNu1CT0/s1600-h/image%5B49%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/SturytlLaUI/AAAAAAAAA_8/S2PttZyWe1I/image_thumb%5B23%5D.png?imgmax=800" width="644" height="199" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Click on “Standard View” link &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/Sturyzr6UcI/AAAAAAAABAA/SKO_0dvfTLg/s1600-h/image%5B53%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/Sturzkg7KFI/AAAAAAAABAE/GBCCCzmEUqs/image_thumb%5B25%5D.png?imgmax=800" width="644" height="331" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Provide the View with a name: “Approved Forms” &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/Stur0RsJgbI/AAAAAAAABAI/eDB3FpbV6nY/s1600-h/image%5B57%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/Stur1D6VbJI/AAAAAAAABAM/ILywMHY5X1k/image_thumb%5B27%5D.png?imgmax=800" width="644" height="254" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Create a filter that indicates only to display items in this view when “Approval Status” is equal to “Approved” and click OK. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/Stur1kHvBZI/AAAAAAAABAQ/QTJONec5uhM/s1600-h/image%5B61%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/Stur2AyWZkI/AAAAAAAABAU/xT47FsaTjMU/image_thumb%5B29%5D.png?imgmax=800" width="644" height="293" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Add another form to this library but don’t approve it.&amp;#160; Now toggle between the “All Documents” and “Approved Forms” &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/Stur2VdKhaI/AAAAAAAABAY/9J9J9EwE3K4/s1600-h/image%5B68%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/Stur222aExI/AAAAAAAABAc/rLYklkGywqs/image_thumb%5B32%5D.png?imgmax=800" width="644" height="130" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/Stur4GrNsYI/AAAAAAAABAg/vpBixz2sAR0/s1600-h/image%5B108%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/Stur4nKFATI/AAAAAAAABAk/z1u0uxDWzpE/image_thumb%5B52%5D.png?imgmax=800" width="644" height="125" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Modify your BizTalk Receive Location so that it will only pull documents from the “Approved Forms” view. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/Stur5HD6RAI/AAAAAAAABAs/Ojy_gKyQFRc/s1600-h/image%5B76%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/Stur6LbbojI/AAAAAAAABAw/jtovlBAaEac/image_thumb%5B36%5D.png?imgmax=800" width="435" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Enable this receive location and you should find that only the “Approved” form is consumed.&amp;#160; The “Pending” form should still be in the document library. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/StursAQDpMI/AAAAAAAAA_Q/ochY18H33UY/s1600-h/image%5B92%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/StursXbPBrI/AAAAAAAAA_U/vby5WkuNlyc/image_thumb%5B44%5D.png?imgmax=800" width="644" height="98" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/Stur6qOFK0I/AAAAAAAABA0/6vcrXP-aeYM/s1600-h/image%5B84%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/Stur6_gXIdI/AAAAAAAABA4/C42AatcK-kA/image_thumb%5B40%5D.png?imgmax=800" width="644" height="87" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;What really impresses me about building these scenarios is the depth of the Microsoft platforms.&amp;#160; I haven’t been in Visual Studio much at all through this series.&amp;#160; There is so much functionality that is available out of the box which makes these scenarios very quick to build.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3078460769226170088-1280719815953330343?l=kentweare.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kentweare.blogspot.com/feeds/1280719815953330343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3078460769226170088&amp;postID=1280719815953330343' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/1280719815953330343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3078460769226170088/posts/default/1280719815953330343'/><link rel='alternate' type='text/html' href='http://kentweare.blogspot.com/2009/10/sharetalk-integration-sharepointbiztalk_4024.html' title='ShareTalk Integration (SharePoint/BizTalk) – Part 7 Adding Content Approval'/><author><name>Kent Weare</name><uri>http://www.blogger.com/profile/12128408181333089696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_KBYzYDwIZhw/R35Dr9AOilI/AAAAAAAAAEw/vs-kvyPm0XM/S220/KentWeare.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_KBYzYDwIZhw/SturoB__HJI/AAAAAAAAA-0/KOPXJYm8u74/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3078460769226170088.post-6593901183128391608</id><published>2009-10-18T12:39:00.001-07:00</published><updated>2009-10-18T12:39:18.266-07:00</updated><title type='text'>ShareTalk Integration (SharePoint/BizTalk) – Part 6 Form automation using InfoPath/SharePoint/BizTalk</title><content type='html'>&lt;p&gt;You may have some scenarios within your organization where you have people filling out forms using pen and paper or perhaps using MS Word or Excel.&amp;#160; The result of both of these activities is that you usually have another person re-keying this information into the downstream system that actually needs this information.&amp;#160; As you can see this process is horrible inefficient.&amp;#160; Not only is there a lot of duplication of effort, but there may also be data quality issues if you are trying to read someone’s “chicken scratch” and then input that information into another form.&lt;/p&gt;  &lt;p&gt;The purpose of this post is to explore some of the integration capabilities that exist between InfoPath/SharePoint/BizTalk.&amp;#160; &lt;/p&gt;  &lt;p&gt;As I have mentioned in the past, I work in the energy industry.&amp;#160; We have many mobile workers who are out in the field and have durable laptops where they will manage their work orders, email etc.&amp;#160; These workers need to be able to get their “documentation” out of the way quickly so that they can focus on their jobs.&amp;#160; Using a tool like InfoPath aligns well with their productivity needs as it is easy to use and also supports online/offline capabilities since these workers generally make network connections from rural areas.&lt;/p&gt;  &lt;p&gt;The POC that I am going to build is related to a Field Incident Form that can be used for mobile workers to populate when an incident has occurred in the field.&amp;#160; The incident could be related to environment issues such as an oil spill or an injury that has occurred.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Define your contract&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Open up Visual Studio and model your schema.&amp;#160; By doing so, you will ensure that BizTalk, SharePoint and InfoPath are all “speaking” the same language. Once done, ensure you have saved your XSD as we will use it in the development of the InfoPath form.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/SttsjbnfGqI/AAAAAAAAA4g/ZjxodkoVK3M/s1600-h/image%5B3%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/SttsmNrMOfI/AAAAAAAAA4k/DgmotEP-qQo/image_thumb%5B1%5D.png?imgmax=800" width="644" height="436" /&gt;&lt;/a&gt;&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Define your InfoPath form&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Click “Design a Form Template” &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/SttsmzsV9gI/AAAAAAAAA4o/7EJHe-beigg/s1600-h/image%5B7%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/Sttsn0QByoI/AAAAAAAAA4s/FOcY17a1jU4/image_thumb%5B3%5D.png?imgmax=800" width="644" height="299" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;XML or Schema &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/SttsosAbCxI/AAAAAAAAA4w/yw_Pr_1Js7Y/s1600-h/image%5B15%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/Sttsp5b_ENI/AAAAAAAAA40/gBZjf5MfPDE/image_thumb%5B7%5D.png?imgmax=800" width="644" height="397" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Browse to your XSD that you developed in Visual Studio &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/Sttsr98D2AI/AAAAAAAAA48/Lwq66xayjqg/s1600-h/image%5B19%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/SttstKGDyOI/AAAAAAAAA5A/38zer_k_2kc/image_thumb%5B9%5D.png?imgmax=800" width="644" height="439" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/Sttst0vXKSI/AAAAAAAAA5E/SEgtqPDEu6E/s1600-h/image%5B23%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/SttsujUCYII/AAAAAAAAA5I/QKpgUx7sphg/image_thumb%5B11%5D.png?imgmax=800" width="644" height="439" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Drag and Drop the fields from the right hand side onto your form.&amp;#160; You then can work on making the UI pretty. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/SttsvQUTMxI/AAAAAAAAA5M/ezKSfqF0qNk/s1600-h/image%5B27%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/SttswnnjIDI/AAAAAAAAA5Q/vAU4TzfLVks/image_thumb%5B13%5D.png?imgmax=800" width="644" height="332" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;What can I say, I am a BizTalk developer not a Silverlight/WPF developer &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/Sttsx59nQLI/AAAAAAAAA5U/zH3XFEooQ6Q/s1600-h/image%5B34%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/Sttsy-1VUPI/AAAAAAAAA5Y/RNGUjTnwC5Y/image_thumb%5B16%5D.png?imgmax=800" width="644" height="384" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;strong&gt;Publish your form&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Publish this form to your SharePoint document library by clicking on the “Publish Form Template” &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/Stts1FzCunI/AAAAAAAAA5c/Z0wVRB4ZnTY/s1600-h/image%5B145%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/Stts2MrXbUI/AAAAAAAAA5g/RvzkBPaxZw0/image_thumb%5B71%5D.png?imgmax=800" width="355" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Select “To a SharePoint server with or without InfoPath Forms Services” and click “Next” &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_KBYzYDwIZhw/Stts4WzrYCI/AAAAAAAAA5k/fSz2QKmsKjc/s1600-h/image%5B149%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/Stts5l-5_xI/AAAAAAAAA5o/AaUBp-QceQY/image_thumb%5B73%5D.png?imgmax=800" width="638" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;Provide a link to your SharePoint Document library and click yes.&amp;#160; If you have issues with this, make sure that you have a root site i.e. &lt;a href="http://server/"&gt;http://server/&lt;/a&gt; otherwise you will get an error. &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/Stts6cis4WI/AAAAAAAAA5s/RpO4gdNg9kE/s1600-h/image%5B181%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/Stts8izfl2I/AAAAAAAAA5w/RmUiD4C8-XE/image_thumb%5B89%5D.png?imgmax=800" width="638" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;I want to publish the form as a “Document Library”. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/Stts-U11oWI/AAAAAAAAA50/juq5EftyIpk/s1600-h/image%5B185%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/Stts_-jfCII/AAAAAAAAA54/8htgyYzWNRk/image_thumb%5B91%5D.png?imgmax=800" width="638" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Select “Create a new document library” and click “Next”.&amp;#160; I called my Document Library “Field Incident Reporting Forms”.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/StttB70c81I/AAAAAAAAA58/LLe8z7CQ4Tc/s1600-h/image%5B189%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_KBYzYDwIZhw/StttDNsXnNI/AAAAAAAAA6A/hXU55oTX480/image_thumb%5B93%5D.png?imgmax=800" width="638" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Add any columns that you would like to be displayed in the document library.&amp;#160; The data that will be displayed comes from underlying XML that is captured in the InfoPath form. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_KBYzYDwIZhw/StttEHWi3DI/AAAAAAAAA6E/3qZr_nw_Mcw/s1600-h/image%5B193%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_KBYzYDwIZhw/StttFpxbTEI/AAAAAAAAA6I/CHYveDv9rnI/image_thumb%5B95%5D.png?imgmax=800" width="638" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;“Publish” &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/StttGA-jjaI/AAAAAAAAA6M/qmRRSepjW_Q/s1600-h/image%5B199%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/StttHry4x6I/AAAAAAAAA6Q/DolSPIGSwkY/image_thumb%5B99%5D.png?imgmax=800" width="638" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Success &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_KBYzYDwIZhw/StttImdjrVI/AAAAAAAAA6U/hkn-uQXBC_o/s1600-h/image%5B203%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_KBYzYDwIZhw/StttLUTpM9I/AAAAAAAAA6Y/3MTBXSpz6IA/image_thumb%5B101%5D.png?imgmax=800" width="644" height="457" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Document Library has been published &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_KBYzYDwIZhw/StttMC_vogI/AAAAAAAAA6c/kPY9umAWSIw/s1600-h/image%5B207%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_KBYzYDwIZhw/StttNAEg2RI/AAAAAAAAA6g/RDvMEkKMuZU/image_thumb%5B103%5D.png?imgmax=800" width="644" height="283" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Click on the “New” button and you will find that the Field Incident Entry Form is automatically displayed
