<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>Development Methodology</title>
        <link>http://geekswithblogs.net/higgins/category/3561.aspx</link>
        <description>Development Methodology</description>
        <language>en-US</language>
        <copyright>Kent Brown</copyright>
        <managingEditor>Kent.Brown@CitigateHudson.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <item>
            <title>WCF metadata error: cannot import wsdl:binding</title>
            <link>http://geekswithblogs.net/higgins/archive/2008/02/15/119593.aspx</link>
            <description>&lt;p&gt;&lt;font face="Arial"&gt;Grrr... Just wasted lots of time on a stupid mistake due to misleading error message.  I hate it when that happens.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;I usually do self-hosting for my WCF services, but on a project I am working on we wanted to host in IIS.  I was focused on the security aspects - trying to get Integrated Windows security on a web site, using impersonation to call the service under the client's credentials, protecting the service with Integrated Windows Authentication and turning off anonymous access in IIS.  &lt;/p&gt;
&lt;p&gt;I was trying different bindings and settings in IIS and at some point I could no longer get client proxy generation to work on my service through svcutil or by making a service reference.  When running svcutil I kept getting the following error:&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New" size="2"&gt;svcutil.exe http://localhost/BowneService/PricingS&lt;br /&gt;
ervice.svc&lt;br /&gt;
Microsoft (R) Service Model Metadata Tool&lt;br /&gt;
[Microsoft (R) Windows (R) Communication Foundation, Version 3.0.4506.30]&lt;br /&gt;
Copyright (c) Microsoft Corporation.  All rights reserved.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New" size="2"&gt;Attempting to download metadata from 'http://localhost/BowneService/PricingServi&lt;br /&gt;
ce.svc' using WS-Metadata Exchange or DISCO.&lt;br /&gt;
Error: Cannot import wsdl:portType&lt;br /&gt;
Detail: An exception was thrown while running a WSDL import extension: System.Se&lt;br /&gt;
rviceModel.Description.DataContractSerializerMessageContractImporter&lt;br /&gt;
Error: Schema with target namespace 'http://tempuri.org/' could not be found.&lt;br /&gt;
XPath to Error Source: //wsdl:definitions[@targetNamespace='http://tempuri.org/'&lt;br /&gt;
]/wsdl:portType[@name='IPricing']&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New" size="2"&gt;Error: Cannot import wsdl:binding&lt;br /&gt;
Detail: There was an error importing a wsdl:portType that the wsdl:binding is de&lt;br /&gt;
pendent on.&lt;br /&gt;
XPath to wsdl:portType: //wsdl:definitions[@targetNamespace='http://tempuri.org/&lt;br /&gt;
']/wsdl:portType[@name='IPricing']&lt;br /&gt;
XPath to Error Source: //wsdl:definitions[@targetNamespace='http://tempuri.org/'&lt;br /&gt;
]/wsdl:binding[@name='PricingwsHttpEndpoint']&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New" size="2"&gt;Error: Cannot import wsdl:port&lt;br /&gt;
Detail: There was an error importing a wsdl:binding that the wsdl:port is depend&lt;br /&gt;
ent on.&lt;br /&gt;
XPath to wsdl:binding: //wsdl:definitions[@targetNamespace='http://tempuri.org/'&lt;br /&gt;
]/wsdl:binding[@name='PricingwsHttpEndpoint']&lt;br /&gt;
XPath to Error Source: //wsdl:definitions[@targetNamespace='http://tempuri.org/'&lt;br /&gt;
]/wsdl:service[@name='Pricing']/wsdl:port[@name='PricingwsHttpEndpoint']&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New" size="2"&gt;Generating files...&lt;br /&gt;
Warning: No code was generated.&lt;br /&gt;
If you were trying to generate a client, this could be because the metadata docu&lt;br /&gt;
ments did not contain any valid contracts or services&lt;br /&gt;
or because all contracts/services were discovered to exist in /reference assembl&lt;br /&gt;
ies. Verify that you passed all the metadata documents to the tool.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New" size="2"&gt;Warning: If you would like to generate data contracts from schemas make sure to&lt;br /&gt;
use the /dataContractOnly option.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;It turns out, somewhere in the process of trying to get things to work, I changed the account the AppPool was running under from "Network Service" to a service account I'd created.  That service account didn't have write permissions to the C:\Windows\Temp directory, so it couldn't do the code generation necessary to generate the datacontract schemas.  Here is the blog entry I found that clued me in:&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;&lt;a href="http://blogs.infosupport.com/raimondb/archive/2008/02/14/Unable-to-generate-a-WCF-proxy-using-svcutil-but-retreiving-the-wsdl-works_3F00_.aspx"&gt;http://blogs.infosupport.com/raimondb/archive/2008/02/14/Unable-to-generate-a-WCF-proxy-using-svcutil-but-retreiving-the-wsdl-works_3F00_.aspx&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;I am mostly posting so others find it quicker in the search engine.&lt;/p&gt;
&lt;p&gt;The other lesson is the classic TDD mantra: make changes one at a time and test between every step.  You might go a little slower, but you move along much more predictably because when something breaks, you know what it was.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=119593"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=119593" 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/higgins/aggbug/119593.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Kent Brown</dc:creator>
            <guid>http://geekswithblogs.net/higgins/archive/2008/02/15/119593.aspx</guid>
            <pubDate>Fri, 15 Feb 2008 12:18:26 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/higgins/comments/119593.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/higgins/archive/2008/02/15/119593.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/higgins/comments/commentRss/119593.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/higgins/services/trackbacks/119593.aspx</trackback:ping>
        </item>
        <item>
            <title>Is Remoting Dead?</title>
            <link>http://geekswithblogs.net/higgins/archive/2006/05/22/79274.aspx</link>
            <description>&lt;P&gt;There have been a lot of threads lately on various discussion lists and blogs, such as&amp;nbsp;&lt;A href="http://blogs.msdn.com/richardt/archive/2004/03/05/84771.aspx"&gt;this one&lt;/A&gt;,&amp;nbsp;&amp;nbsp;grappling with the future of Remoting with WCF coming down the pike.&lt;/P&gt;
