<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www.pluralsight.com/community/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Jon Fancey's Blog</title><link>http://www.pluralsight.com/community/blogs/jfancey/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2008 (Build: 30417.1769)</generator><item><title>the cat is finally out of the bag...</title><link>http://www.pluralsight.com/community/blogs/jfancey/archive/2007/10/30/48899.aspx</link><pubDate>Tue, 30 Oct 2007 20:25:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:48899</guid><dc:creator>jon-fancey</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.pluralsight.com/community/blogs/jfancey/rsscomments.aspx?PostID=48899</wfw:commentRss><comments>http://www.pluralsight.com/community/blogs/jfancey/archive/2007/10/30/48899.aspx#comments</comments><description>&lt;P&gt;&lt;A href="http://www.microsoft.com/presspass/press/2007/oct07/10-30OsloPR.mspx?rss_fdn=Press%20Releases"&gt;http://www.microsoft.com/presspass/press/2007/oct07/10-30OsloPR.mspx?rss_fdn=Press%20Releases&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;:-)&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=48899" width="1" height="1"&gt;</description></item><item><title>Public BizTalk R2 course coming up</title><link>http://www.pluralsight.com/community/blogs/jfancey/archive/2007/10/18/48797.aspx</link><pubDate>Thu, 18 Oct 2007 06:08:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:48797</guid><dc:creator>jon-fancey</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.pluralsight.com/community/blogs/jfancey/rsscomments.aspx?PostID=48797</wfw:commentRss><comments>http://www.pluralsight.com/community/blogs/jfancey/archive/2007/10/18/48797.aspx#comments</comments><description>&lt;P&gt;The spotlight is certainly on BizTalk at the moment both inside and outside Microsoft. What with R2 shipping and the BPM conference at the end of the month there's no shortage of stuff to look at.&lt;/P&gt;
&lt;P&gt;If you want more, focussed content, on the new features I'll be teaching a public offering of the R2 course in a couple of weeks (beginning 6th&amp;nbsp;Nov)&amp;nbsp;in Waltham, MA near Boston. There's still a couple of slots free if you're quick...&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=48797" width="1" height="1"&gt;</description></item><item><title>New MSDN article on BizTalk and IBM technologies</title><link>http://www.pluralsight.com/community/blogs/jfancey/archive/2007/08/29/48317.aspx</link><pubDate>Wed, 29 Aug 2007 12:01:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:48317</guid><dc:creator>jon-fancey</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.pluralsight.com/community/blogs/jfancey/rsscomments.aspx?PostID=48317</wfw:commentRss><comments>http://www.pluralsight.com/community/blogs/jfancey/archive/2007/08/29/48317.aspx#comments</comments><description>&lt;P&gt;My latest paper on integrating BizTalk and IBM technologies is now up on &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ce46a7d0-93b7-4076-b36b-f1c62715b5fa&amp;amp;displaylang=en"&gt;MSDN&lt;/A&gt; covering WebSphere MQ, DB2, Host files and applications. I'm assured it will be HTML'd and added to the library in the not too distant future.&lt;/P&gt;
&lt;P&gt;feedback always welcome...&lt;BR&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=48317" width="1" height="1"&gt;</description></item><item><title>What if you like SOAP and don't like web references? - Redux</title><link>http://www.pluralsight.com/community/blogs/jfancey/archive/2007/06/07/47683.aspx</link><pubDate>Thu, 07 Jun 2007 18:00:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:47683</guid><dc:creator>jon-fancey</dc:creator><slash:comments>10</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.pluralsight.com/community/blogs/jfancey/rsscomments.aspx?PostID=47683</wfw:commentRss><comments>http://www.pluralsight.com/community/blogs/jfancey/archive/2007/06/07/47683.aspx#comments</comments><description>&lt;P&gt;&lt;FONT face=Arial size=2&gt;I started the &lt;/FONT&gt;&lt;A href="http://www.jonfancey.com/default.aspx?key=2006-11-08T20:48:14Z"&gt;&lt;FONT face=Arial size=2&gt;first &lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Arial size=2&gt;post on this, with "this is interesting, sort of" - well judging by the number of people who've asked me for more details on doing it I think I was wrong. Apologies to all, I've been so busy the last few months that I just haven't had time to get some code examples up there...until now!&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;Get the code &lt;/FONT&gt;&lt;A href="http://www.jonfancey.com/downloads/genericrouter.zip"&gt;&lt;FONT face=Arial size=2&gt;here&lt;/FONT&gt;&lt;/A&gt;&lt;/A&gt;&lt;FONT face=Arial size=2&gt; to try this for yourself. Essentially, this is an example of what I discussed before, where you can do dynamic sends using the SOAP adapter. For those that haven't tried it, you might be thinking, what's the big deal, but as I mentioned, theres a couple of gotchas which stop this from working as cleanly as with other adapters. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;The first is that you can't just set the OutboundTransportLocation from an orchestration (or receive pipeline) as you would do for other dynamic adapters. This is because the Uri scheme (the bit before the address, e.g. HTTP://) is used by BizTalk to lookup the adapter alias from the&amp;nbsp;adm_AdapterAlias table in the management database. As the SOAP adapter only supports SOAP over HTTP you must set the scheme to SOAP:// in order to route it correctly.&amp;nbsp;But this won't work because then the ASMX proxy plumbing (called by the&amp;nbsp;adapter)&amp;nbsp;will fail as it is expecting HTTP:// and will make the call using SOAP:// instead. The way round this is to set the Microsoft.XLANGs.BaseTypes.Address property of the port&amp;nbsp;- which will deliver the message to the SOAP adapter&amp;nbsp;- and then set the OutboundTransportLocation context property in the Send pipeline. The example code shows how to call a Web service using this technique by pulling the Uri to send the message to from the inbound message itself. This dynamic routing is extremely powerful and very useful for Web services.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;&lt;FONT size=2&gt;The second&amp;nbsp;gotcha is around the use of a proxy. When you add a Web reference to a BizTalk project, similar (but not identical) logic is used to classic ASMX whereby a proxy is generated from the URL you provide in&amp;nbsp;the wizard. The proxy contains the Web methods that map to the operations on the provider's WSDL. The problem is that you end up baking the service interface into the client. Rather than creating a client proxy for each client (which is&amp;nbsp;a pain), what we really want is a generic proxy capable of calling &lt;EM&gt;any &lt;/EM&gt;client. Worse than this, ASMX forces the SOAPAction HTTP header (for SOAP 1.1 support) to match the name of this method which makes it very inflexible. Changing this however turns out to be pretty easy using reflection. The code in the download overrides the Invoke method of the &lt;FONT color=#008080&gt;SoapHttpClientProtocol &lt;FONT color=#000000&gt;in the System.Web.Services.Protocols namespace. Normally this method is called by the Webmethod passing the name of the Webmethod itself (which is Dispatch in the sample). Invoke itself then uses reflection to get the method parameters etc to formulate the call to the service implementation. To keep things simple the code here only deals with a single parameter, XmlNode. Of course you could easily extend this if&amp;nbsp;you wanted to&amp;nbsp;but then you'd be wanting to pass multiple Xml docs which kinda goes against the philosophy of doc/lit. The orch's Send port is then configured to use our generic proxy and call the Dispatch method to make this all work.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;There are three projects in the solution, BizTalk (with the Send pipeline and Orch), the generic proxy called by the SOAP send adapter&amp;nbsp;and a simple Web service implementation to call. Simply compile everything, deploy the BizTalk project and GAC the generic proxy assembly. Deploying will create all the ports (sorry about the names) - just create a folder c:\webrefsfilein and enlist and start the orch. You can then drop in the xml file in the Test Data folder in the BizTalk project. There is tracing code throughout, so grab the invaluable sysinternals (sorry, Microsoft) tool, Debug Viewer &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/technet/sysinternals/Miscellaneous/DebugView.mspx"&gt;&lt;FONT face=Arial size=2&gt;here&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Arial size=2&gt;. Run the solution (with the Web service as the default startup).&amp;nbsp;When you drop the file in it should call the Web service (specified in the file) and return a result, logging the call (see pic below). Enjoy!&lt;/FONT&gt;&lt;/P&gt;&lt;FONT face=Arial size=2&gt;&lt;IMG src="http://www.jonfancey.com/images/debugview.JPG"&gt;&lt;/FONT&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=47683" width="1" height="1"&gt;</description></item><item><title>What a week</title><link>http://www.pluralsight.com/community/blogs/jfancey/archive/2007/03/15/46481.aspx</link><pubDate>Fri, 16 Mar 2007 00:02:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:46481</guid><dc:creator>jon-fancey</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.pluralsight.com/community/blogs/jfancey/rsscomments.aspx?PostID=46481</wfw:commentRss><comments>http://www.pluralsight.com/community/blogs/jfancey/archive/2007/03/15/46481.aspx#comments</comments><description>&lt;P&gt;So, I'm sitting in Sea-Tac airport waiting to return home with &lt;A href="http://geekswithblogs.net/cyoung"&gt;Charles Young &lt;/A&gt;from the MVP Summit. Not only has it been great to meet and put so many faces to names but the whole experience was fantastic. Of course, it pretty much rained all week, but I certainly can't complain about that.&lt;/P&gt;
&lt;P&gt;A big thanks go out to all the people behind the organization and especially &lt;A href="http://blogs.msdn.com/biztalk_server_team_blog"&gt;Marjan Kalantar&lt;/A&gt; from the product group for putting together a great show and giving us plenty to think about.&lt;/P&gt;
&lt;P&gt;The fact that I am writing this on&amp;nbsp;&lt;A href="http://www.pluralsight.com"&gt;pluralsight &lt;/A&gt;rather than &lt;A href="http://www.jonfancey.com/default.aspx"&gt;jonfancey.com &lt;/A&gt;is also of course very significant. I've just joined up and&amp;nbsp;will be starting to teach Applied BizTalk alongside my new BizTalk and WF collegues, Jon Flanders, Aaron and Matt over the coming weeks/months. I can't wait.&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=46481" width="1" height="1"&gt;</description></item></channel></rss>