<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>.net 2</title>
        <link>http://geekswithblogs.net/michaelstephenson/category/5431.aspx</link>
        <description>.net 2</description>
        <language>en-GB</language>
        <copyright>Michael Stephenson</copyright>
        <managingEditor>michael_stephensonuk@yahoo.co.uk</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <item>
            <title>MsTest Command Line Referenced Assemblies</title>
            <link>http://geekswithblogs.net/michaelstephenson/archive/2007/08/10/114554.aspx</link>
            <description>&lt;p&gt;This was a small issue i came across the other day, just thought would add a note about it like i usually do.&lt;/p&gt;
&lt;p&gt;&lt;u&gt;&lt;strong&gt;Problem&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;When running my tests in visual studio everything is fine and they all pass.  In this particular case they were actually BizUnit tests where some of my steps use a proxy class which i have created and is in a seperate assembly.  In my assembly where i have my tests i have just added a reference even though my code does not directly use the assembly i reference.&lt;/p&gt;
&lt;p&gt;The problem is when i run my tests of the command line using mstest.  I get an error that the proxy type can not be found and it turns out that the assembly containing it hasnt been copied to the test run folder where as when running them in the IDE it is copied.&lt;/p&gt;
&lt;p&gt;&lt;u&gt;&lt;strong&gt;Solution&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;The way i solved this was to add a deployment item to the test run config.  This will ensure the proxy assembly is copied to the folder regardless if the tests are ran from the command line or the IDE&lt;/p&gt;
&lt;p&gt;Hope this saves someone a few minutes.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=114554"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=114554" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/michaelstephenson/aggbug/114554.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>michael stephenson</dc:creator>
            <guid>http://geekswithblogs.net/michaelstephenson/archive/2007/08/10/114554.aspx</guid>
            <pubDate>Fri, 10 Aug 2007 14:59:48 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/michaelstephenson/comments/114554.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/michaelstephenson/archive/2007/08/10/114554.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/michaelstephenson/comments/commentRss/114554.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/michaelstephenson/services/trackbacks/114554.aspx</trackback:ping>
        </item>
        <item>
            <title>Microsoft WMI Code Generation Tool</title>
            <link>http://geekswithblogs.net/michaelstephenson/archive/2007/06/29/113589.aspx</link>
            <description>&lt;p&gt;I hadnt seen this anywhere before, but a collegue pointed me at it and i must say am very impressed.  It basically lets you view the WMI Classes then generate code to use them&lt;/p&gt;
&lt;p&gt;It is very handy when working on BizTalk utilities&lt;/p&gt;
&lt;p&gt;Get it here&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;http://www.microsoft.com/downloads/thankyou.aspx?familyId=2cc30a64-ea15-4661-8da4-55bbc145c30e&amp;amp;displayLang=en&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=113589"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=113589" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/michaelstephenson/aggbug/113589.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>michael stephenson</dc:creator>
            <guid>http://geekswithblogs.net/michaelstephenson/archive/2007/06/29/113589.aspx</guid>
            <pubDate>Fri, 29 Jun 2007 20:29:52 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/michaelstephenson/comments/113589.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/michaelstephenson/archive/2007/06/29/113589.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/michaelstephenson/comments/commentRss/113589.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/michaelstephenson/services/trackbacks/113589.aspx</trackback:ping>
        </item>
        <item>
            <title>One to watch for with WSE Filters</title>
            <link>http://geekswithblogs.net/michaelstephenson/archive/2007/05/06/112283.aspx</link>
            <description>&lt;p&gt;&lt;strong&gt;&lt;u&gt;Scenario&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I am currently working on a project where one of the things we deliver is a web service exposed by BizTalk which allows other applications to interact with one of the legacy systems.  The service is consumed primarily by a .net application being developed on another project within the same company.  When trying to consume the service the developers of the .net application were recieving an error and with BizTalk being involved the usual case of blaming BizTalk as it is this strange mystical beast that we dont really understand so it must be its fault.&lt;/p&gt;
