<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/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>Don Smith : Service Factory</title><link>http://blogs.msdn.com/donsmith/archive/tags/Service+Factory/default.aspx</link><description>Tags: Service Factory</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Updating the factories to VS2010</title><link>http://blogs.msdn.com/donsmith/archive/2009/11/05/updating-the-factories-to-vs2010.aspx</link><pubDate>Fri, 06 Nov 2009 00:10:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9918314</guid><dc:creator>donsmith</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/donsmith/comments/9918314.aspx</comments><wfw:commentRss>http://blogs.msdn.com/donsmith/commentrss.aspx?PostID=9918314</wfw:commentRss><description>This is just a quick post to let you know that I just posted an &lt;A href="http://blogs.msdn.com/simplifying_patterns_and_practices/archive/2009/11/05/factories-on-visual-studio-2010-an-update.aspx" mce_href="http://blogs.msdn.com/simplifying_patterns_and_practices/archive/2009/11/05/factories-on-visual-studio-2010-an-update.aspx"&gt;update&lt;/A&gt; over on the &lt;A href="http://blogs.msdn.com/simplifying_patterns_and_practices/" mce_href="http://blogs.msdn.com/simplifying_patterns_and_practices/"&gt;p&amp;amp;p team blog&lt;/A&gt;. Since this effort spans GAT/GAX and 3 factories, it makes more sense to post the updates there instead of here. Sorry for any confusion. Feel free to ping me if you have any questions. I'll still be blogging here (hopefully more) just not about the factory refresh project. Thanks.&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9918314" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/donsmith/archive/tags/Service+Factory/default.aspx">Service Factory</category><category domain="http://blogs.msdn.com/donsmith/archive/tags/Work+Related/default.aspx">Work Related</category><category domain="http://blogs.msdn.com/donsmith/archive/tags/GAX/default.aspx">GAX</category></item><item><title>Using MessageContracts and DataContracts</title><link>http://blogs.msdn.com/donsmith/archive/2008/03/10/using-messagecontracts-and-datacontracts.aspx</link><pubDate>Tue, 11 Mar 2008 05:10:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8142209</guid><dc:creator>donsmith</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/donsmith/comments/8142209.aspx</comments><wfw:commentRss>http://blogs.msdn.com/donsmith/commentrss.aspx?PostID=8142209</wfw:commentRss><description>&lt;P&gt;Users of the &lt;A href="http://msdn.com/servicefactory" mce_href="http://msdn.com/servicefactory"&gt;Service Factory&lt;/A&gt; often ask about the rationale behind the required use of MessageContracts even though the use of MessageContracts aren't mandated by WCF. I've answered this question in other venues, but it seemed like a good thing to put here in case I need to point others to it in the future.&lt;/P&gt;
&lt;P&gt;If you ask the WCF product team when you should use a MessageContract versus a DataContract, their guidance usually revolves around the level of control you need over the message - like when you need to use custom SOAP headers*. You can find more detail in &lt;A href="http://msdn2.microsoft.com/en-us/library/ms730255.aspx" mce_href="http://msdn2.microsoft.com/en-us/library/ms730255.aspx"&gt;this topic&lt;/A&gt; of the WCF documentation. Their guidance makes complete sense if you think about the motivation they had when building WCF: to unify all of the Microsoft communication mechanisms into a single approach that is relevant to all scenarios. This is great for someone who has traditionally only done object-oriented or component-oriented development. They can be successful without understanding the nuances of building Web services. &lt;/P&gt;
&lt;P&gt;In our experience one of the biggest hurdles for many developers who are new to Web services has been the concept of the &lt;STRONG&gt;message&lt;/STRONG&gt; - rather than just passing around types like they've always done. You can characterize this distinction as implicit versus explicit message design. We have a topic in the Service Factory documentation that touches on this distinction. I think there is some room for improvement on this topic, but you can find it &lt;A href="http://msdn2.microsoft.com/en-us/library/cc304802.aspx" mce_href="http://msdn2.microsoft.com/en-us/library/cc304802.aspx"&gt;here&lt;/A&gt; nevertheless. &lt;/P&gt;
&lt;P&gt;However, the confusion over a message isn't the only reason we elevate the importance of the message and recommend these usage patterns. We intentionally draw a clear distinction between types (both primitive types like string, and complex types like Customer) and messages (like ProcessExpenseReportRequest). From our perspective, DataContracts represent types and types are reusable. Messages are not used as types but rather the payload a method operates on - and it is not reusable since they are specific to the operation they are passed to and from. This level of distinction provides architects and lead developers a means of achieving better consistency throughout their organization by being more prescriptive about reusability. &lt;/P&gt;
&lt;P&gt;I am aware that Juval's position is that MessageContracts are rarely needed. And, I hold Juval in the highest regard - I've not yet had an opportunity to learn what is motivating him to take this position. Some might argue that MessageContracts are just an additional (unnecessary) level of redirection. I can understand this point of view. We just feel the benefits greatly outweigh this nominal cost, and the feedback we've received from customers has been completely supportive of this approach. &lt;/P&gt;
&lt;P&gt;&lt;EM&gt;* In my opinion, there is only one reason you would need to create a custom SOAP header that isn't already defined by a standards body like WS-*. (hint: if it's already defined elsewhere, you should use it to ensure interoperability, instead of "rolling your own") And, that reason is if you need to pass around localization information (like "en-us"). I don't think this is covered by any WS-* or other spec.&lt;/EM&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8142209" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/donsmith/archive/tags/Web+Services/default.aspx">Web Services</category><category domain="http://blogs.msdn.com/donsmith/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.msdn.com/donsmith/archive/tags/Service+Factory/default.aspx">Service Factory</category><category domain="http://blogs.msdn.com/donsmith/archive/tags/Work+Related/default.aspx">Work Related</category></item><item><title>A time for reflection and assessment</title><link>http://blogs.msdn.com/donsmith/archive/2007/05/07/a-time-for-reflection-and-assessment.aspx</link><pubDate>Tue, 08 May 2007 09:15:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2475307</guid><dc:creator>donsmith</dc:creator><slash:comments>9</slash:comments><comments>http://blogs.msdn.com/donsmith/comments/2475307.aspx</comments><wfw:commentRss>http://blogs.msdn.com/donsmith/commentrss.aspx?PostID=2475307</wfw:commentRss><description>&lt;P&gt;Wow, it's hard to believe it has been almost a&amp;nbsp;year since the patterns &amp;amp; practices team released&amp;nbsp;our first software factories.&amp;nbsp;Remember when the early customer previews were called Baseline Architecture Toolkits? Oh, the nostalgia :) We could have had so much fun with the BAT acronym ... haha.&lt;/P&gt;
&lt;P&gt;So that means now&amp;nbsp;is a perfect time to take a quick assessment on how we're doing so far ... that's right, a survey. &lt;STRONG&gt;Now hold on a second!&lt;/STRONG&gt; At least hear me out for the rest of the paragraph. I can't&amp;nbsp;devulge too much detail yet, but some team in Microsoft might be in the middle of building some serious software factory infrastructure for a future version of Visual Studio - that's right, much better than GAX and DSL tools. Do you want it to suck? Do you think software factories are just a pipe dream and would rather they build something else? If you're thinking, "Oh no Don, I like software factories, especially the Service Factory (okay, I'm embellishing - haha)," then I would ask you to keep reading. I promise we've tried to optimize the survey to allow you the highest level of impact in the least amount of time possible.&lt;/P&gt;
&lt;P&gt;Whew, you're still reading ... excellent! Okay, so you're only looking at 9 generic questions and 9 questions for each software factory you've evaluated/used. This survey covers the 4 factories released by p&amp;amp;p (&lt;A class="" title="Web Service Software Factory" href="http://msdn2.microsoft.com/en-us/library/aa480534.aspx" target=_blank mce_href="http://msdn2.microsoft.com/en-us/library/aa480534.aspx"&gt;web service&lt;/A&gt;, &lt;A class="" title="Smart Client Software Factory" href="http://msdn2.microsoft.com/en-us/library/aa480482.aspx" target=_blank mce_href="http://msdn2.microsoft.com/en-us/library/aa480482.aspx"&gt;smart client&lt;/A&gt;, &lt;A class="" title="Web Client Software Factory" href="http://msdn2.microsoft.com/en-us/library/bb264518.aspx" target=_blank mce_href="http://msdn2.microsoft.com/en-us/library/bb264518.aspx"&gt;web client&lt;/A&gt;, and &lt;A class="" title="Mobile Client Software Factory" href="http://msdn2.microsoft.com/en-us/library/aa480471.aspx" target=_blank mce_href="http://msdn2.microsoft.com/en-us/library/aa480471.aspx"&gt;mobile client&lt;/A&gt;). The first 8 questions will take no more than a minute or two. The 9 questions for each factory shouldn't take more than 10 minutes each and you will only see the questions for the factories you choose. The last question is an anything-else-you-want-to-share question - you can take as long as you want on it. That's it ... super quick-n-easy.&lt;/P&gt;
&lt;P&gt;Here is the URL you need to&amp;nbsp;take the survey: &lt;A href="http://www.zoomerang.com/survey.zgi?p=WEB2266YYVWSKP"&gt;http://www.zoomerang.com/survey.zgi?p=WEB2266YYVWSKP&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;We're really looking forward to your feedback so&amp;nbsp;we can help&amp;nbsp;the future&amp;nbsp;include some truly kick-ass factories.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2475307" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/donsmith/archive/tags/Service+Factory/default.aspx">Service Factory</category><category domain="http://blogs.msdn.com/donsmith/archive/tags/Work+Related/default.aspx">Work Related</category></item><item><title>First Service Factory v3 Community Drop</title><link>http://blogs.msdn.com/donsmith/archive/2007/04/06/first-service-factory-v3-community-drop.aspx</link><pubDate>Sat, 07 Apr 2007 09:28:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2044125</guid><dc:creator>donsmith</dc:creator><slash:comments>26</slash:comments><comments>http://blogs.msdn.com/donsmith/comments/2044125.aspx</comments><wfw:commentRss>http://blogs.msdn.com/donsmith/commentrss.aspx?PostID=2044125</wfw:commentRss><description>&lt;P&gt;Okay, we're off and running now. Earlier today I posted the first of many community drops for Service Factory v3 - don't let "build 19" fool you - this is the first one. It took us longer than expected to get this one&amp;nbsp;out the door, but we're all set now. &lt;/P&gt;
&lt;P&gt;I suspect the first question you have is "&lt;EM&gt;What is so specially about this release?&lt;/EM&gt;"&amp;nbsp;Fair enough question. Well, probably the biggest thing is the addition of models. This alone accounts for most of the improvements over v2. I'm not going to go into too much detail here (there will be plenty of time for that later), but here are the high points:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Now Visual Studio has a memory about&amp;nbsp;your decisions. In v2&amp;nbsp;you&amp;nbsp;place your decisions&amp;nbsp;in wizards. In addition to models, there are still wizards, but it's the model that "remembers" so you can generate code anytime you like.&lt;/LI&gt;
&lt;LI&gt;Now you have a visualization of the application you are building. The designers provide this. Right now there are 2 designers/models.&amp;nbsp;The first screen shot below shows the one for service contracts and the one after that shows data contracts.&lt;/LI&gt;
&lt;LI&gt;Now you can delay the platform decision (WCF/ASMX/etc) and the language decision (C#/VB/etc) until as late as you like (way after you define all the service, message, and data interfaces.&lt;/LI&gt;
&lt;LI&gt;With this version there is also no assumption that you have already define the service contract before you start using the factory. You can either approach the solution from a capability perspective (dropping operations on the service contract designer) or from a data perspective (dropping data contracts on its designer).&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Here is what they look like (I added the thin red boxes):&lt;/P&gt;
&lt;P&gt;&lt;IMG title="Service Contract Designer" alt="Service Contract Designer" src="http://dev4net.members.winisp.net/images/sc.png" mce_src="http://dev4net.members.winisp.net/images/sc.png"&gt;&lt;/P&gt;
&lt;P&gt;&lt;IMG title="Data Contract Designer" alt="Data Contract Designer" src="http://dev4net.members.winisp.net/images/dc.png" mce_src="http://dev4net.members.winisp.net/images/dc.png"&gt;&lt;/P&gt;
&lt;P&gt;I'm trying something new during this release&amp;nbsp;by including a "start here" document and a&amp;nbsp;"walkthrough" document for each drop. I'm hoping this will:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Save you lots of time in evaluating this drop. &lt;/LI&gt;
&lt;LI&gt;Set your expectations around how much time you will need to evaluate the drops.&lt;/LI&gt;
&lt;LI&gt;Provide you a very directed way to provide feedback about the drop.&lt;/LI&gt;
&lt;LI&gt;Give you an easy way to see what the new features are every 2 weeks.&lt;/LI&gt;
&lt;LI&gt;Let you know what the known issues are with each drop.&lt;/LI&gt;
&lt;LI&gt;Get me more high quality feedback so I'll know we're building the best, most appropriate Service Factory we can for you.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;So please use these docments and give me your thoughts about them. &lt;/P&gt;
&lt;P&gt;You can expect new community drop every other Friday until the end of October (unless something really unexpected happens of course).&lt;/P&gt;
&lt;P&gt;&lt;A class="" href="http://www.codeplex.com/servicefactory/Release/ProjectReleases.aspx?ReleaseId=2928" mce_href="http://www.codeplex.com/servicefactory/Release/ProjectReleases.aspx?ReleaseId=2928"&gt;&lt;STRONG&gt;Download Service Factory v3 Community Drop 19 here&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Looking forward to your feedback ...&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2044125" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/donsmith/archive/tags/Web+Services/default.aspx">Web Services</category><category domain="http://blogs.msdn.com/donsmith/archive/tags/Service+Factory/default.aspx">Service Factory</category><category domain="http://blogs.msdn.com/donsmith/archive/tags/Work+Related/default.aspx">Work Related</category></item><item><title>Now Available: Aaron's new Service Factory article on MSDN</title><link>http://blogs.msdn.com/donsmith/archive/2007/01/11/now-available-aaron-s-new-service-factory-article-on-msdn.aspx</link><pubDate>Thu, 11 Jan 2007 11:04:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1449828</guid><dc:creator>donsmith</dc:creator><slash:comments>8</slash:comments><comments>http://blogs.msdn.com/donsmith/comments/1449828.aspx</comments><wfw:commentRss>http://blogs.msdn.com/donsmith/commentrss.aspx?PostID=1449828</wfw:commentRss><description>&lt;P&gt;&lt;A class="" href="http://blogs.msdn.com/toub" target=_blank mce_href="http://blogs.msdn.com/toub"&gt;Steven&lt;/A&gt; just told me that &lt;A class="" href="http://pluralsight.com/blogs/aaron/default.aspx" target=_blank mce_href="http://pluralsight.com/blogs/aaron/default.aspx"&gt;Aaron Skonnard's&lt;/A&gt; &lt;A class="" href="http://msdn.microsoft.com/msdnmag/issues/07/02/ServiceStation/default.aspx" mce_href="http://msdn.microsoft.com/msdnmag/issues/07/02/ServiceStation/default.aspx"&gt;latest Service Factory article about&amp;nbsp;the&amp;nbsp;December release&lt;/A&gt;&amp;nbsp;was just published through his &lt;A class="" href="http://msdn.microsoft.com/msdnmag/find/default.aspx?type=Ti&amp;amp;phrase=Service%20Station&amp;amp;words=exact" target=_blank mce_href="http://msdn.microsoft.com/msdnmag/find/default.aspx?type=Ti&amp;amp;phrase=Service%20Station&amp;amp;words=exact"&gt;Service Station column in the&amp;nbsp;MSDN Magazine&lt;/A&gt;. Talk about timing ... sweet.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Even though&amp;nbsp;it was written and finished before we locked down the code, it is still very accurate and comprehensive. I mean, it's Aaron ...&amp;nbsp;what&amp;nbsp;else would&amp;nbsp;you expect?! There a few minor places where we changed the code out from under him so if you have a question about anything in it, feel free to leave a comment here and I'll field it. &lt;/P&gt;
&lt;P&gt;Oh, and if you're building ASMX services, be sure to check out &lt;A class="" href="http://msdn.microsoft.com/msdnmag/issues/06/12/ServiceStation" mce_href="http://msdn.microsoft.com/msdnmag/issues/06/12/ServiceStation"&gt;his first Service Factory article&amp;nbsp;about the July (ASMX) release&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;Great job Aaron!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1449828" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/donsmith/archive/tags/Web+Services/default.aspx">Web Services</category><category domain="http://blogs.msdn.com/donsmith/archive/tags/Service+Factory/default.aspx">Service Factory</category><category domain="http://blogs.msdn.com/donsmith/archive/tags/Work+Related/default.aspx">Work Related</category></item><item><title>... come and get yer Service Factory!</title><link>http://blogs.msdn.com/donsmith/archive/2007/01/09/come-and-get-yer-service-factory.aspx</link><pubDate>Wed, 10 Jan 2007 07:30:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1442259</guid><dc:creator>donsmith</dc:creator><slash:comments>24</slash:comments><comments>http://blogs.msdn.com/donsmith/comments/1442259.aspx</comments><wfw:commentRss>http://blogs.msdn.com/donsmith/commentrss.aspx?PostID=1442259</wfw:commentRss><description>&lt;P&gt;That's right ladies and gentlemen, the December release of the Web Service Software Factory and a VB.NET version&amp;nbsp;is now available for your consumption, modification, and production pleasures :) &lt;/P&gt;
&lt;P&gt;Okay, I'm just going to do&amp;nbsp;3 things in this post since I know there will be many more to follow: &lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Lay some links on ya. For downloading the Service Factory releases and more info.&lt;/LI&gt;
&lt;LI&gt;Share my favorite new features of the Service Factory with you.&lt;/LI&gt;
&lt;LI&gt;Give you a sense of what is to come in the near and not-so-near future.&lt;/LI&gt;&lt;/OL&gt;
&lt;H4&gt;&lt;STRONG&gt;Links&lt;/STRONG&gt;&lt;/H4&gt;
&lt;UL&gt;
&lt;LI&gt;Service Factory&amp;nbsp;December release helps you build both WCF and ASMX services in C#. The old July release is no longer available since everything it contained is included in this release.&amp;nbsp;&lt;A title="Web Service Software Factory–December 2006 (ASP.NET and WCF services in C#)" href="http://www.microsoft.com/downloads/details.aspx?familyid=db996113-6e92-4894-9b7e-0debb614d72f &amp;amp;displaylang=en"&gt;&lt;STRONG&gt;&lt;FONT color=#006bad&gt;Web Service Software Factory–December 2006 (ASP.NET and WCF services in C#)&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Service Factory July release that helps you build ASMX services in VB.NET. Yes, I know this is new and was actually published in December, but it is effectively the same exact version as the original July release - it's just been converted to VB.NET (that's why we're calling it the July release). If this is confusing, I apologize ... I'm to blame.&amp;nbsp;&lt;A title="Web Service Software Factory–July 2006 (ASP.NET services in VB.NET)" href="http://www.microsoft.com/downloads/details.aspx?familyid=7dda69a4-d404-4cc0-b1ad-a9856c3af646&amp;amp;displaylang=en"&gt;&lt;STRONG&gt;&lt;FONT color=#006bad&gt;Web Service Software Factory–July 2006 (ASP.NET services in VB.NET)&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Service Factory information. If you're not sure what the Service Factory is and want to find out before downloading it, go to &lt;A href="http://msdn.com/servicefactory"&gt;&lt;STRONG&gt;&lt;FONT color=#006bad&gt;http://msdn.com/servicefactory&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt; to learn more about it.&lt;/LI&gt;&lt;/UL&gt;
&lt;H4&gt;Favs&lt;/H4&gt;
&lt;P&gt;&lt;STRONG&gt;WSDL-first support&lt;/STRONG&gt;. This feature definitely wasn't the most challenging to include, but I still love it. I've spent a lot of time over the years monkeying around with WSDL files. The fact that Service Factory has a single recipe (wizard) that will take a single WSDL and generate the service interface, service implementation, binding configuration (config file), and all of the associated DataContracts/XmlSerializable types is just freakin' sweet. You have to see it even if you don't define all your contracts in WSDL first.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Versioning guidance&lt;/STRONG&gt;. This is a favorite of mine because ... well, I wrote it haha. No, seriously ... it's no secret this is a topic that is near and dear to my heart. I have labeled the topic "emerging guidance" in the Service Factory documentation because I want to gather more evidence from customers that this approach is actually working for them before I propose&amp;nbsp;we call&amp;nbsp;it a&amp;nbsp;"proven practice". I have spoken with a number of customers who have taken this approach and it is working well for them. I haven't spoken to anyone it didn't work for, but I'd love to hear from you. If you're interested in reading or sharing, I've also posted the topic on my blog &lt;A title="Versioning Web Services" href="http://blogs.msdn.com/donsmith/pages/VersioningWebServices.aspx"&gt;&lt;STRONG&gt;&lt;FONT color=#006bad&gt;here&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;. Personally, I think the "strategy" section of the guidance&amp;nbsp;is still weak on content, but more on that in the "futures" section of this post. I also plan to do a webcast on it.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;WCF Code analysis&lt;/STRONG&gt;. This one turned out to be the sleeper feature&amp;nbsp;- we didn't expect this to turn out so&amp;nbsp;sweet. As you may know, FxCop has been integrated into Visual Studio 2005 under the name &lt;EM&gt;Code Analysis&lt;/EM&gt;. Well, we took all of the same rules that used to be the Security Analyzer back in the WSE days and converted them all to code analysis rules. They also work against the code AND the config files (something FxCop hasn't done historically). I know, pretty sweet, huh? Well, when we showed this to the WCF team, they asked if we could include some of the rules that they fire at run-time so they could be run at design-time (like the ones that make sure all the binding stuff is consistent). "Sure", we said. So there are about a dozen of them too ... and it's all integrated into Visual Studio ... even if you're not using Service Factory.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Recipe runner&lt;/STRONG&gt;. Okay, now I'm cheating a little. This isn't actually a feature ... and it's not really included in Service Factory. One thing we learned while building the July release was that testing GAX recipes is feakin' hard. Well, harder than it should be. So the team took a couple of months at the beginning of this version to get it right. The result is something we call RecipeRunner. Those of you who are creating your own recipes or heavily modifying the ones we provide will really like this if you care about testing, which you should. We'll be making it available on the community site in the near future.&lt;/P&gt;
&lt;P&gt;There are loads more things that are new and way cool in this release, but I want you to discover some of them for yourself too. Of course I'll be mentioning them as time goes on and in some mini videos. Oh, that brings me to the last item on my agenda.&lt;/P&gt;
&lt;H4&gt;Futures&lt;/H4&gt;
&lt;P&gt;&lt;STRONG&gt;Blogcasts&lt;/STRONG&gt;. The very next things you're going to start seeing are more of the &lt;A href="http://blogs.msdn.com/donsmith/archive/2006/04.aspx"&gt;&lt;STRONG&gt;&lt;FONT color=#006bad&gt;blogcasts&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt; I did some months back. Many of them are outdated now and I need to do more of them now that&amp;nbsp;the WCF Service Factory&amp;nbsp;has released. The feedback was very positive (thank you) and because I claim to listen to you, I promise to&amp;nbsp;do more of them shortly.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;HOL exercises&lt;/STRONG&gt;. I've already began the process of converting the existing hands-on lab (HOL) to WCF. Additionally, we'll be adding a bunch of new exercises. What I need from you is some details so we're sure they are helpful. This is what we have in mind:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Modifying a guidance package&lt;/STRONG&gt; - There is already a how-to in the Service Factory documentation, but customers are always telling me they need more help. If you tell me what kind of changes you're making to guidance packages I will try to create an exercise that illustrates how to make that change.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Building a service agent&lt;/STRONG&gt; - A service agent is that layer of code on the consumer side that invokes the proxy (that's right, you're NOT suppose to do it in the button's click event handler :). It manages things like retries, response caching, offline support, asynchronicity, etc. I need you to tell me what kind of challenges YOU (not your neighbor) need. That will help me get this exercise right.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Versioning&lt;/STRONG&gt; - this will build on the topic I mentioned earlier and will walk you through how to evolve a service in a number of ways.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Message validation&lt;/STRONG&gt; - The reference implementation already illustrates this. But would you find a HOL exercise valuable? If not, cool, I'll spend that energy somewhere else. If so, also cool.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Exception shielding&lt;/STRONG&gt; - The reference implementation also illustrates this. Same question ...&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Create a code analysis rule&lt;/STRONG&gt; - I think this is also covered in the VS documentation, but I've never looked for it. Are you going to be writing your own rules? If so,&amp;nbsp;would you find a HOL exercise helpful?&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Workflow Foundation&lt;/STRONG&gt; - we actually did a lot of work with this, but had to pull it at the last minute (yeah, sometimes cutting scope at the last minute hurts). We might be in a position to create an exercise as a result of what we already have. We'll see.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;v3 planning&lt;/STRONG&gt;. We have already began the planning process for v3. But because we JUST started, we don't have a lot to share just yet. I can tell you (if you didn't already guess) that a service&amp;nbsp;domain specific language (DSL) is the primary theme of the next version.&amp;nbsp;I will be sharing everything with you around the features and their priorities as soon as we have something to share. As always, we'll be&amp;nbsp;counting on you to steer us where you need us to go. All of this communication will naturally happen on the Service Factory community site, which will be moving to CodePlex in the very near future. More on that later too.&lt;/P&gt;
&lt;P&gt;Okay, it's getting late and the weather is getting nasty so I'm heading home. Until next time, you have a lot to keep you busy :D Looking forward to your feedback. Thanks!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1442259" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/donsmith/archive/tags/Web+Services/default.aspx">Web Services</category><category domain="http://blogs.msdn.com/donsmith/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.msdn.com/donsmith/archive/tags/Service+Factory/default.aspx">Service Factory</category><category domain="http://blogs.msdn.com/donsmith/archive/tags/Work+Related/default.aspx">Work Related</category></item><item><title>Handcrafting WCF-friendly WSDLs</title><link>http://blogs.msdn.com/donsmith/archive/2006/10/06/Handcrafting-WCF_2D00_friendly-WSDLs.aspx</link><pubDate>Fri, 06 Oct 2006 10:30:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:795666</guid><dc:creator>donsmith</dc:creator><slash:comments>13</slash:comments><comments>http://blogs.msdn.com/donsmith/comments/795666.aspx</comments><wfw:commentRss>http://blogs.msdn.com/donsmith/commentrss.aspx?PostID=795666</wfw:commentRss><description>&lt;P&gt;It's 10:15 pm and I'm still in the office, but I really think I should get this entry posted before I head home - or it won't ever get posted. I was supposed to be working on my demo for my Service Factory session at the &lt;A href="http://www.impactevents.com/biztalkconference/" mce_href="http://www.impactevents.com/biztalkconference/"&gt;SOA Conference&lt;/A&gt; tomorrow, but I got side-tracked early in the day when I started playing with a new feature of Service Factory (that I'm going to demo). This new recipe (hereforth referred to as "&lt;EM&gt;the new recipe&lt;/EM&gt;") allows you to create the service interface, data contracts, and a stub of the service implementation from an existing WSDL document. Yeah, pretty cool, huh? Of course you can do the same thing in svcutil &lt;EM&gt;if &lt;/EM&gt;you have the .NET 3.0 SDK installed, but you have to leave Visual Studio and head off to the command prompt - and it won't separate the parts into multiple files and place them in the appropriate projects. &lt;/P&gt;
&lt;P&gt;As I'm sure you've already realized, we've added this feature for the masses who have adopted a contract-first approach to building services. Unfortunately for these masses, the object model you have to code against after you've generated code from your existing WSDLs (using either svcutil or &lt;EM&gt;the new recipe&lt;/EM&gt;) is not as enjoyable as what you get with the code-first approach WCF and its DataContract offer. I'm hoping this entry will add some clarity for those of you who wish to have the best of both worlds: Contract-First and DataContracts. First, let's talk about the DataContract.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;The DataContract&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Rather than start from ground zero with DataContract basics and the DataContractSerializer, I'm going to recommend you go read &lt;A href="http://www.pluralsight.com/blogs/aaron/default.aspx" mce_href="http://www.pluralsight.com/blogs/aaron/default.aspx"&gt;Aaron Skonnard's&lt;/A&gt; excellent Service Station article on &lt;A href="http://msdn.microsoft.com/msdnmag/issues/06/08/ServiceStation/default.aspx" mce_href="http://msdn.microsoft.com/msdnmag/issues/06/08/ServiceStation/default.aspx"&gt;Serialization in WCF&lt;/A&gt; before continuing. Okay, now that you know DataContract only supports a subset of &lt;A href="http://www.w3.org/TR/xmlschema-0/" mce_href="http://www.w3.org/TR/xmlschema-0/"&gt;XML Schema&lt;/A&gt;, let's get more specific about this "subset". I am in no way stating that this is a complete list, but these are the things I've personally been able to verify. If you use any of the following constructs, svcutil and &lt;EM&gt;the new recipe&lt;/EM&gt; will fall back to creating XML serializable types (like the ones in ASMX) instead of DataContracts.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&amp;lt;xs:element ref= ... 
&lt;LI&gt;&amp;lt;xs:anyAttribute ... 
&lt;LI&gt;&amp;lt;xs:group ref= ... 
&lt;LI&gt;&amp;lt;xs:attribute ... 
&lt;LI&gt;&amp;lt;xs:choice ... 
&lt;LI&gt;&amp;lt;xs:any ... 
&lt;LI&gt;&amp;lt;xs:all ...&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Of course this pretty much means to be safe, you need to stick with a &amp;lt;xs:sequence&amp;gt; of &amp;lt;xs:elements&amp;gt;. However, I was a little surprised to see that a &amp;lt;xs:simpleType&amp;gt; &amp;lt;xs:restriction&amp;gt; on a xs:string generated a very nice enum. Oh, News Flash! &lt;A href="http://pluralsight.com/blogs/kirillg/default.aspx" mce_href="http://pluralsight.com/blogs/kirillg/default.aspx"&gt;Kirill&lt;/A&gt; just responded to my email (hey, what's he doing&amp;nbsp;on email&amp;nbsp;this late?) and pointed me to some [internal] beta documentation that &lt;STRONG&gt;very&lt;/STRONG&gt; clearly defines how all XSD constructs map to DataContracts. The doc looks awesome -&amp;nbsp;I'll be sure to update this entry once it is live on the Web (if I don't, remind me). Okay, but you're not in the clear yet. You see, now we have to navigate the message wrapping issue.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;The MessageContract&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Because the DataContract is all about simplifying interop and the object model (OM), it hides wrapping element from the code, but (obviously) not from the WSDL. So, if you're going to import your handcrafted WSDLs, you need to know how to represent the wrapper&amp;nbsp;"message" in WSDL in such a way that you don't have to deal with them in your OM. I think the easiest way to explain this part would be to start with a fragment of a WSDL and show what must change to get the right stuff in code. Consider this:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;wsdl:definitions&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red; FONT-FAMILY: consolas"&gt;xmlns:wsdl&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;http://schemas.xmlsoap.org/wsdl/&lt;/SPAN&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: red; FONT-FAMILY: consolas"&gt;xmlns:xs&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;http://www.w3.org/2001/XMLSchema&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: red; FONT-FAMILY: consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:srvc&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;http://MyOrg.HrSrvc.SrvcContracts/2006/10&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: red; FONT-FAMILY: consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:data&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;http://MyOrg.HrSrvc.DataContracts/2006/10&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: red; FONT-FAMILY: consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; targetNamespace&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;http://MyOrg.HrSrvc.SrvcContracts/2006/10&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;wsdl:types&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;xs:schema&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red; FONT-FAMILY: consolas"&gt;elementFormDefault&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;qualified&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: red; FONT-FAMILY: consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; targetNamespace&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;http://MyOrg.HrSrvc.DataContracts/2006/10&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: red; FONT-FAMILY: consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:tns&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;http://MyOrg.HrSrvc.DataContracts/2006/10&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;xs:element&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red; FONT-FAMILY: consolas"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;Employee&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;type&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;tns:Employee&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;xs:complexType&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red; FONT-FAMILY: consolas"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;Employee&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;xs:sequence&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;xs:element&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red; FONT-FAMILY: consolas"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;ID&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;type&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;xs:int&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;xs:element&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red; FONT-FAMILY: consolas"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;Name&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;type&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;xs:string&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;xs:sequence&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;xs:complexType&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;xs:schema&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;wsdl:types&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;wsdl:message&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red; FONT-FAMILY: consolas"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;AddEmployeeSoapIn&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;wsdl:part&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red; FONT-FAMILY: consolas"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;request&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;element&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;data:Employee&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; /&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;wsdl:message&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;wsdl:message&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red; FONT-FAMILY: consolas"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;AddEmployeeSoapOut&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;wsdl:part&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red; FONT-FAMILY: consolas"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;response&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;element&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;data:Employee&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; /&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;wsdl:message&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;wsdl:portType&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red; FONT-FAMILY: consolas"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;IEmployeeManager&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;wsdl:operation&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red; FONT-FAMILY: consolas"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;AddEmployee&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;wsdl:input&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red; FONT-FAMILY: consolas"&gt;message&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;srvc:AddEmployeeSoapIn&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; /&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;wsdl:output&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red; FONT-FAMILY: consolas"&gt;message&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;srvc:AddEmployeeSoapOut&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; /&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;wsdl:operation&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;wsdl:portType&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;wsdl:binding&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red; FONT-FAMILY: consolas"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas"&gt;"&lt;SPAN style="COLOR: blue"&gt;YouGetTheIdea&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon; FONT-FAMILY: consolas"&gt;wsdl:definitions&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: consolas"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Yes, I know I'm sending and receiving the same type. I'm trying to balance between brevity and reality (cut me some slack). Hopefully at this point I have some contract-first readers nodding their head thinking, "Ok, I'll buy that - seems reasonable enough." Now let's look at how we would have to write this to get the nice dev experience with WCF ('cause this won't create it).&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;wsdl:definitions&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xmlns:wsdl&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;http://schemas.xmlsoap.org/wsdl/&lt;/SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xmlns:xs&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;http://www.w3.org/2001/XMLSchema&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; xmlns:srvc&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;http://MyOrg.HrSrvc.SrvcContracts/2006/10&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; xmlns:data&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;http://MyOrg.HrSrvc.DataContracts/2006/10&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; targetNamespace&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;http://MyOrg.HrSrvc.SrvcContracts/2006/10&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;wsdl:types&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:schema&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;elementFormDefault&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;qualified&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; targetNamespace&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;http://MyOrg.HrSrvc.DataContracts/2006/10&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; xmlns:tns&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;http://MyOrg.HrSrvc.DataContracts/2006/10&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:element&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;name&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;Employee&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;type&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;tns:Employee&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:complexType&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;name&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;Employee&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:sequence&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas"&gt;&lt;SPAN&gt;xs:element&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas"&gt;&lt;/SPAN&gt;&lt;SPAN&gt;name&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas"&gt;&lt;SPAN&gt;"&lt;SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;ID&lt;/SPAN&gt;&lt;/SPAN&gt;"&lt;SPAN&gt;&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;&lt;/SPAN&gt;&lt;SPAN&gt;type&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;&lt;/SPAN&gt;"&lt;SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;xs:int&lt;/SPAN&gt;&lt;/SPAN&gt;" &lt;SPAN style="BACKGROUND: #ffff99; COLOR: red"&gt;nillable&lt;SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="BACKGROUND: #ffff99; COLOR: blue"&gt;=&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="BACKGROUND: #ffff99"&gt;"&lt;SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;true&lt;/SPAN&gt;&lt;/SPAN&gt;"&lt;SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&lt;/SPAN&gt;&lt;SPAN&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman','serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas"&gt;xs:element&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas"&gt;&lt;/SPAN&gt;&lt;SPAN&gt;name&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;=&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas"&gt;"&lt;SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Name&lt;/SPAN&gt;&lt;/SPAN&gt;"&lt;SPAN&gt;&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;&lt;/SPAN&gt;&lt;SPAN&gt;type&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;&lt;/SPAN&gt;"&lt;SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;xs:string&lt;/SPAN&gt;&lt;/SPAN&gt;" &lt;SPAN style="BACKGROUND: #ffff99; COLOR: red"&gt;nillable&lt;SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="BACKGROUND: #ffff99; COLOR: blue"&gt;=&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="BACKGROUND: #ffff99"&gt;"&lt;SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;true&lt;/SPAN&gt;&lt;/SPAN&gt;"&lt;SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Times New Roman','serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&lt;/SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:sequence&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:complexType&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:schema&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;BR&gt;&lt;SPAN style="BACKGROUND: #ffff99"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:schema&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;elementFormDefault&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;qualified&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; targetNamespace&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;http://MyOrg.HrSrvc.SrvcContracts/2006/10&lt;/SPAN&gt;"&lt;BR&gt;&lt;SPAN style="COLOR: red"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; xmlns:data&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;http://MyOrg.HrSrvc.DataContracts/2006/10&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; xmlns:tns&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;http://MyOrg.HrSrvc.SrvcContracts/2006/10&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;xs:import&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;namespace&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="http://MyOrg.HrSrvc.DataContracts/2006/10"/&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:element&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;name&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;AddEmployee&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:complexType&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:sequence&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:element&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;name&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;request&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;type&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;data:Employee&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:sequence&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:complexType&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:element&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:element&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;name&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;AddEmployeeResponse&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:complexType&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:sequence&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:element&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;name&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;AddEmployeeResult&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;type&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;data:Employee&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:sequence&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:complexType&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:element&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;xs:schema&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;wsdl:types&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;wsdl:message&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;name&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;AddEmployeeSoapIn&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;wsdl:part&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;name&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="BACKGROUND: #ffff99; COLOR: blue"&gt;parameters&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;element&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="BACKGROUND: #ffff99; COLOR: blue"&gt;srvc:AddEmployee&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; /&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;wsdl:message&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;wsdl:message&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;name&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;AddEmployeeSoapOut&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;wsdl:part&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;name&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="BACKGROUND: #ffff99; COLOR: blue"&gt;parameters&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;element&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="BACKGROUND: #ffff99; COLOR: blue"&gt;srvc:AddEmployeeResponse&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; /&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;wsdl:message&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;wsdl:portType&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;name&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;IEmployeeManager&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;wsdl:operation&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;name&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;AddEmployee&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;wsdl:input&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;message&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;srvc:AddEmployeeSoapIn&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; /&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;wsdl:output&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;message&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;srvc:AddEmployeeSoapOut&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; /&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;wsdl:operation&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;wsdl:portType&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;wsdl:binding&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;name&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;"&lt;SPAN style="COLOR: blue"&gt;YouGetTheIdea&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;wsdl:definitions&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;?xml namespace="" ns="urn:schemas-microsoft-com:office:office"
                                                    prefix="o" ?&gt;&lt;?xml:namespace prefix = o /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;The highlighted areas are the parts I added/changed from the first snippet. It’s after midnight now. I’ve learned the beta of Windows Live Writer I &lt;I style="mso-bidi-font-style: normal"&gt;was&lt;/I&gt; using has a length limitation and doesn’t color XML snippets (yes, I did this manually for your reading pleasure). So rather than continue to wow you with my use of compelling prose, I’ll just bulletize (see?) the significant parts:&lt;?xml
                namespace="" ns="urn:schemas-microsoft-com:office:office" prefix="o" ?&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpFirst style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-add-space: auto; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;What’s up with the nillable=”true” on the data types?&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt; That actually turns out to be pretty critical. I haven’t really thought to much about why yet, but without this construct, it complicates the OM bigtime.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-add-space: auto; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;What about that new schema … doesn’t that complicate the OM?&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt; Surprisingly not! It won’t even show up in the generated code. Notice how it imports the existing schema to reference the existing types, which do show up in the code. If you don’t explicitly create this wrapper, it will think the first element it finds (Employee otherwise) is the wrapper … yuck. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-add-space: auto; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;Can the wrapper elements (AddEmployee &amp;amp; AddEmployeeResponse) be in the same namespace as the data type (Employee)?&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt; Well, that depends. They can if that namespace just happens to be the same as the service. In other words, the wrapper schema has to share the same namespace as the service. It doesn’t matter if the data types are in the same namespace or not.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-add-space: auto; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;Don, is the fact you named the wrapper elements “AddEmployee” and “AddEmployeeResponse” important?&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt; Yes. If you don’t follow this convention, you’ll see these as types in the code … yuck!&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpLast style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-add-space: auto; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;Let me guess, it’s also important that I name the data:Employee elements “request” and “AddEmployeeResult” respectively?&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt; Well, not really so much. If you name them something else, like “RequestMessage” and “ResponseMessage,” the System.ServiceModel.MessageParameterAttribute will step in to make sure the response message is correct on the wire, but it won’t affect the OM so much. It will look like this:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;[System.CodeDom.Compiler.GeneratedCodeAttribute(&lt;SPAN style="COLOR: maroon"&gt;"System.ServiceModel"&lt;/SPAN&gt;, &lt;SPAN style="COLOR: maroon"&gt;"3.0.0.0"&lt;/SPAN&gt;)]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;[ServiceContract(Namespace=&lt;SPAN style="COLOR: maroon"&gt;"http://MyOrg.HrSrvc.SrvcContracts/2006/10"&lt;/SPAN&gt;]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;public&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt; &lt;SPAN style="COLOR: blue"&gt;interface&lt;/SPAN&gt; IEmployeeManager&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;[OperationContract(Action=&lt;SPAN style="COLOR: maroon"&gt;"..."&lt;/SPAN&gt;, ReplyAction=&lt;SPAN style="COLOR: maroon"&gt;"*"&lt;/SPAN&gt;)]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;[return: MessageParameter(Name="ResponseMessage")]&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;Employee AddEmployee(Employee &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: #ffff99; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;RequestMessage&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;}&lt;BR&gt;&lt;BR&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-add-space: auto; mso-list: l1 level1 lfo2"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;EM&gt;Alright, what’s up with the “parameter” message part names?&lt;/EM&gt; Yeah, that’s important too. That basically says this contract is wrapped and not bare.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;I think that’s about it. I’ll update this entry if I think (or learn) of anything else, but I’m going home now. Hope you find this helpful. BTW, I was listening to the &lt;A href="http://www.emusic.com/artist/10556/10556388.html"&gt;Lemonheads&lt;/A&gt; the entire time I was putting this together … pretty cool.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=795666" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/donsmith/archive/tags/Web+Services/default.aspx">Web Services</category><category domain="http://blogs.msdn.com/donsmith/archive/tags/XML/default.aspx">XML</category><category domain="http://blogs.msdn.com/donsmith/archive/tags/Service+Factory/default.aspx">Service Factory</category><category domain="http://blogs.msdn.com/donsmith/archive/tags/Work+Related/default.aspx">Work Related</category></item><item><title>WCF Guidance Packages now available for consumption</title><link>http://blogs.msdn.com/donsmith/archive/2006/08/31/733680.aspx</link><pubDate>Thu, 31 Aug 2006 19:21:56 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:733680</guid><dc:creator>donsmith</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.msdn.com/donsmith/comments/733680.aspx</comments><wfw:commentRss>http://blogs.msdn.com/donsmith/commentrss.aspx?PostID=733680</wfw:commentRss><description>&lt;p&gt;If you've been &lt;a href="http://practices.gotdotnet.com/svcfactory"&gt;following the Service Factory project&lt;/a&gt;, you'll know that we had to put the WCF guidance on hold for a little while as we were getting the &lt;a href="http://go.microsoft.com/fwlink/?LinkID=67205&amp;amp;clcid=0x409"&gt;ASMX Service Factory released&lt;/a&gt;. Well ever since it was released, we've been working on getting caught up on the WCF guidance. This actually took longer than expected because in addition to making the WCF Feb CTP -&amp;gt; July CTP changes we felt the need to fix a bunch of the bugs we identified in the similar ASMX GPs so now there is some fidelity between the two.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Is this release of the Service Factory going to go down like the last one?&lt;/strong&gt; You know, that is a great question. If you mean, "&lt;em&gt;Are you going to release regularly to the community?&lt;/em&gt;" and "&lt;em&gt;Are you going to solicit as much feedback from us as possible?&lt;/em&gt;" the answer is absolutely &lt;strong&gt;yes&lt;/strong&gt;! As a matter of fact, we're even trying to improve.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Drops will be more regular and predictable - monthly to be exact and at the end of the month to be specific&lt;/li&gt; &lt;li&gt;We're separating the documentation drops from the code drops. They will also be released monthly [in CHM format]&amp;nbsp;... they will just be 2 weeks after the code drops&lt;/li&gt; &lt;li&gt;I've changed the way we're making the known issues available. Rather than putting some of them in the readme file, now you can find &lt;em&gt;all &lt;/em&gt;of them in an Excel spreadsheet. Just Ctrl-F the issue you're looking for.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;As always, I'm interested to know what you think about these changes. What would make is easier to follow this project?&lt;/p&gt; &lt;p&gt;&lt;em&gt;Side note: I think it's still a little strange for some people to realize the impact they can have on a team, like patterns&amp;nbsp;&amp;amp; practices, where "customer connected engineering" is the basis for everything they do, how they do it, and what they deliver. There aren't too many teams [even in Microsoft] that are applying this amount of feedback from their customers.&lt;/em&gt;&lt;/p&gt; &lt;p&gt;Anyway, &lt;a href="http://practices.gotdotnet.com/svcfactory"&gt;check it out&lt;/a&gt; and let us know what you think. We're listening.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=733680" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/donsmith/archive/tags/Service+Factory/default.aspx">Service Factory</category><category domain="http://blogs.msdn.com/donsmith/archive/tags/Work+Related/default.aspx">Work Related</category></item><item><title>Partial Classes &amp; the Service Factory</title><link>http://blogs.msdn.com/donsmith/archive/2006/08/09/693818.aspx</link><pubDate>Wed, 09 Aug 2006 19:27:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:693818</guid><dc:creator>donsmith</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/donsmith/comments/693818.aspx</comments><wfw:commentRss>http://blogs.msdn.com/donsmith/commentrss.aspx?PostID=693818</wfw:commentRss><description>&lt;P&gt;I just posted the Service Factory Hands-on Labs to the &lt;A href="http://practices.gotdotnet.com/svcfactory"&gt;community workspace &lt;/A&gt;and I learned something while I was putting them together. So, I'm going to do 2 things in this post. First, I'm going to do a little cheerleading for partial classes, then I'll talk about an issue&amp;nbsp;Service Factory currently has since it is related to partial classses.&lt;/P&gt;
&lt;P&gt;As you may already know, one of the most compelling uses of partial classes is when code is being generated.&amp;nbsp;The code generator will create a class with the partial keyword and any modifications will take place in a different file so the generated file can be regenerated at any time without loosing changes. What I didn't know was that you can also establish an inheritance relationship in that hand-written partial class and you can leave the other one completely untouched. For example,&lt;/P&gt;
&lt;P&gt;MyClass.generated.cs&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;public partial class MyClass : IMyInterface&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private int foo;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public int&amp;nbsp;Foo&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; get { return foo; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set {&amp;nbsp;foo = value; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;MyClass.custom.cs&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;public partial class MyClass : MyBase, IYourInterface&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private string bar;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string Bar&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; get { return bar; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set { bar = value; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;I wouldn't be surprised to find that this capability&amp;nbsp;explained in the C# docs, but it was way cool to find out about it on my own. It's totally fitting when it comes to the wave of modelling, guidance automation, and related efforts and technologies coming out now. If you knew all that already and found my epiphany boring ... sorry, I just had to convey my delight.&lt;/P&gt;
&lt;P&gt;Now I get to convey my sadness. As it turns out, we (or anyone else) didn't find this until after we ship. Don't get me wrong, it's not the end of the world ... it's not like it's going to cause your spouse to leave you ... it just forces you to write more code by hand ... until we fix it :) Basically, when you go to create the repository classes, the recipe doesn't reflect on the business entities - it's just looking at the files ... so it thinks there are 2 different classes instead of just one, which also tends to hide the members on the base class. This is what you see:&lt;/P&gt;
&lt;P&gt;&lt;IMG alt="Known issue Service Factory has with business entities using multiple parts of a partial class" src="http://dev4net.members.winisp.net/images/pcbug.gif"&gt;&lt;/P&gt;
&lt;P&gt;A little extra coding won't hurt anyone ... heck, if you check out the hands-on labs, I even show you what the extra mapping for in and out parameters looks like. We'll also be posting a fix to this issue to the &lt;A href="http://practices.gotdotnet.com/svcfactory"&gt;community&lt;/A&gt; eventually.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=693818" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/donsmith/archive/tags/Service+Factory/default.aspx">Service Factory</category><category domain="http://blogs.msdn.com/donsmith/archive/tags/Work+Related/default.aspx">Work Related</category></item><item><title>Service Factory now available for download!</title><link>http://blogs.msdn.com/donsmith/archive/2006/07/30/683437.aspx</link><pubDate>Sun, 30 Jul 2006 22:54:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:683437</guid><dc:creator>donsmith</dc:creator><slash:comments>11</slash:comments><comments>http://blogs.msdn.com/donsmith/comments/683437.aspx</comments><wfw:commentRss>http://blogs.msdn.com/donsmith/commentrss.aspx?PostID=683437</wfw:commentRss><description>&lt;P&gt;Before I get ahead of myself, which comes pretty easy for me &lt;SPAN style="FONT-FAMILY: Wingdings; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;J&lt;/SPAN&gt;, here’s the link to learn more about and &lt;A href="http://go.microsoft.com/fwlink/?LinkID=67205&amp;amp;clcid=0x409"&gt;download the Service Factory&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Wow, I’ve been waiting 8 months to write this blog entry. After months of planning, arguing, development, sleep deprivation, testing, writing, and making sure all of that wasn’t in vain, the Service Factory has actually made it onto MSDN. Since this is MY blog, I feel like I can be more personal than the other announcements I’ve written recently. This release actually means quite a lot to me. Not only is it the first p&amp;amp;p deliverable I’ve been involved in from the VERY beginning, but I truly believe it will revolutionize the way organizations build services. I believe it can have this impact because the deliverable has seen a huge amount of customer and community involvement and it has a very solid future. We’ve been building the next version, which will include WCF guidance, since we started this [ASMX] release. AND we already have a good idea what the v3 will look like.&lt;/P&gt;
&lt;P&gt;If you’re building services today and don’t know what I’m talking about, I would &lt;B&gt;STRONGLY&lt;/B&gt; encourage you to spend some time evaluating Service Factory. Not only will it give you confidence that you are building services the right way &lt;I&gt;today&lt;/I&gt;, but you’ll have all of the guidance you need to ensure you’re on the right track to build or migrate to WCF services in the future. I’m tellin’ ya, this is bigtime!&lt;/P&gt;
&lt;P&gt;I’m working on some hands-on labs right now that I hope to have done within a week. This will really help you get up to speed quickly. I’ll post another entry once I’ve posted them on the community workspace. For now the &lt;A href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032300719&amp;amp;Culture=en-US"&gt;webcast&lt;/A&gt; and the &lt;A href="http://www.skyscrapr.net/blogs/arcasts/archive/2006/07/29/245.aspx"&gt;arcast&lt;/A&gt; should be good enough to get you started. Let me know if you have any questions.&lt;/P&gt;&lt;/SPAN&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=683437" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/donsmith/archive/tags/Web+Services/default.aspx">Web Services</category><category domain="http://blogs.msdn.com/donsmith/archive/tags/Service+Factory/default.aspx">Service Factory</category><category domain="http://blogs.msdn.com/donsmith/archive/tags/Work+Related/default.aspx">Work Related</category></item><item><title>Just Published: Service Factory ARCast</title><link>http://blogs.msdn.com/donsmith/archive/2006/07/30/683396.aspx</link><pubDate>Sun, 30 Jul 2006 21:38:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:683396</guid><dc:creator>donsmith</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/donsmith/comments/683396.aspx</comments><wfw:commentRss>http://blogs.msdn.com/donsmith/commentrss.aspx?PostID=683396</wfw:commentRss><description>&lt;A href="http://ronjacobs.com/"&gt;Ron Jacobs&lt;/A&gt; did a load of &lt;A href="http://www.skyscrapr.net/blogs/arcasts/default.aspx"&gt;ARCasts&lt;/A&gt; at &lt;A href="http://msteched.com"&gt;Tech-Ed in Boston&lt;/A&gt; this year. One of them was with &lt;A href="http://shycohen.com"&gt;Shy Cohen&lt;/A&gt; and I about the &lt;A href="http://go.microsoft.com/fwlink/?LinkID=67205&amp;amp;clcid=0x409"&gt;Service Factory&lt;/A&gt;. Well, I just got an email from Ron that he's gotten around to publishing it on &lt;A href="http://www.skyscrapr.net"&gt;Skyscrapr&lt;/A&gt;. I can't imagine how many of these things he has queued up that he still has to publish. Anyway,&amp;nbsp;&lt;A href="http://www.skyscrapr.net/blogs/arcasts/archive/2006/07/29/245.aspx"&gt;go check it out&lt;/A&gt;&amp;nbsp;and let us know what you think. I'd like to do more of these with Ron, but I want to make sure I'm talking about the stuff you're interested in. Whadda ya think?&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=683396" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/donsmith/archive/tags/Web+Services/default.aspx">Web Services</category><category domain="http://blogs.msdn.com/donsmith/archive/tags/Service+Factory/default.aspx">Service Factory</category><category domain="http://blogs.msdn.com/donsmith/archive/tags/Work+Related/default.aspx">Work Related</category></item><item><title>How Teams Build Services</title><link>http://blogs.msdn.com/donsmith/archive/2006/07/17/668857.aspx</link><pubDate>Mon, 17 Jul 2006 21:35:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:668857</guid><dc:creator>donsmith</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/donsmith/comments/668857.aspx</comments><wfw:commentRss>http://blogs.msdn.com/donsmith/commentrss.aspx?PostID=668857</wfw:commentRss><description>&lt;P&gt;With&amp;nbsp;all this talk of software factories, it's important that we understand the different ways teams will use them to build services. I talk to a lot of customers and, of course, there are several different approaches a team might choose. I hope this post will be informative, but hopefully, the comments will&amp;nbsp;also identify new approaches and/or confirm the ones below.&lt;/P&gt;
&lt;P&gt;When building a solution that involves distributed services, there are a number of things the team must&amp;nbsp;build: the service interface (operations and their messages), the business logic (domain model entities and processing logic), the data access layer, the proxy/service agent&amp;nbsp;that consumes the service, and the client that uses the proxy/service agent. There are also several roles in the team that perform various tasks: the&amp;nbsp;solution architect, the domain expert, and the developers. I understand there is often a fine line between a solution architect and a lead developer - give me some slack here :)&lt;/P&gt;
&lt;P&gt;In every case I've seen, the team building the client application is also the team that is building the proxy/service agent. However, that's often&amp;nbsp;not the case when it comes to the service interface and the business logic. There are various approaches the architect and developers might make when building the service side (they may or may not be building the consumer(s) of the service). More often than not, the architect will define what the service interface looks like and the dev team will implement the interface. The &lt;A href="http://go.microsoft.com/fwlink/?LinkID=67205&amp;amp;clcid=0x409"&gt;Service Factory&lt;/A&gt; enables at least&amp;nbsp;2 major&amp;nbsp;scenarios:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;STRONG&gt;Solution architect&amp;nbsp;provides a baseline.&lt;/STRONG&gt; This baseline is an executable, foundational starting point for the service that the dev team will build upon. Among other things, this baseline will include the service's operations and their messages, message exchange patterns, and possibly selected areas of risk that cross-cut all operations (i.e. instrumentation, security, exception management, etc). It's likely the factory will be used to build this baseline and the dev team will continue to use this (or a different)&amp;nbsp;factory to build out the rest of the implementation based on the requirements set forth by the domain expert. This approach is common when there is a smaller team responsible for the services and a different team is responsible for the business logic.&lt;/LI&gt;&lt;BR&gt;
&lt;LI&gt;&lt;STRONG&gt;Solution architect provides a factory.&lt;/STRONG&gt; The factory being used (i.e. &lt;A href="http://go.microsoft.com/fwlink/?LinkID=67205&amp;amp;clcid=0x409"&gt;Service Factory&lt;/A&gt;) is modified by the solution architect to include the practices and patterns that have been identified by the organization (naming conventions, framework components, cross-cutting concerns, etc) and it is deployed to the dev team. The dev team will then use the factory to build the service's interfaces and the implementation (and all layers of the application). This approach is common when the same team is building the service and its implementation.&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;I suspect there are variations of these and I think they would be interesting. Think about how your team builds services today. Are you happy with how the team is structured (does it work)? Are you using some form of code/config generation? Are you building baselines or&amp;nbsp;a factory today and have a sense of the best way it should be used in&amp;nbsp;your team(s).&lt;/P&gt;
&lt;P&gt;Since this post was geared toward teams, I didn't talk about the single individual who is building the whole solution. I know this is also a very common scenario and, of course, factories can still be a great productivity booster and a means to provide a lot of consistency in the services being built.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;If you're building Web services and you're not familiar with Service Factory, whew ...&amp;nbsp;you have some catching up to do ... and just in time.&amp;nbsp;&lt;A href="http://msdn.microsoft.com/practices"&gt;Patterns &amp;amp; practices&lt;/A&gt;&amp;nbsp;should be releasing to MSDN by the end of the month. Let me know if you have questions or comments?&lt;/EM&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=668857" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/donsmith/archive/tags/Web+Services/default.aspx">Web Services</category><category domain="http://blogs.msdn.com/donsmith/archive/tags/Service+Factory/default.aspx">Service Factory</category><category domain="http://blogs.msdn.com/donsmith/archive/tags/Work+Related/default.aspx">Work Related</category></item><item><title>Service Factory: Editing (part 1)</title><link>http://blogs.msdn.com/donsmith/archive/2006/05/15/597815.aspx</link><pubDate>Mon, 15 May 2006 10:45:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:597815</guid><dc:creator>donsmith</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/donsmith/comments/597815.aspx</comments><wfw:commentRss>http://blogs.msdn.com/donsmith/commentrss.aspx?PostID=597815</wfw:commentRss><description>&lt;P&gt;For this installment, I'm illustrating 2 examples of what I call "level 1 changes" to a guidance package. These are the easiest kinds of changes that don't even require any code changes. I'm also using the (very improved) May community drop and you'll get to see a very small peak at the security guidance package.&amp;nbsp;Cool stuff :)&lt;/P&gt;
&lt;P&gt;File: &lt;A href="http://dev4net.members.winisp.net/blogcasts/ServiceFactory-Editing1.wmv"&gt;ServiceFactory-Editing1.wmv&lt;/A&gt;&lt;BR&gt;Length: 18:32&lt;BR&gt;Size: 5.89 MB &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=597815" width="1" height="1"&gt;</description><enclosure url="http://dev4net.members.winisp.net/blogcasts/ServiceFactory-Editing1.wmv" length="6178875" type="video/x-ms-wmv" /><category domain="http://blogs.msdn.com/donsmith/archive/tags/Service+Factory/default.aspx">Service Factory</category></item><item><title>Service Factory: Entity Translation</title><link>http://blogs.msdn.com/donsmith/archive/2006/04/28/586339.aspx</link><pubDate>Fri, 28 Apr 2006 23:41:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:586339</guid><dc:creator>donsmith</dc:creator><slash:comments>11</slash:comments><comments>http://blogs.msdn.com/donsmith/comments/586339.aspx</comments><wfw:commentRss>http://blogs.msdn.com/donsmith/commentrss.aspx?PostID=586339</wfw:commentRss><description>&lt;P&gt;For the third installment I've decided to talk about the entity translation (mapping) capability of the guidance package. Specifically, this is mapping between the entities that are [de]serialized to/from the wire representation and the entities that represent the business domain model. This time I used a high-quality mic (Shure) and better software (Camtasia Studio), but WMV is still the best output format for this delivery mechanism (MP4 isn't an option). I also tried 1024 x 768 instead of 800 x 600.&lt;/P&gt;
&lt;P&gt;File: &lt;A href="http://dev4net.members.winisp.net/blogcasts/ServiceFactory-Mapping.wmv"&gt;ServiceFactory-Mapping.wmv&lt;/A&gt;&lt;BR&gt;Length: 15:15&lt;BR&gt;Size: 5.93 MB &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=586339" width="1" height="1"&gt;</description><enclosure url="http://dev4net.members.winisp.net/blogcasts/ServiceFactory-Mapping.wmv" length="6225447" type="video/x-ms-wmv" /><category domain="http://blogs.msdn.com/donsmith/archive/tags/Web+Services/default.aspx">Web Services</category><category domain="http://blogs.msdn.com/donsmith/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.msdn.com/donsmith/archive/tags/Service+Factory/default.aspx">Service Factory</category></item><item><title>Service Factory: Contracts</title><link>http://blogs.msdn.com/donsmith/archive/2006/04/20/579735.aspx</link><pubDate>Thu, 20 Apr 2006 11:54:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:579735</guid><dc:creator>donsmith</dc:creator><slash:comments>14</slash:comments><comments>http://blogs.msdn.com/donsmith/comments/579735.aspx</comments><wfw:commentRss>http://blogs.msdn.com/donsmith/commentrss.aspx?PostID=579735</wfw:commentRss><description>&lt;P&gt;Here's the second installment of my blogcast series on Service Factory. In this one I show how to create WCF data contracts and service contracts. It's a little bigger and longer than I would have preferred, but since I was building the project (a wine rating app) from scratch, I guess that's what took longer. &lt;/P&gt;
&lt;P&gt;File: &lt;A href="http://dev4net.members.winisp.net/blogcasts/ServiceFactory-Contracts.wmv"&gt;ServiceFactory-Contracts.wmv&lt;/A&gt;&lt;BR&gt;Length: 25:48&lt;BR&gt;Size: 8:51 MB&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=579735" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/donsmith/archive/tags/Web+Services/default.aspx">Web Services</category><category domain="http://blogs.msdn.com/donsmith/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.msdn.com/donsmith/archive/tags/Service+Factory/default.aspx">Service Factory</category></item></channel></rss>