&lt;P&gt;To explain my position, I first have to tell you my rule of&amp;nbsp;software projects - &amp;#8220;Every project sucks, except the one you are about to start.&amp;#8221;&amp;nbsp; We usually start projects with enthusiasm, eager to learn new technologies,&amp;nbsp;convinced that this time we'll get the methodology and project management right and and the project will be written up as a case study and many awards and bonuses will be handed out.&amp;nbsp;Somewhere after a few weeks or months the honeymoon phase ends and&amp;nbsp;we get bogged down in the reality that software development is real hard work and not always fun.&amp;nbsp; But that next gig always shines brightly on the horizon.&lt;/P&gt;
&lt;P&gt;When it comes to distributed computing technologies, the rule is &amp;#8220;Every distributed computing technology sucks, except the one Microsoft is shipping next year.&amp;#8221;&amp;nbsp; COM/DCOM was the greatest thing known to man.&amp;nbsp; That is&amp;nbsp;until its replacement, .NET Remoting, was in the works. Since .NET Remoting was going to solve all our problems it was then OK to admit the warts on the old platform.&lt;/P&gt;
&lt;P&gt;Now, just a few years later,&amp;nbsp;we are being told that Remoting sucks and WCF will solve all the problems.&amp;nbsp; Only a dufus would deploy something on .NET Remoting.&lt;/P&gt;
&lt;P&gt;Well, I am usually an early adopter and I generally agree that progress is being made with each wave, so I'll be eating and breathing WCF when it releases and singing its praises too.&amp;nbsp; But we just have to remember that in designing something as complex as&amp;nbsp;a platform for distributed computing, lots of compromises have to be made.&amp;nbsp; Depending on the system you are building, and to an extent on your personal style and value judgments, there will be things about WCF that we will all hate in a few years and I dare say some of us will long for the days of .NET Remoting.&amp;nbsp; And in some future stack that Microsoft releases, there will be a mix of features from all preceding platforms mixed in with a new paradigm and a new set of compromises.&amp;nbsp; And then it will be OK to admit that WCF sucks too.&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=79274"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=79274" 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/higgins/aggbug/79274.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Kent Brown</dc:creator>
            <guid>http://geekswithblogs.net/higgins/archive/2006/05/22/79274.aspx</guid>
            <pubDate>Tue, 23 May 2006 00:05:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/higgins/comments/79274.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/higgins/archive/2006/05/22/79274.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/higgins/comments/commentRss/79274.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/higgins/services/trackbacks/79274.aspx</trackback:ping>
        </item>
        <item>
            <title>NYC Connected Systems User Group</title>
            <link>http://geekswithblogs.net/higgins/archive/2006/01/05/64949.aspx</link>
            <description>&lt;P&gt;For a while now several us have thought &amp;#8220;there oughta be an Enterprise Integration-oriented user group in the NY/NJ area&amp;#8220;.&amp;nbsp; Luckily we've bumped into one another and &amp;#8220;I oughta&amp;#8221; has turned into &amp;#8220;we're gonna&amp;#8220;.&amp;nbsp; The &amp;#8220;we&amp;#8220; includes myself (leader of the &lt;A href="http://www.njevbug.org/"&gt;NJ DotNet Architecture and Development User Group&lt;/A&gt;) and Andrew Brust, Stephen Forte, and Bill Zack, the moderators of the &lt;A href="http://www.nycdotnetdev.com/Moderators.aspx"&gt;NY DotNet Developers Group&lt;/A&gt;, so we're not just whistling Dixie.&lt;BR&gt;&lt;BR&gt;We've got strong support from Microsoft here in&amp;nbsp;NYNJ and in Redmond.&amp;nbsp; This will mean a meeting space at the NYC Microsoft office, occasionally speakers from the product teams in Redmond, and hopefully lots of SWAG.&amp;nbsp; We are modelling the group after the &lt;A href="http://www.nwconnectedsystems.org/"&gt;Northwest Connected Systems User Group&lt;/A&gt;, which was started a few months ago in Seattle.&lt;/P&gt;
&lt;P&gt;The topics of discussion will include platform-agnostic topics such as architecture and design principles,&amp;nbsp;patterns and best practices, etc.&amp;nbsp; Along the lines of the &lt;A href="http://www.enterpriseintegrationpatterns.com/"&gt;Enterprise Integration Patterns book&lt;/A&gt;.&amp;nbsp; The focus will be broad enough to include SOA, EAI, B2B, and BPM.&lt;/P&gt;
&lt;P&gt;When we get down to code and tools the focus will be on the Microsoft platform covering BizTalk Server, Windows Workflow Foundation, Windows Communication Framework, WSE, Host Integration Server, Commerce Server, in about that order of emphasis, depending on the interest of the group membership of course.&lt;/P&gt;
&lt;P&gt;We are pushing to hold the first meeting by the end of February.&amp;nbsp; Drop me a line if you are interested in participating in the group.&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=64949"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=64949" 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/higgins/aggbug/64949.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Kent Brown</dc:creator>
            <guid>http://geekswithblogs.net/higgins/archive/2006/01/05/64949.aspx</guid>
            <pubDate>Thu, 05 Jan 2006 11:50:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/higgins/comments/64949.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/higgins/archive/2006/01/05/64949.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/higgins/comments/commentRss/64949.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/higgins/services/trackbacks/64949.aspx</trackback:ping>
        </item>
    </channel>
</rss>