&lt;p&gt;&lt;u&gt;&lt;strong&gt;Solution&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;I was working with a collegue to help with this problem that the developer was experiencing and with a little diagnosis we found the cause of the problem to be in the WSE Input filter used by the application.  The .net application was a distributed application which had some middle tier web services which a smart client used.  One of the middle tier components would be calling the BizTalk web service.  In these web services there was a WSE input filter which was expected to validate something on requests made from the smart client but it was also acting upon the response sent from the BizTalk service where the code wasnt anticipated to run.  Without getting into what the filter did it basically had an error when it was running on the response from BizTalk.  The solution to this was that in the filter we added a like to check that it was a request message we were dealing with and if it wasnt we would not execute the filters code.  I think the syntax was something like&lt;/p&gt;
&lt;p&gt;soapEnvelope.Context.IsRequest&lt;/p&gt;
&lt;p&gt;The lessons to take away from this are as follows:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;When developing a service consumer it is a good practice to develop a stub of the service and code initially against that so you can get your code working without the complexity of what would be normally behind the service.&lt;/li&gt;
    &lt;li&gt; &lt;/li&gt;
    &lt;li&gt;when using WSE Filters ensure you check the type of message (request or response) if it can break your code being in the wrong context&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;As an aside my collegue who helped with this is Nicolai Sorensen, he blog is here &lt;font face="Arial"&gt;&lt;a href="http://devauthority.com/blogs/nicolai/default.aspx"&gt;http://devauthority.com/blogs/nicolai/default.aspx&lt;/a&gt; although i wouldnt recommend reading it as it is pretty boring &lt;img alt="" src="/Providers/BlogEntryEditor/FCKeditor/editor/images/smiley/msn/wink_smile.gif" /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=112283"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=112283" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/michaelstephenson/aggbug/112283.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>michael stephenson</dc:creator>
            <guid>http://geekswithblogs.net/michaelstephenson/archive/2007/05/06/112283.aspx</guid>
            <pubDate>Sun, 06 May 2007 15:58:42 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/michaelstephenson/comments/112283.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/michaelstephenson/archive/2007/05/06/112283.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/michaelstephenson/comments/commentRss/112283.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/michaelstephenson/services/trackbacks/112283.aspx</trackback:ping>
        </item>
        <item>
            <title>Calling MsTest from MsBuild with multiple test containers</title>
            <link>http://geekswithblogs.net/michaelstephenson/archive/2007/04/27/112031.aspx</link>
            <description>&lt;p style="MARGIN: 0cm 0cm 0pt 27pt"&gt;&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt;Learnt something new with MsTest today… in the scripts I have for our projects we run the tests using MsTest from the command line as follows:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 0pt 27pt"&gt;&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 0pt 27pt"&gt;&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt;&amp;lt;Exec Command='"$(VS80COMNTOOLS)..\IDE\mstest.exe" /testcontainer:Acme\Group\BizTalk\Utilities\Tests\bin\$(ConfigurationName)\Acme.Group.BizTalk.Utilities.Tests.dll /runconfig:localtestrun.testrunconfig' /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 0pt 27pt"&gt;&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 0pt 27pt"&gt;&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt;&amp;lt;Exec Command='"$(VS80COMNTOOLS)..\IDE\mstest.exe" /testcontainer:Acme\Group\BizTalk\PipelineComponents\Tests\bin\$(ConfigurationName)\Acme.Group.BizTalk.PipelineComponents.Tests.dll /runconfig:localtestrun.testrunconfig' /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 0pt 27pt"&gt;&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 0pt 27pt"&gt;&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt;&amp;lt;Exec Command='"$(VS80COMNTOOLS)..\IDE\mstest.exe" /testcontainer:Acme\Group\BizTalk\Build\Tests\bin\$(ConfigurationName)\Acme.Group.BizTalk.Build.Tests.dll /runconfig:localtestrun.testrunconfig' /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 0pt 27pt"&gt;&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 0pt 27pt"&gt;&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt;&amp;lt;Exec Command='"$(VS80COMNTOOLS)..\IDE\mstest.exe" /testcontainer:Acme\Group\BizTalk\Testing\Tests\bin\$(ConfigurationName)\Acme.Group.BizTalk.Testing.Tests.dll /runconfig:localtestrun.testrunconfig' /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 0pt 27pt"&gt;&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 0pt 27pt"&gt;&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt;This will run out 4 test assemblies fine.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;Ok so now I was interested in the code coverage aspect and getting the report into CruiseControl (more on this later) and I found a couple of things.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 0pt 27pt"&gt;&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 27pt; VERTICAL-ALIGN: middle; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt"&gt;&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri; mso-bidi-font-family: Calibri; mso-fareast-font-family: Calibri"&gt;&lt;span style="mso-list: Ignore"&gt;1.&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;             &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt;Each assembly is run completely seperately in different folders when it is tested&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 0pt 27pt"&gt;&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 27pt; VERTICAL-ALIGN: middle; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo2; tab-stops: list 36.0pt"&gt;&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri; mso-bidi-font-family: Calibri; mso-fareast-font-family: Calibri"&gt;&lt;span style="mso-list: Ignore"&gt;2.&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;             &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt;There are 4 coverage reports, 1 for each assembly&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 0pt 27pt"&gt;&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 0pt 27pt"&gt;&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt;This is really what you would expect, but in order to run the tests and get just one coverage file I needed to change the way I was calling MsTest.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;Basically thanks to my collegue Callum Hibbert (who I always ask if I have a problem with anything Build or TFS related) I found that when calling MsTest you can specify multiple test containers an example of which would be as follows:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 0pt 27pt"&gt;&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 0pt 27pt"&gt;&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt;&lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;&amp;lt;Exec Command='"$(VS80COMNTOOLS)..\IDE\mstest.exe" /testcontainer:Acme\Group\BizTalk\Utilities\Tests\bin\$(ConfigurationName)\Acme.Group.BizTalk.Utilities.Tests.dll /testcontainer:Acme\Group\BizTalk\PipelineComponents\Tests\bin\$(ConfigurationName)\Acme.Group.BizTalk.PipelineComponents.Tests.dll /runconfig:localtestrun.testrunconfig' /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 0pt 27pt"&gt;&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 0pt 27pt"&gt;&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt;(ive only specified 2 here to keep the example simpler but you can supply 4 in the same way)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 0pt 27pt"&gt;&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 0pt 27pt"&gt;&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt;This means when I now run the reports I have 1 folder containing all of the test stuff and also 1 test coverage file.&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 0pt 27pt"&gt;&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 0pt 27pt"&gt;&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt;[As a side note on this we done have Team Suite or Team Test to use a test list]&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;o:p&gt;&lt;font face="Times New Roman" size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=112031"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=112031" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/michaelstephenson/aggbug/112031.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>michael stephenson</dc:creator>
            <guid>http://geekswithblogs.net/michaelstephenson/archive/2007/04/27/112031.aspx</guid>
            <pubDate>Fri, 27 Apr 2007 09:13:32 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/michaelstephenson/comments/112031.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/michaelstephenson/archive/2007/04/27/112031.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/michaelstephenson/comments/commentRss/112031.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/michaelstephenson/services/trackbacks/112031.aspx</trackback:ping>
        </item>
        <item>
            <title>I hate the visual studio configuration manager</title>
            <link>http://geekswithblogs.net/michaelstephenson/archive/2007/04/15/111672.aspx</link>
            <description>&lt;p&gt;We all have things in the development tools and processes that bug us and this is one of mine.  Why am i blogging about this? &lt;/p&gt;
&lt;p&gt;- To relieve some frustration &lt;/p&gt;
&lt;p&gt;- On the off chance that someone might read this who can do something about it ;-)&lt;/p&gt;
&lt;p&gt;&lt;u&gt;&lt;strong&gt;What is the configuration manager?&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;The configuration manager is that tool in visual studio that allows you to configure what mode different projects are in.  See diagram.&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="http://geekswithblogs.net/images/geekswithblogs_net/michaelstephenson/5433/o_CongurationManager.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;u&gt;&lt;strong&gt;Why does it bug me?&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;Most of these bug me's are related to things i have come across in BizTalk development so maybe they arent a big deal in normal .net coding, but&lt;/p&gt;
&lt;p&gt;- What is the BizTalk "development" and "deployment" modes all about, why cant they just be "debug" and "release" like all other projects?&lt;/p&gt;
&lt;p&gt;- When you build a project and you then realise that one of your projects was configured to the wrong mode.  You did a debug build but for some reason your xx project was configured to be in release not debug.  Sometimes you seem to actually change this setting without actually changing it (Thats my way of not falling into the bad workman blames his tools bracket)&lt;/p&gt;
&lt;p&gt;- When you change the settings in the configuration manager you seem to have to close it to save the settings.&lt;/p&gt;
&lt;p&gt;- And finally that bloody "Deploy" setting just please take it out.  Deploying through Visual Studio may seem simple but it sets the deployment path to be your local path which causes problems when you export your application as an msi.  The better way is to use BTSTask or the BizTalk Admin Console&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Ok so im glad thats off my chest and i now feel much more chilled out, saved me some money on therapy &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=111672"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=111672" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/michaelstephenson/aggbug/111672.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>michael stephenson</dc:creator>
            <guid>http://geekswithblogs.net/michaelstephenson/archive/2007/04/15/111672.aspx</guid>
            <pubDate>Sun, 15 Apr 2007 07:26:32 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/michaelstephenson/comments/111672.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/michaelstephenson/archive/2007/04/15/111672.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/michaelstephenson/comments/commentRss/111672.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/michaelstephenson/services/trackbacks/111672.aspx</trackback:ping>
        </item>
        <item>
            <title>MsTest Error - Unit Test Adapter threw exception</title>
            <link>http://geekswithblogs.net/michaelstephenson/archive/2007/02/12/106080.aspx</link>
            <description>&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Problem&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;I was trying to run my tests through the visual studio IDE, i was getting the following error:&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Unit Test Adapter threw exception: System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information..&lt;BR&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Symptoms&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;The following symptoms existed:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;If i chose to debug the tests they all worked.&amp;nbsp; They only failed when doing a normal run&lt;/LI&gt;
&lt;LI&gt;Some of my assemblies were signed&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;Solution&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;The solution is that in the code coverage section of the test run config i needed to supply a key to resign the assemblies&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=106080"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=106080" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/michaelstephenson/aggbug/106080.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>michael stephenson</dc:creator>
            <guid>http://geekswithblogs.net/michaelstephenson/archive/2007/02/12/106080.aspx</guid>
            <pubDate>Mon, 12 Feb 2007 10:45:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/michaelstephenson/comments/106080.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/michaelstephenson/archive/2007/02/12/106080.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/michaelstephenson/comments/commentRss/106080.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/michaelstephenson/services/trackbacks/106080.aspx</trackback:ping>
        </item>
        <item>
            <title>Kerberos Adventures - Lessons Learned</title>
            <link>http://geekswithblogs.net/michaelstephenson/archive/2007/02/09/105919.aspx</link>
            <description> 
&lt;ul style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in; MARGIN-LEFT: 0.074in; DIRECTION: ltr; unicode-bidi: embed"&gt;
    &lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;The security stuff is pretty much complete so here are some random thoughts after this experience which might be useful to anyone else.&lt;/p&gt;
    &lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
    &lt;div style="DIRECTION: ltr"&gt; 
    &lt;div style="DIRECTION: ltr"&gt;
    &lt;table style="BORDER-RIGHT: #a3a3a3 1pt solid; BORDER-TOP: #a3a3a3 1pt solid; BORDER-LEFT: #a3a3a3 1pt solid; DIRECTION: ltr; BORDER-BOTTOM: #a3a3a3 1pt solid; BORDER-COLLAPSE: collapse" cellspacing="0" cellpadding="0" border="1" valign="top"&gt;
        &lt;tbody&gt;
            &lt;tr&gt;
                &lt;td style="BORDER-RIGHT: #a3a3a3 1pt solid; PADDING-RIGHT: 4pt; BORDER-TOP: #a3a3a3 1pt solid; PADDING-LEFT: 4pt; PADDING-BOTTOM: 4pt; VERTICAL-ALIGN: top; BORDER-LEFT: #a3a3a3 1pt solid; WIDTH: 3.604in; PADDING-TOP: 4pt; BORDER-BOTTOM: #a3a3a3 1pt solid"&gt;
                &lt;p style="FONT-WEIGHT: bold; FONT-SIZE: 11pt; MARGIN: 0in; FONT-STYLE: italic; FONT-FAMILY: Calibri; TEXT-DECORATION: underline"&gt;Article&lt;/p&gt;
                &lt;/td&gt;
                &lt;td style="BORDER-RIGHT: #a3a3a3 1pt solid; PADDING-RIGHT: 4pt; BORDER-TOP: #a3a3a3 1pt solid; PADDING-LEFT: 4pt; PADDING-BOTTOM: 4pt; VERTICAL-ALIGN: top; BORDER-LEFT: #a3a3a3 1pt solid; WIDTH: 5.508in; PADDING-TOP: 4pt; BORDER-BOTTOM: #a3a3a3 1pt solid"&gt;
                &lt;p style="FONT-WEIGHT: bold; FONT-SIZE: 11pt; MARGIN: 0in; FONT-STYLE: italic; FONT-FAMILY: Calibri; TEXT-DECORATION: underline"&gt;Description&lt;/p&gt;
                &lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td style="BORDER-RIGHT: #a3a3a3 1pt solid; PADDING-RIGHT: 4pt; BORDER-TOP: #a3a3a3 1pt solid; PADDING-LEFT: 4pt; PADDING-BOTTOM: 4pt; VERTICAL-ALIGN: top; BORDER-LEFT: #a3a3a3 1pt solid; WIDTH: 3.604in; PADDING-TOP: 4pt; BORDER-BOTTOM: #a3a3a3 1pt solid"&gt;
                &lt;p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;a href="http://geekswithblogs.net/michaelstephenson/archive/2007/02/05/105529.aspx"&gt;POC Overview&lt;/a&gt;&lt;/p&gt;
                &lt;/td&gt;
                &lt;td style="BORDER-RIGHT: #a3a3a3 1pt solid; PADDING-RIGHT: 4pt; BORDER-TOP: #a3a3a3 1pt solid; PADDING-LEFT: 4pt; PADDING-BOTTOM: 4pt; VERTICAL-ALIGN: top; BORDER-LEFT: #a3a3a3 1pt solid; WIDTH: 5.508in; PADDING-TOP: 4pt; BORDER-BOTTOM: #a3a3a3 1pt solid"&gt;
                &lt;p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;Details about the different proof of concepts we did to validate all of the different scenarios we require.&lt;/p&gt;
                &lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td style="BORDER-RIGHT: #a3a3a3 1pt solid; PADDING-RIGHT: 4pt; BORDER-TOP: #a3a3a3 1pt solid; PADDING-LEFT: 4pt; PADDING-BOTTOM: 4pt; VERTICAL-ALIGN: top; BORDER-LEFT: #a3a3a3 1pt solid; WIDTH: 3.604in; PADDING-TOP: 4pt; BORDER-BOTTOM: #a3a3a3 1pt solid"&gt;
                &lt;p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;a href="http://geekswithblogs.net/michaelstephenson/archive/2007/02/02/105239.aspx"&gt;Useful Links&lt;/a&gt;&lt;/p&gt;
                &lt;/td&gt;
                &lt;td style="BORDER-RIGHT: #a3a3a3 1pt solid; PADDING-RIGHT: 4pt; BORDER-TOP: #a3a3a3 1pt solid; PADDING-LEFT: 4pt; PADDING-BOTTOM: 4pt; VERTICAL-ALIGN: top; BORDER-LEFT: #a3a3a3 1pt solid; WIDTH: 5.508in; PADDING-TOP: 4pt; BORDER-BOTTOM: #a3a3a3 1pt solid"&gt;
                &lt;p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;Some links to articles and blogs which will provide useful background information&lt;/p&gt;
                &lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td style="BORDER-RIGHT: #a3a3a3 1pt solid; PADDING-RIGHT: 4pt; BORDER-TOP: #a3a3a3 1pt solid; PADDING-LEFT: 4pt; PADDING-BOTTOM: 4pt; VERTICAL-ALIGN: top; BORDER-LEFT: #a3a3a3 1pt solid; WIDTH: 3.604in; PADDING-TOP: 4pt; BORDER-BOTTOM: #a3a3a3 1pt solid"&gt;
                &lt;p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;a href="http://geekswithblogs.net/michaelstephenson/archive/2007/02/02/105241.aspx"&gt;Useful Tools&lt;/a&gt;&lt;/p&gt;
                &lt;/td&gt;
                &lt;td style="BORDER-RIGHT: #a3a3a3 1pt solid; PADDING-RIGHT: 4pt; BORDER-TOP: #a3a3a3 1pt solid; PADDING-LEFT: 4pt; PADDING-BOTTOM: 4pt; VERTICAL-ALIGN: top; BORDER-LEFT: #a3a3a3 1pt solid; WIDTH: 5.508in; PADDING-TOP: 4pt; BORDER-BOTTOM: #a3a3a3 1pt solid"&gt;
                &lt;p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;Links to tools which were useful to help troubleshooting this implementation&lt;/p&gt;
                &lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td style="BORDER-RIGHT: #a3a3a3 1pt solid; PADDING-RIGHT: 4pt; BORDER-TOP: #a3a3a3 1pt solid; PADDING-LEFT: 4pt; PADDING-BOTTOM: 4pt; VERTICAL-ALIGN: top; BORDER-LEFT: #a3a3a3 1pt solid; WIDTH: 3.604in; PADDING-TOP: 4pt; BORDER-BOTTOM: #a3a3a3 1pt solid"&gt;
                &lt;p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;a href="http://geekswithblogs.net/michaelstephenson/archive/2007/02/06/105608.aspx"&gt;Problems - Error Consuming a service from an XP Client on service pack 2&lt;/a&gt;&lt;/p&gt;
                &lt;/td&gt;
                &lt;td style="BORDER-RIGHT: #a3a3a3 1pt solid; PADDING-RIGHT: 4pt; BORDER-TOP: #a3a3a3 1pt solid; PADDING-LEFT: 4pt; PADDING-BOTTOM: 4pt; VERTICAL-ALIGN: top; BORDER-LEFT: #a3a3a3 1pt solid; WIDTH: 5.508in; PADDING-TOP: 4pt; BORDER-BOTTOM: #a3a3a3 1pt solid"&gt;
                &lt;p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;Details of the problem and how we solved it&lt;/p&gt;
                &lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td style="BORDER-RIGHT: #a3a3a3 1pt solid; PADDING-RIGHT: 4pt; BORDER-TOP: #a3a3a3 1pt solid; PADDING-LEFT: 4pt; PADDING-BOTTOM: 4pt; VERTICAL-ALIGN: top; BORDER-LEFT: #a3a3a3 1pt solid; WIDTH: 3.604in; PADDING-TOP: 4pt; BORDER-BOTTOM: #a3a3a3 1pt solid"&gt;
                &lt;p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;a href="http://geekswithblogs.net/michaelstephenson/archive/2007/02/06/105609.aspx"&gt;Problems - Credentials not delegated the User is null&lt;/a&gt;&lt;/p&gt;
                &lt;/td&gt;
                &lt;td style="BORDER-RIGHT: #a3a3a3 1pt solid; PADDING-RIGHT: 4pt; BORDER-TOP: #a3a3a3 1pt solid; PADDING-LEFT: 4pt; PADDING-BOTTOM: 4pt; VERTICAL-ALIGN: top; BORDER-LEFT: #a3a3a3 1pt solid; WIDTH: 5.508in; PADDING-TOP: 4pt; BORDER-BOTTOM: #a3a3a3 1pt solid"&gt;
                &lt;p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;We had some problems in delegation and this describes the problem and how it was solved&lt;/p&gt;
                &lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td style="BORDER-RIGHT: #a3a3a3 1pt solid; PADDING-RIGHT: 4pt; BORDER-TOP: #a3a3a3 1pt solid; PADDING-LEFT: 4pt; PADDING-BOTTOM: 4pt; VERTICAL-ALIGN: top; BORDER-LEFT: #a3a3a3 1pt solid; WIDTH: 3.604in; PADDING-TOP: 4pt; BORDER-BOTTOM: #a3a3a3 1pt solid"&gt;
                &lt;p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;a href="http://geekswithblogs.net/michaelstephenson/archive/2007/02/06/105610.aspx"&gt;Problems - The handle for the current process could not be retrieved&lt;/a&gt;&lt;/p&gt;
                &lt;/td&gt;
                &lt;td style="BORDER-RIGHT: #a3a3a3 1pt solid; PADDING-RIGHT: 4pt; BORDER-TOP: #a3a3a3 1pt solid; PADDING-LEFT: 4pt; PADDING-BOTTOM: 4pt; VERTICAL-ALIGN: top; BORDER-LEFT: #a3a3a3 1pt solid; WIDTH: 5.508in; PADDING-TOP: 4pt; BORDER-BOTTOM: #a3a3a3 1pt solid"&gt;
                &lt;p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;This was an error we had with a BizTalk web service exposed using the WSE 2 adapter&lt;/p&gt;
                &lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td style="BORDER-RIGHT: #a3a3a3 1pt solid; PADDING-RIGHT: 4pt; BORDER-TOP: #a3a3a3 1pt solid; PADDING-LEFT: 4pt; PADDING-BOTTOM: 4pt; VERTICAL-ALIGN: top; BORDER-LEFT: #a3a3a3 1pt solid; WIDTH: 3.604in; PADDING-TOP: 4pt; BORDER-BOTTOM: #a3a3a3 1pt solid"&gt;
                &lt;p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;a href="http://geekswithblogs.net/michaelstephenson/archive/2007/02/06/105919.aspx"&gt;Lessons Learned&lt;/a&gt;&lt;/p&gt;
                &lt;/td&gt;
                &lt;td style="BORDER-RIGHT: #a3a3a3 1pt solid; PADDING-RIGHT: 4pt; BORDER-TOP: #a3a3a3 1pt solid; PADDING-LEFT: 4pt; PADDING-BOTTOM: 4pt; VERTICAL-ALIGN: top; BORDER-LEFT: #a3a3a3 1pt solid; WIDTH: 5.508in; PADDING-TOP: 4pt; BORDER-BOTTOM: #a3a3a3 1pt solid"&gt;
                &lt;p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;Some review thoughts about this project and what could have made things easier or better&lt;/p&gt;
                &lt;/td&gt;
            &lt;/tr&gt;
        &lt;/tbody&gt;
    &lt;/table&gt;
    &lt;/div&gt;
    &lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
    &lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;(Click on the article title to link to the page)&lt;/p&gt;
    &lt;/div&gt;
&lt;/ul&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=105919"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=105919" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/michaelstephenson/aggbug/105919.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>michael stephenson</dc:creator>
            <guid>http://geekswithblogs.net/michaelstephenson/archive/2007/02/09/105919.aspx</guid>
            <pubDate>Fri, 09 Feb 2007 18:31:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/michaelstephenson/comments/105919.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/michaelstephenson/archive/2007/02/09/105919.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/michaelstephenson/comments/commentRss/105919.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/michaelstephenson/services/trackbacks/105919.aspx</trackback:ping>
        </item>
        <item>
            <title>Kerberos Adventures - Problem: Exposing an Orchestration from BizTalk with the WSE 2 Adapter and using Kerberos</title>
            <link>http://geekswithblogs.net/michaelstephenson/archive/2007/02/06/105610.aspx</link>
            <description> 
&lt;p lang="en-GB" style="FONT-WEIGHT: bold; FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri; TEXT-DECORATION: underline"&gt;Scenario&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;I was trying to implement the requirement to use Kerberos to sign and encrypt&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;the messages to and from a web service which was generated using the WSE 2 Web Service Publishing Wizard to expose a BizTalk Orchestration as a web service.&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
&lt;p lang="en-GB" style="FONT-WEIGHT: bold; FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri; TEXT-DECORATION: underline"&gt;Problem&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;I had this all setup as I expected to work.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;The SPN and everything seemed correct but when I called it I kept getting the following error message:&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;System.Web.Services.Protocols.SoapHeaderException: Server unavailable, please try later ---&amp;gt; System.Security.SecurityException: The Kerberos credential handle could not be acquired. The AcquireCredentialsHandle call returned the following error code: A specified logon session does not exist. It may already have been terminated.&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;.&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;span style="mso-spacerun: yes"&gt;   &lt;/span&gt;at Microsoft.Web.Services2.Security.Tokens.Kerberos.KerberosCredential..ctor(CredentialUse usage)&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;span style="mso-spacerun: yes"&gt;   &lt;/span&gt;at Microsoft.Web.Services2.Security.Tokens.Kerberos.KerberosServerContext.AcceptContext(Byte[] inToken, AscReq flags)&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;span style="mso-spacerun: yes"&gt;   &lt;/span&gt;at Microsoft.Web.Services2.Security.Tokens.Kerberos.KerberosServerContext..ctor(Byte[] inToken, AscReq flags)&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;span style="mso-spacerun: yes"&gt;   &lt;/span&gt;at Microsoft.Web.Services2.Security.Tokens.KerberosToken2.InitializeLifeTime()&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;span style="mso-spacerun: yes"&gt;   &lt;/span&gt;at Microsoft.Web.Services2.Security.Tokens.KerberosToken2.get_IsCurrent()&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;span style="mso-spacerun: yes"&gt;   &lt;/span&gt;at Microsoft.Web.Services2.Security.Security.LoadToken(XmlElement element, SecurityConfiguration configuration, Int32&amp;amp; tokenCount)&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;span style="mso-spacerun: yes"&gt;   &lt;/span&gt;at Microsoft.Web.Services2.Security.Security.LoadXml(XmlElement element)&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;span style="mso-spacerun: yes"&gt;   &lt;/span&gt;at Microsoft.Web.Services2.Security.SecurityInputFilter.ProcessMessage(SoapEnvelope envelope)&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;span style="mso-spacerun: yes"&gt;   &lt;/span&gt;at Microsoft.Web.Services2.Pipeline.ProcessInputMessage(SoapEnvelope envelope)&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;span style="mso-spacerun: yes"&gt;   &lt;/span&gt;at Microsoft.Web.Services2.Messaging.SoapReceiver.FilterMessage(SoapEnvelope envelope)&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;span style="mso-spacerun: yes"&gt;   &lt;/span&gt;at Microsoft.Web.Services2.Messaging.SoapReceiver.ProcessMessage(SoapEnvelope message)&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;The Zone of the assembly that failed was:&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;MyComputer&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;span style="mso-spacerun: yes"&gt;   &lt;/span&gt;--- End of inner exception stack trace ---&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;I spend a lot of time working with Microsoft to resolve this problem and we had validated all settings and went through various troubleshooting procedures to no avail.&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
&lt;p lang="en-GB" style="FONT-WEIGHT: bold; FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri; TEXT-DECORATION: underline"&gt;Solution&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;Microsoft had a version of this scenario working in a lab and when trying to compare what they did against what I was doing we eventually found the cause of the problem.&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;Im not fully sure why this was the cause of the problem as I didn’t expect it to even come into play but basically if the IIS Anonymous User for the virtual directory is set as a local user then you get the error above.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;If you change this to a domain user then it seems to work fine.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;In my case I had set it to the domain user who was running the application pool and was also the credential for the BizTalk Isolated Host.&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;The following picture shows the settings that did not work.&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt; &lt;img alt="" src="/images/geekswithblogs_net/michaelstephenson/6171/o_AnonymousUserFails.JPG" /&gt;&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;The following picture shows the settings that work fine.&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt; &lt;img alt="" src="/images/geekswithblogs_net/michaelstephenson/6171/o_AnonymousUserSucceed.JPG" /&gt;&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri"&gt;If I change it back it doesn’t work again.&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri"&gt;An interesting point on this is in the sample we were running here we also had a C# hello world web service which sat in the same project as the BizTalk one.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;We were calling the C# one first to test that before calling the BizTalk one.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;Calls to the C# web service were not affected by the change of the anonymous user.&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
&lt;p lang="en-GB" style="FONT-WEIGHT: bold; FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri; TEXT-DECORATION: underline"&gt;Summary&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri"&gt;In summary I believe the following &lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri"&gt;1. In order to use Kerberos, WSE and a normal C# web service the anonymous user account doesn’t matter.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;This just worked as it had all along once we got the SPN's correct.&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri"&gt;2. For BizTalk to work with WSE AND Kerberos the anonymous user needs to be set as a domain user, in this case it is the same user that is also running the application pool and also the Biztalk isolated host so not sure if a standarrd domain user would be sufficient or if it has to be the same as the app pool and host but I think it is probably a good idea to make them so for consistency.&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
&lt;p lang="en-GB" style="FONT-WEIGHT: bold; FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri; TEXT-DECORATION: underline"&gt;Acknowledgements&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri"&gt;I would like to thank the following people at Microsoft who helped me resolve this issue:&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
&lt;ul style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in; MARGIN-LEFT: 0.375in; DIRECTION: ltr; unicode-bidi: embed" type="disc"&gt;
    &lt;li lang="en-GB" style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle"&gt;&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt;Michael Koppenol&lt;/span&gt; &lt;/li&gt;
    &lt;li lang="en-GB" style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle"&gt;&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt;Jean Severino&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=105610"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=105610" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/michaelstephenson/aggbug/105610.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>michael stephenson</dc:creator>
            <guid>http://geekswithblogs.net/michaelstephenson/archive/2007/02/06/105610.aspx</guid>
            <pubDate>Tue, 06 Feb 2007 22:15:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/michaelstephenson/comments/105610.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/michaelstephenson/archive/2007/02/06/105610.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/michaelstephenson/comments/commentRss/105610.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/michaelstephenson/services/trackbacks/105610.aspx</trackback:ping>
        </item>
        <item>
            <title>Kerberos Adventures - Problem: 401 Unauthorised - User equals null</title>
            <link>http://geekswithblogs.net/michaelstephenson/archive/2007/02/06/105609.aspx</link>
            <description> 
&lt;p lang="en-GB" style="FONT-WEIGHT: bold; FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri; TEXT-DECORATION: underline"&gt;Scenario&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri"&gt;We were trying to implement a delegation scenario similar to the one in the POC (Web Services using Delegation&lt;span style="FONT-WEIGHT: bold"&gt;).&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; TEXT-DECORATION: underline"&gt;&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;&lt;/span&gt;While implementing this we came across the problem where we seemed to not be passing the clients credentials.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;We constantly got the IIS 401 Unauthorized return code.&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
&lt;p lang="en-GB" style="FONT-WEIGHT: bold; FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri; TEXT-DECORATION: underline"&gt;Symptoms&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri"&gt;In this example we got some of the following symptoms:&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
&lt;ol style="MARGIN-TOP: 0in; FONT-SIZE: 11pt; MARGIN-BOTTOM: 0in; MARGIN-LEFT: 0.375in; DIRECTION: ltr; FONT-FAMILY: Calibri; unicode-bidi: embed" type="1"&gt;
    &lt;li lang="en-GB" style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle" value="1"&gt;&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt;In the IIS Log of the back end service there would be no credential specified.&lt;/span&gt; &lt;/li&gt;
    &lt;li lang="en-GB" style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle" value="2"&gt;&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt;When calling the back end service locally on the machine where it sits it seemed to work but not when called from another machine.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
&lt;p lang="en-GB" style="FONT-WEIGHT: bold; FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri; TEXT-DECORATION: underline"&gt;Troubleshooting Tips&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri"&gt;I found that the easiest way to help get this right was to firstly focus on getting the IIS and AD setup correct before starting to use your code.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;I placed a simple asp page in the backend servers virtual directory and wanted to browse to that from the other machine.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;Doing this would show I could delegate my credentials fine from one machine to another.&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
&lt;p lang="en-GB" style="FONT-WEIGHT: bold; FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri; TEXT-DECORATION: underline"&gt;Solution&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri"&gt;The problem was caused because I did not have this setup correctly in AD and IIS.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;Basically I had the application pool running as a Network Service local account.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;To get this working I took the following steps.&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
&lt;ol style="MARGIN-TOP: 0in; FONT-SIZE: 11pt; MARGIN-BOTTOM: 0in; MARGIN-LEFT: 0.375in; DIRECTION: ltr; FONT-FAMILY: Calibri; unicode-bidi: embed" type="1"&gt;
    &lt;li lang="en-GB" style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle" value="1"&gt;&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt;Have a domain account which you plan to run the IIS Application Pool as.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;This will need to be in groups such as IIS_WPG&lt;/span&gt; &lt;/li&gt;
    &lt;li lang="en-GB" style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle" value="2"&gt;&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt;Register the SPN for the HTTP service on the back end server against the domain account which will be running the back end application pool.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri"&gt;(Eg:&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;SetSpn -a HTTP/&amp;lt;MachineName&amp;gt; &amp;lt;Service User&amp;gt; ).&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;&lt;/p&gt;
&lt;ol style="MARGIN-TOP: 0in; FONT-SIZE: 11pt; MARGIN-BOTTOM: 0in; MARGIN-LEFT: 0.375in; DIRECTION: ltr; FONT-FAMILY: Calibri; unicode-bidi: embed" type="1"&gt;
    &lt;li lang="en-GB" style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle" value="3"&gt;&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt;In AD setup delegation for the service user running your middle tier application pool to be able to delegate to the SPN you have previously setup.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri"&gt;The following diagram shows where these changes relate to the architecture:&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri"&gt;&lt;img alt="" src="/images/geekswithblogs_net/michaelstephenson/6171/o_CredentialsNull1.JPG" /&gt;&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
&lt;p lang="en-GB" style="FONT-WEIGHT: bold; FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri"&gt;Points To Notes&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri"&gt;The following are a couple of points to note incase they are not explained clearly enough above:&lt;/p&gt;
&lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
&lt;ul style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in; MARGIN-LEFT: 0.375in; DIRECTION: ltr; unicode-bidi: embed" type="disc"&gt;
    &lt;li lang="en-GB" style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle"&gt;&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt;The network service account worked okay when you are calling on the same box but when we were delegating across machines the back end service needs to run in an application pool with runs as a domain account&lt;/span&gt; &lt;/li&gt;
    &lt;li lang="en-GB" style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle"&gt;&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt;When registering the SPN it is the HTTP service and should be registered against the domain account not the machine object in AD.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=105609"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=105609" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/michaelstephenson/aggbug/105609.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>michael stephenson</dc:creator>
            <guid>http://geekswithblogs.net/michaelstephenson/archive/2007/02/06/105609.aspx</guid>
            <pubDate>Tue, 06 Feb 2007 22:07:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/michaelstephenson/comments/105609.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/michaelstephenson/archive/2007/02/06/105609.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/michaelstephenson/comments/commentRss/105609.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/michaelstephenson/services/trackbacks/105609.aspx</trackback:ping>
        </item>
        <item>
            <title>Kerberos Adventures - Problem: Error consuming web service from Windows XP SP2 client</title>
            <link>http://geekswithblogs.net/michaelstephenson/archive/2007/02/06/105608.aspx</link>
            <description> 
&lt;ol style="MARGIN-TOP: 0in; FONT-SIZE: 11pt; MARGIN-BOTTOM: 0in; MARGIN-LEFT: 0.312in; DIRECTION: ltr; FONT-FAMILY: Calibri; unicode-bidi: embed"&gt;
    &lt;p lang="en-GB" style="FONT-WEIGHT: bold; FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri; TEXT-DECORATION: underline"&gt;&lt;span style="FONT-WEIGHT: bold; FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt;Scenario&lt;/span&gt;&lt;/p&gt;
    &lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
    &lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;We have a windows XP Client which is calling a .net 2 Web Service which uses WSE 2.0 SP3 on a remote Windows 2003 Server.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;When we make the call we get the following error message:&lt;/p&gt;
    &lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
    &lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;"System.ApplicationException: InitializeSecurityContext call failed with the following error message: A specified logon session does not exist.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;It may already have been terminated."&lt;/p&gt;
    &lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
    &lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;We only get this message when calling our web service from a client running Windows XP Service Pack 2.&lt;/p&gt;
    &lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
    &lt;p lang="en-GB" style="FONT-WEIGHT: bold; FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri; TEXT-DECORATION: underline"&gt;Symptoms&lt;/p&gt;
    &lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
    &lt;li lang="en-GB" style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle" value="1"&gt;&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt;You will get the following message in the event log.&lt;/span&gt;
    &lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
    &lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;The Security System could not establish a secured connection with the server ldap/&amp;lt;DomainController&amp;gt;.&amp;lt;Domain&amp;gt;/&amp;lt;Domain&amp;gt;.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;No authentication protocol was available.&lt;/p&gt;
    &lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
    &lt;/li&gt;
    &lt;li lang="en-GB" style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle" value="2"&gt;&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt;When a windows 2003 client is used to make the same call it works fine.&lt;/span&gt;
    &lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
    &lt;/li&gt;
    &lt;li lang="en-GB" style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle" value="3"&gt;&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt;We had other projects doing the same thing which were working okay.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;These other projects were using the same build of XP Client&lt;/span&gt;
    &lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
    &lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
    &lt;p lang="en-GB" style="FONT-WEIGHT: bold; FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri; TEXT-DECORATION: underline"&gt;Work Around&lt;/p&gt;
    &lt;p lang="en-GB" style="FONT-WEIGHT: bold; FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri; TEXT-DECORATION: underline"&gt; &lt;/p&gt;
    &lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;There is a workaround to this problem, when you log off and back on everything starts working again.&lt;/p&gt;
    &lt;p lang="en-GB" style="FONT-WEIGHT: bold; FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri; TEXT-DECORATION: underline"&gt; &lt;/p&gt;
    &lt;p lang="en-GB" style="FONT-WEIGHT: bold; FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri; TEXT-DECORATION: underline"&gt;Solution&lt;/p&gt;
    &lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
    &lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;The following article describes more on this problem, there is also a hot fix which has been used by some of our developers.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;This seems to have stopped their problem.&lt;/p&gt;
    &lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
    &lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;a href="http://support.microsoft.com/kb/885887"&gt;http://support.microsoft.com/kb/885887&lt;/a&gt;&lt;/p&gt;
    &lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
    &lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
    &lt;p lang="en-GB" style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt; &lt;/p&gt;
    &lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=105608"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=105608" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/michaelstephenson/aggbug/105608.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>michael stephenson</dc:creator>
            <guid>http://geekswithblogs.net/michaelstephenson/archive/2007/02/06/105608.aspx</guid>
            <pubDate>Tue, 06 Feb 2007 22:04:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/michaelstephenson/comments/105608.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/michaelstephenson/archive/2007/02/06/105608.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/michaelstephenson/comments/commentRss/105608.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/michaelstephenson/services/trackbacks/105608.aspx</trackback:ping>
        </item>
    </channel>
</rss>