<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://thinkingtogether.net/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/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"><channel><title>Blog Thinking Together</title><link>http://thinkingtogether.net/blogs/</link><description>Microsoft. Biztalk Server 2006, .NET, WCF, WWF, WPF, Linq,...</description><dc:language>en-US</dc:language><generator>CommunityServer 2008.5 (Build: 30929.2835)</generator><item><title>Workshop Windows Server AppFabric</title><link>http://thinkingtogether.net/blogs/sample_weblog/archive/2010/05/26/workshop-windows-server-appfabric.aspx</link><pubDate>Wed, 26 May 2010 08:26:00 GMT</pubDate><guid isPermaLink="false">ded273ab-9e87-4979-8222-e4e2e46f1b46:74</guid><dc:creator>Roberto</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Next Friday (&lt;strong&gt;Madrid, May 28th 2010&lt;/strong&gt;) we&amp;rsquo;ll deliver a &lt;strong&gt;Workshop&lt;/strong&gt; about &lt;strong&gt;Windows Server AppFabric&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;You can register yourself using this page:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032451744&amp;amp;Culture=es-ES"&gt;https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032451744&amp;amp;Culture=es-ES&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/endpoint/WindowsLiveWriter/WindowsServerAppFabricArchitecture_CADF/image_4.png"&gt;&lt;img height="241" width="244" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/unai/clip_5F00_image006_5F00_58647858.gif" alt="clip_image006" border="0" title="clip_image006" style="display:inline;border-width:0px;" /&gt;&lt;/a&gt; &lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/unai/clip_5F00_image008_5F00_3B0F208E.gif"&gt;&lt;img height="156" width="244" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/unai/clip_5F00_image008_5F00_thumb_5F00_0DAD8ABE.gif" alt="clip_image008" border="0" title="clip_image008" style="display:inline;border-width:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Agenda&lt;/strong&gt; (&lt;strong&gt;9:30 &amp;ndash; 14:00&lt;/strong&gt;):&lt;/p&gt;
&lt;p&gt;- Introduction to AppFabric (Windows Server &amp;amp; Azure) &amp;ndash; &lt;em&gt;&lt;b&gt;C&amp;eacute;sar de la Torre &amp;ndash; Microsoft&lt;/b&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;- Distributed Cache using &lt;strong&gt;AppFabric-Cache&lt;/strong&gt; (aka. codename &amp;lsquo;&lt;strong&gt;Velocity&lt;/strong&gt;&amp;rsquo;) &amp;ndash; &lt;em&gt;&lt;b&gt;C&amp;eacute;sar de la Torre &amp;ndash; Microsoft&lt;/b&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;b&gt;-- Coffee time&lt;/b&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;- &lt;strong&gt;Hosting &amp;amp; Monitoring WCF Services&lt;/strong&gt; (aka. codename &amp;lsquo;&lt;strong&gt;Dublin&lt;/strong&gt;&amp;rsquo;) &amp;ndash; &lt;em&gt;&lt;b&gt;Roberto Gonzalez - Renacimiento&lt;/b&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;- &lt;strong&gt;Hosting Workflow-Services 4.0&lt;/strong&gt; (aka. codename &amp;lsquo;&lt;strong&gt;Dublin&lt;/strong&gt;&amp;rsquo;) &amp;ndash; &lt;strong&gt;&lt;i&gt;Unai Zorrilla &amp;ndash; Plain Concepts&lt;/i&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://thinkingtogether.net/aggbug.aspx?PostID=74" width="1" height="1"&gt;</description><category domain="http://thinkingtogether.net/blogs/sample_weblog/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://thinkingtogether.net/blogs/sample_weblog/archive/tags/AppFabric/default.aspx">AppFabric</category></item><item><title>Cloud Computing (Azure) Event</title><link>http://thinkingtogether.net/blogs/sample_weblog/archive/2010/04/21/cloud-computing-azure-event.aspx</link><pubDate>Wed, 21 Apr 2010 16:09:00 GMT</pubDate><guid isPermaLink="false">ded273ab-9e87-4979-8222-e4e2e46f1b46:73</guid><dc:creator>Roberto</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Aventia-Renacimiento in collaboration with Microsoft made an event about Cloud Computing. &lt;/p&gt;
&lt;p&gt;The event was divided into two parts, in the morning was oriented to business and we had the presence of an&amp;nbsp;expert in&amp;nbsp;legal issues about Cloud Computing. In the Evening, the event was completely technical&amp;nbsp;and&amp;nbsp;&amp;nbsp;we given several talks about&amp;nbsp;development in AZURE&amp;nbsp;and &amp;nbsp;SQL Services. Finally&amp;nbsp;If you wanted could make Hand-On-Labs about Azure.&lt;/p&gt;
&lt;p&gt;In the next folder in skydrive &lt;a href="http://cid-99fb7d3a483b374f.skydrive.live.com/browse.aspx/Evento%20de%20Azure"&gt;http://cid-99fb7d3a483b374f.skydrive.live.com/browse.aspx/Evento%20de%20Azure&lt;/a&gt;&amp;nbsp;you can get the ppts.&lt;/p&gt;
&lt;p&gt;Regards.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://thinkingtogether.net/aggbug.aspx?PostID=73" width="1" height="1"&gt;</description><category domain="http://thinkingtogether.net/blogs/sample_weblog/archive/tags/Azure/default.aspx">Azure</category></item><item><title>New Site about Architecture in the spanish msdn</title><link>http://thinkingtogether.net/blogs/sample_weblog/archive/2010/04/21/new-site-about-architecture-in-the-spanish-msdn.aspx</link><pubDate>Wed, 21 Apr 2010 15:57:00 GMT</pubDate><guid isPermaLink="false">ded273ab-9e87-4979-8222-e4e2e46f1b46:72</guid><dc:creator>Roberto</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Microsoft has just opened a portal about Architecture on msdn. &lt;a href="http://msdn.microsoft.com/es-es/architecture/default.aspx"&gt;http://msdn.microsoft.com/es-es/architecture/default.aspx&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;span class="long_text" id="result_box"&gt;&lt;span style="background-color:#fff;"&gt;Yesterday Microsoft also presented a book about DDD&amp;nbsp;very interesting in which&amp;nbsp;Renacimiento has participated in its revision.&lt;br style="background-color:#fff;" /&gt;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color:#fff;"&gt;For those that have not been able to attend, you can download all the documentation of this architecture at the following url:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="long_text"&gt;&lt;span style="background-color:#fff;"&gt;&lt;a href="http://download.microsoft.com/download/2/2/1/221AD022-E701-488F-B070-7A0B87DFE789/Guia_Arquitectura_N-Capas_DDD_NET_4_(Borrador_Marzo_2010).pdf"&gt;http://download.microsoft.com/download/2/2/1/221AD022-E701-488F-B070-7A0B87DFE789/Guia_Arquitectura_N-Capas_DDD_NET_4_(Borrador_Marzo_2010).pdf&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="long_text"&gt;&lt;span style="background-color:#fff;"&gt;The sample code:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="long_text"&gt;&lt;span style="background-color:#fff;"&gt;&lt;a href="http://microsoftnlayerapp.codeplex.com/"&gt;http://microsoftnlayerapp.codeplex.com/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="long_text"&gt;&lt;span style="background-color:#fff;"&gt;Regards.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="long_text"&gt;&lt;span style="background-color:#fff;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://thinkingtogether.net/aggbug.aspx?PostID=72" width="1" height="1"&gt;</description><category domain="http://thinkingtogether.net/blogs/sample_weblog/archive/tags/Arquitectura/default.aspx">Arquitectura</category><category domain="http://thinkingtogether.net/blogs/sample_weblog/archive/tags/Architecture/default.aspx">Architecture</category></item><item><title>Native Boot to HyperV</title><link>http://thinkingtogether.net/blogs/sample_weblog/archive/2010/04/21/native-boot-to-hyperv.aspx</link><pubDate>Wed, 21 Apr 2010 15:49:00 GMT</pubDate><guid isPermaLink="false">ded273ab-9e87-4979-8222-e4e2e46f1b46:71</guid><dc:creator>Roberto</dc:creator><slash:comments>0</slash:comments><description>&lt;p class="MsoNormal" style="LINE-HEIGHT:normal;MARGIN:0cm 0cm 10pt;VERTICAL-ALIGN:top;"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;, &amp;#39;sans-serif&amp;#39;;color:#000000;font-size:8.5pt;"&gt;If you have Windows 7 or Windows Server 2008 R2 and you would like use a virtual machine created for native boot also with HyperV only need to do the next operations:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpFirst" style="LINE-HEIGHT:normal;TEXT-INDENT:-18pt;MARGIN:0cm 0cm 0pt 36pt;VERTICAL-ALIGN:top;tab-stops:list 36.0pt;"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;, &amp;#39;sans-serif&amp;#39;;color:#000000;font-size:8.5pt;"&gt;&lt;span&gt;1.&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;, &amp;#39;sans-serif&amp;#39;;color:#000000;font-size:8.5pt;"&gt;Run Diskpart &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="LINE-HEIGHT:normal;TEXT-INDENT:-18pt;MARGIN:0cm 0cm 0pt 36pt;VERTICAL-ALIGN:top;tab-stops:list 36.0pt;"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;, &amp;#39;sans-serif&amp;#39;;color:#000000;font-size:8.5pt;"&gt;&lt;span&gt;2.&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;, &amp;#39;sans-serif&amp;#39;;color:#000000;font-size:8.5pt;"&gt; With Diskpart run the next commands:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="LINE-HEIGHT:normal;TEXT-INDENT:-18pt;MARGIN:0cm 0cm 0pt 53.4pt;VERTICAL-ALIGN:top;tab-stops:list 53.4pt;"&gt;&lt;span style="font-family:Symbol;color:#000000;font-size:10pt;"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;, &amp;#39;sans-serif&amp;#39;;color:#000000;font-size:8.5pt;"&gt;Select vdisk file=C:\&amp;lt;VHDFILENAME&amp;gt;.VHD &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="LINE-HEIGHT:normal;TEXT-INDENT:-18pt;MARGIN:0cm 0cm 0pt 53.4pt;VERTICAL-ALIGN:top;tab-stops:list 53.4pt;"&gt;&lt;span style="font-family:Symbol;color:#000000;font-size:10pt;"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;, &amp;#39;sans-serif&amp;#39;;color:#000000;font-size:8.5pt;"&gt;Attach Vdisk &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="LINE-HEIGHT:normal;TEXT-INDENT:-18pt;MARGIN:0cm 0cm 0pt 53.4pt;VERTICAL-ALIGN:top;tab-stops:list 53.4pt;"&gt;&lt;span style="font-family:Symbol;color:#000000;font-size:10pt;"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;, &amp;#39;sans-serif&amp;#39;;color:#000000;font-size:8.5pt;"&gt;select part 1 &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="LINE-HEIGHT:normal;TEXT-INDENT:-18pt;MARGIN:0cm 0cm 0pt 53.4pt;VERTICAL-ALIGN:top;tab-stops:list 53.4pt;"&gt;&lt;span style="font-family:Symbol;color:#000000;font-size:10pt;"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;, &amp;#39;sans-serif&amp;#39;;color:#000000;font-size:8.5pt;"&gt;active &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="LINE-HEIGHT:normal;TEXT-INDENT:-18pt;MARGIN:0cm 0cm 0pt 53.4pt;VERTICAL-ALIGN:top;tab-stops:list 53.4pt;"&gt;&lt;span style="font-family:Symbol;color:#000000;font-size:10pt;"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;, &amp;#39;sans-serif&amp;#39;;color:#000000;font-size:8.5pt;"&gt;Assign letter=Z &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="LINE-HEIGHT:normal;TEXT-INDENT:-18pt;MARGIN:0cm 0cm 0pt 53.4pt;VERTICAL-ALIGN:top;tab-stops:list 53.4pt;"&gt;&lt;span style="font-family:Symbol;color:#000000;font-size:10pt;"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;, &amp;#39;sans-serif&amp;#39;;color:#000000;font-size:8.5pt;"&gt;Exit&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="LINE-HEIGHT:normal;TEXT-INDENT:-18pt;MARGIN:0cm 0cm 0pt 36pt;VERTICAL-ALIGN:top;tab-stops:list 36.0pt;"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;, &amp;#39;sans-serif&amp;#39;;color:#000000;font-size:8.5pt;"&gt;&lt;span&gt;3.&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;, &amp;#39;sans-serif&amp;#39;;color:#000000;font-size:8.5pt;"&gt;With the&amp;nbsp;command prompt,&amp;nbsp;change to&amp;nbsp;Z:\Windows\System32. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="LINE-HEIGHT:normal;TEXT-INDENT:-18pt;MARGIN:0cm 0cm 0pt 53.4pt;VERTICAL-ALIGN:top;tab-stops:list 53.4pt;"&gt;&lt;span style="font-family:Symbol;color:#000000;font-size:10pt;"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;, &amp;#39;sans-serif&amp;#39;;color:#000000;font-size:8.5pt;"&gt;Run BCDboot.exe Z:\Windows /s Z:\ &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="LINE-HEIGHT:normal;TEXT-INDENT:-18pt;MARGIN:0cm 0cm 0pt 53.4pt;VERTICAL-ALIGN:top;tab-stops:list 53.4pt;"&gt;&lt;span style="font-family:Symbol;color:#000000;font-size:10pt;"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;, &amp;#39;sans-serif&amp;#39;;color:#000000;font-size:8.5pt;"&gt;Run&amp;nbsp;BCDedit /store Z:\boot\BCD /set {bootmgr} device boot &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="LINE-HEIGHT:normal;TEXT-INDENT:-18pt;MARGIN:0cm 0cm 0pt 53.4pt;VERTICAL-ALIGN:top;tab-stops:list 53.4pt;"&gt;&lt;span style="font-family:Symbol;color:#000000;font-size:10pt;"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;, &amp;#39;sans-serif&amp;#39;;color:#000000;font-size:8.5pt;"&gt;Run BCDedit /store Z:\boot\BCD /set {default} device boot &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="LINE-HEIGHT:normal;TEXT-INDENT:-18pt;MARGIN:0cm 0cm 0pt 53.4pt;VERTICAL-ALIGN:top;tab-stops:list 53.4pt;"&gt;&lt;span style="font-family:Symbol;color:#000000;font-size:10pt;"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;, &amp;#39;sans-serif&amp;#39;;color:#000000;font-size:8.5pt;"&gt;Run BCDedit /store Z:\boot\BCD /set {default} osdevice boot &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="LINE-HEIGHT:normal;TEXT-INDENT:-18pt;MARGIN:0cm 0cm 0pt 53.4pt;VERTICAL-ALIGN:top;tab-stops:list 53.4pt;"&gt;&lt;span style="font-family:Symbol;color:#000000;font-size:10pt;"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;, &amp;#39;sans-serif&amp;#39;;color:#000000;font-size:8.5pt;"&gt;Exit&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="LINE-HEIGHT:normal;TEXT-INDENT:-18pt;MARGIN:0cm 0cm 0pt 36pt;VERTICAL-ALIGN:top;tab-stops:list 36.0pt;"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;, &amp;#39;sans-serif&amp;#39;;color:#000000;font-size:8.5pt;"&gt;&lt;span&gt;4.&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;, &amp;#39;sans-serif&amp;#39;;color:#000000;font-size:8.5pt;"&gt;Open Diskpart&amp;nbsp;again and run the next commands: &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="LINE-HEIGHT:normal;TEXT-INDENT:-18pt;MARGIN:0cm 0cm 0pt 53.4pt;VERTICAL-ALIGN:top;tab-stops:list 53.4pt;"&gt;&lt;span style="font-family:Symbol;color:#000000;font-size:10pt;"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;, &amp;#39;sans-serif&amp;#39;;color:#000000;font-size:8.5pt;"&gt;Select vdisk file=C:\&amp;lt;VHDFILENAME&amp;gt;.VHD &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="LINE-HEIGHT:normal;TEXT-INDENT:-18pt;MARGIN:0cm 0cm 0pt 53.4pt;VERTICAL-ALIGN:top;tab-stops:list 53.4pt;"&gt;&lt;span style="font-family:Symbol;color:#000000;font-size:10pt;"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;, &amp;#39;sans-serif&amp;#39;;color:#000000;font-size:8.5pt;"&gt;detach vDISK &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast" style="LINE-HEIGHT:normal;TEXT-INDENT:-18pt;MARGIN:0cm 0cm 10pt 53.4pt;VERTICAL-ALIGN:top;tab-stops:list 53.4pt;"&gt;&lt;span style="font-family:Symbol;color:#000000;font-size:10pt;"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;, &amp;#39;sans-serif&amp;#39;;color:#000000;font-size:8.5pt;"&gt;Exit&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="LINE-HEIGHT:normal;MARGIN:0cm 0cm 10pt;VERTICAL-ALIGN:top;"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;, &amp;#39;sans-serif&amp;#39;;color:#000000;font-size:large;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color:#ebeff9;"&gt;Once this is done you can open the vhd from HyperV.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="LINE-HEIGHT:normal;MARGIN:0cm 0cm 10pt;VERTICAL-ALIGN:top;"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;, &amp;#39;sans-serif&amp;#39;;color:#000000;font-size:large;"&gt;&lt;span class="short_text"&gt;&lt;span style="background-color:#ebeff9;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="LINE-HEIGHT:normal;MARGIN:0cm 0cm 10pt;VERTICAL-ALIGN:top;"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;, &amp;#39;sans-serif&amp;#39;;color:#000000;font-size:large;"&gt;&lt;span class="short_text"&gt;&lt;span style="background-color:#ebeff9;"&gt;Regards.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://thinkingtogether.net/aggbug.aspx?PostID=71" width="1" height="1"&gt;</description><category domain="http://thinkingtogether.net/blogs/sample_weblog/archive/tags/Productivity/default.aspx">Productivity</category><category domain="http://thinkingtogether.net/blogs/sample_weblog/archive/tags/HyperV/default.aspx">HyperV</category></item><item><title>Microsoft Lauches Biztalk Server 2009</title><link>http://thinkingtogether.net/blogs/sample_weblog/archive/2009/04/30/microsoft-lauches-biztalk-server-2009.aspx</link><pubDate>Sat, 20 Mar 2010 05:00:00 GMT</pubDate><guid isPermaLink="false">ded273ab-9e87-4979-8222-e4e2e46f1b46:58</guid><dc:creator>Roberto</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Microsoft Lauches globally Biztalk Server 2009&lt;/p&gt;
&lt;p&gt;If your are interested in the new feature in Biztalk Server 2009 you can read this information:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.microsoft.com/biztalk/en/us/whats-new.aspx"&gt;http://www.microsoft.com/biztalk/en/us/whats-new.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Regards.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://thinkingtogether.net/aggbug.aspx?PostID=58" width="1" height="1"&gt;</description><category domain="http://thinkingtogether.net/blogs/sample_weblog/archive/tags/Biztalk+Server+2009/default.aspx">Biztalk Server 2009</category></item><item><title>Product Key not valid - SharePoint Server 2010 RC</title><link>http://thinkingtogether.net/blogs/sample_weblog/archive/2010/02/18/product-key-not-valid-sharepoint-server-2010-rc.aspx</link><pubDate>Thu, 18 Feb 2010 20:35:00 GMT</pubDate><guid isPermaLink="false">ded273ab-9e87-4979-8222-e4e2e46f1b46:70</guid><dc:creator>Roberto</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;If you are installing SharePoint 2010 in the same machine when you had the beta versi&amp;oacute;n may be you get the error that your Product Key is not valid when try to install the product.&lt;/p&gt;
&lt;p&gt;The reason is due to the fact that the beta installation files are yet in the cache folder.&lt;/p&gt;
&lt;p&gt;You need&amp;nbsp; go to the path &lt;strong&gt;C:\Users\Usuario Instalaci&amp;oacute;n\AppData\Local\Temp&lt;/strong&gt;&amp;nbsp; and find a similar file like &lt;strong&gt;SharePoint Server Setup(2010020513575012B4...)&lt;/strong&gt;. If you open this file you can find de cache path, in my case &lt;strong&gt;C:\Program Files (x86)\MSECache\oserver2010.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;You have to delete this folder to resolve the problem.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://thinkingtogether.net/aggbug.aspx?PostID=70" width="1" height="1"&gt;</description><category domain="http://thinkingtogether.net/blogs/sample_weblog/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category></item><item><title>MVP Renewal</title><link>http://thinkingtogether.net/blogs/sample_weblog/archive/2009/07/02/mvp-renewal.aspx</link><pubDate>Thu, 02 Jul 2009 04:06:59 GMT</pubDate><guid isPermaLink="false">ded273ab-9e87-4979-8222-e4e2e46f1b46:68</guid><dc:creator>Roberto</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Yesterday I received the email from Microsoft that informs me that Iâ€™ve been awarded the Microsoft Most Valued Professional for last years community effort.&lt;/p&gt;  &lt;p&gt;Iâ€™m really happy for being renewed as MVP BizTalk Server.&lt;/p&gt;  &lt;p&gt;Congrats to all those renewed, and especially to those who were awarded for the first time.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Regards.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://thinkingtogether.net/aggbug.aspx?PostID=68" width="1" height="1"&gt;</description><category domain="http://thinkingtogether.net/blogs/sample_weblog/archive/tags/MVP/default.aspx">MVP</category></item><item><title>TFS 2008 and VS2010 Beta1</title><link>http://thinkingtogether.net/blogs/sample_weblog/archive/2009/06/23/tfs-2008-and-vs2010-beta1.aspx</link><pubDate>Tue, 23 Jun 2009 12:33:48 GMT</pubDate><guid isPermaLink="false">ded273ab-9e87-4979-8222-e4e2e46f1b46:67</guid><dc:creator>Roberto</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Some users have tried to connect to TFS 2008 using VS2010 Beta1, and they have got the following error:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;TF31001: Cannot connect to Team Foundation Server at xxx.com. The server returned the following error: The ServicePointManager does not support proxies with the https scheme.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The problem is that the default value to &lt;strong&gt;BypassProxyOnLocal&lt;/strong&gt; (proxy server should be bypassed for local addresses) in TFS 2008 is &lt;strong&gt;false&lt;/strong&gt;, while in 2010 the default value is &lt;strong&gt;true,&lt;/strong&gt; resolving a performance problem experienced by some customers.&lt;/p&gt;  &lt;p&gt;If you want to solve your problem just follow this post:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://blogs.msdn.com/ablock/archive/2009/05/20/for-tfs-2010-beta-1-resolving-tf31001-the-servicepointmanager-does-not-support-proxies-with-the-https-scheme.aspx" href="http://blogs.msdn.com/ablock/archive/2009/05/20/for-tfs-2010-beta-1-resolving-tf31001-the-servicepointmanager-does-not-support-proxies-with-the-https-scheme.aspx"&gt;http://blogs.msdn.com/ablock/archive/2009/05/20/for-tfs-2010-beta-1-resolving-tf31001-the-servicepointmanager-does-not-support-proxies-with-the-https-scheme.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Regards.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://thinkingtogether.net/aggbug.aspx?PostID=67" width="1" height="1"&gt;</description><category domain="http://thinkingtogether.net/blogs/sample_weblog/archive/tags/TFS+2008/default.aspx">TFS 2008</category><category domain="http://thinkingtogether.net/blogs/sample_weblog/archive/tags/VS+2010/default.aspx">VS 2010</category></item><item><title>Whitepaper WCF LOB Adapter SDK and Biztalk Adapter Pack</title><link>http://thinkingtogether.net/blogs/sample_weblog/archive/2009/06/08/whitepaper-wcf-lob-adapter-sdk-and-biztalk-adapter-pack.aspx</link><pubDate>Mon, 08 Jun 2009 08:41:00 GMT</pubDate><guid isPermaLink="false">ded273ab-9e87-4979-8222-e4e2e46f1b46:65</guid><dc:creator>Roberto</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;In the next url &lt;a href="http://go.microsoft.com/fwlink/?LinkId=147581" title="WCF LOB Adapter SDK and the BizTalk Adapter Pack"&gt;&lt;span style="color:#071961;"&gt;WCF LOB Adapter SDK and the BizTalk Adapter Pack&lt;/span&gt;&lt;/a&gt;, you can download a whitepaper about development of adapters&amp;nbsp;based on&amp;nbsp;&lt;a target="_blank" href="http://thinkingtogether.net/blogs/sample_weblog/archive/2008/06/16/como-crear-un-adaptador-con-wcf-lob-adapter-sdk-22222.aspx"&gt;&lt;span style="color:#071961;"&gt;WCF LOB Adapter SDK&lt;/span&gt;&lt;/a&gt; and the consume from .NET Application, from Biztalk, MOSS, and so on.&lt;/p&gt;
&lt;p&gt;Part of this document to tell you how to create WCF-based adapters and also&amp;nbsp;explains you the WCF channel model. &lt;br /&gt;&lt;br /&gt;I strongly recommend reading.&lt;/p&gt;
&lt;p&gt;Regards&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://thinkingtogether.net/aggbug.aspx?PostID=65" width="1" height="1"&gt;</description><category domain="http://thinkingtogether.net/blogs/sample_weblog/archive/tags/WCF/default.aspx">WCF</category><category domain="http://thinkingtogether.net/blogs/sample_weblog/archive/tags/WCF+LOB+Adapter+SDK/default.aspx">WCF LOB Adapter SDK</category></item><item><title>Architects not programming</title><link>http://thinkingtogether.net/blogs/sample_weblog/archive/2009/06/04/architects-not-programming.aspx</link><pubDate>Thu, 04 Jun 2009 07:07:00 GMT</pubDate><guid isPermaLink="false">ded273ab-9e87-4979-8222-e4e2e46f1b46:64</guid><dc:creator>Roberto</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;The other day I was giving a talk on Microsoft about Microsoft Visual Studio 2010 focused on Architect. My talk was specifically about Test Driven Development. &lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" href="http://hadihariri.com/blogengine/"&gt;Hadi Hariri&lt;/a&gt; asked the audience how many of them developed and used unit tests. The curious thing about this question was the answer: about 150 people raised their hands about 10 people. &lt;br /&gt;This means that most attendees were architects, project managers, etc.. and&amp;nbsp; only 10 developed. &lt;br /&gt;My question is, can you be a good software architect, and not to program?. For example, how can you recommend using Entity Framework if you&amp;#39;ve not used it and no known problems (or the actual benefits) that can give it to&amp;nbsp;you?. &lt;br /&gt;I understand that the role of an architect is not programming, but from my point of view, an architect should always to be updated and not should disconnect from the technical part, participating developing certain projects (not with a large load course).&lt;/p&gt;
&lt;p&gt;I think that reading only, yout don&amp;rsquo;t get enough knowledge to be able to define which components, technologies or products are best suited to develop an application. &lt;br /&gt;&lt;br /&gt;Regards.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://thinkingtogether.net/aggbug.aspx?PostID=64" width="1" height="1"&gt;</description><category domain="http://thinkingtogether.net/blogs/sample_weblog/archive/tags/Arquitectura/default.aspx">Arquitectura</category></item><item><title>OSLO CTP Mayo 2009</title><link>http://thinkingtogether.net/blogs/sample_weblog/archive/2009/05/29/oslo-ctp-mayo-2009.aspx</link><pubDate>Fri, 29 May 2009 07:33:38 GMT</pubDate><guid isPermaLink="false">ded273ab-9e87-4979-8222-e4e2e46f1b46:63</guid><dc:creator>Roberto</dc:creator><slash:comments>0</slash:comments><description>&lt;p class="ExternalClassF7F5BF979745487C884F0B34DC72D553"&gt;Microsoft have just released the May 2009 â€œOslo CTPâ€.&lt;/p&gt;  &lt;p class="ExternalClassF7F5BF979745487C884F0B34DC72D553"&gt;As you will know Oslo is a Microsoft modeling tool.    &lt;br /&gt;The Oslo modeling tools include: &lt;/p&gt;  &lt;div class="ExternalClassF7F5BF979745487C884F0B34DC72D553"&gt;   &lt;ul&gt;     &lt;li&gt;A storage runtime (based on SQL Server 2008) where to store the schemas and instances of data. &lt;/li&gt;      &lt;li&gt;A visual modeling tool (Microsoft code name &amp;quot;Quadrant&amp;quot;). &lt;/li&gt;      &lt;li&gt;A modeling language (Microsoft code name &amp;quot;M&amp;quot;). &lt;/li&gt;   &lt;/ul&gt; &lt;/div&gt;  &lt;p&gt;   &lt;br /&gt;In this CTP is the first time that Quadrant is made available to the public . Until now we could only create models by &amp;quot;M&amp;quot;. &lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;The link to download this CTP is &lt;a href="http://go.microsoft.com/?linkid=9648442" target="_blank"&gt;http://go.microsoft.com/?linkid=9648442&lt;/a&gt;.     &lt;br /&gt;For more details about the changes in this release visit &lt;a href="http://msdn.microsoft.com/en-us/oslo/releasenotes.aspx" target="_blank"&gt;http://msdn.microsoft.com/en-us/oslo/releasenotes.aspx&lt;/a&gt;.     &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;Regards.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://thinkingtogether.net/aggbug.aspx?PostID=63" width="1" height="1"&gt;</description><category domain="http://thinkingtogether.net/blogs/sample_weblog/archive/tags/Oslo/default.aspx">Oslo</category></item><item><title>REST AND WCF</title><link>http://thinkingtogether.net/blogs/sample_weblog/archive/2009/05/29/rest-and-wcf.aspx</link><pubDate>Fri, 29 May 2009 06:25:35 GMT</pubDate><guid isPermaLink="false">ded273ab-9e87-4979-8222-e4e2e46f1b46:61</guid><dc:creator>Roberto</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;REST defines a style of architecture-focused resources. These resources are accessed using URIs and&amp;#160; HTTP verbs (GET, POST, PUT and DELETE) rather than based on the SOAPAction as SOAP HTTP.    &lt;br /&gt;Some of the benefits of REST are: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;p&gt;Lightweight. Excluding extra xml as SOAP packets. &lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;The result returned by REST is easily understandable. Is Human Readable. &lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;No need toolkits for use. &lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;Simple. Obviously has less functionality than a service based on soap/WS- *, but in many cases should be sufficient with this functionality.&lt;/p&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;If we were to invoke a RESTFUL web service that returned us a customer identifier (25) . The URI to invoke this resource would be as follows:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://demo/ventas.svc/cliente/25"&gt;&lt;em&gt;http://demo/ventas.svc/cliente/25&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;However in the case of a SOAP Web service through the URI we could only identify the endpoint of the service:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://demo/ventas.svc"&gt;&lt;em&gt;http://demo/ventas.svc&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;At most the operation to invoke:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://demo.ventas.asmx?op=ObtenerClientes"&gt;&lt;em&gt;http://demo.ventas.asmx?op=ObtenerClientes&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Once you &amp;quot;know&amp;quot; that is REST, we will implement a RESTful service based on WCF.&lt;/p&gt;  &lt;h1&gt;&amp;#160;&lt;/h1&gt;  &lt;h1&gt;Service Creation&lt;/h1&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;First of all we must create a new service, for this we will build on the default template for VS 2008. Call RESTService project. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;img src="http://blogs.renacimiento.com/rgon/Lists/Posts/Attachments/16/image_6_51A5C031.png" alt="" /&gt;&lt;/p&gt;  &lt;p&gt;2. Rename the file IService1 by ICalc and modifies the contents of it with the following code:&lt;/p&gt;  &lt;div style="border-bottom:gray 1px solid;border-left:gray 1px solid;padding-bottom:4px;line-height:12pt;background-color:#f4f4f4;margin:20px 0px 10px;padding-left:4px;width:97.5%;padding-right:4px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;max-height:200px;font-size:8pt;overflow:auto;border-top:gray 1px solid;cursor:text;border-right:gray 1px solid;padding-top:4px;"&gt;   &lt;div style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;     &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System;&lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System.Linq;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System.Runtime.Serialization;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System.ServiceModel;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System.Text;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System.ServiceModel.Web; &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#0000ff;"&gt;namespace&lt;/span&gt; RESTService{   &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;  &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    [ServiceContract]     &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;interface&lt;/span&gt; ICalculadora    &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    {        &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;        [OperationContract]        &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;        [WebGet(         &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;            BodyStyle = WebMessageBodyStyle.Bare,         &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;            ResponseFormat = WebMessageFormat.Xml,         &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;            UriTemplate=&lt;span style="color:#006080;"&gt;&amp;quot;/Sumar/{op1}/{op2}&amp;quot;&lt;/span&gt;)]        &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;        &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; Sumar(&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; op1,&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; op2);    &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    }&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;}&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;The only difference between a WCF Service is that we have added the attribute WebGet to the method Sum. This attribute indicates that the operation is a recovery one and can be called via the web programming model. Furthermore, we indicate that the URI to access to the resource is:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://servidor/RESTService.Calculadora.svc/Sum/25/50"&gt;http://servidor/RESTService.Calculadora.svc/Sum/25/50&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Note: You will see that the parameters in this case should be numeric but are string. This is because it is required by UriTemplate.&lt;/p&gt;

&lt;p&gt;In the case that the operation is not a recovery operation , we must use the &lt;strong&gt;[WebInvoke]&lt;/strong&gt; attribute.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sample:&lt;/strong&gt;&lt;/p&gt;

&lt;div style="border-bottom:gray 1px solid;border-left:gray 1px solid;padding-bottom:4px;line-height:12pt;background-color:#f4f4f4;margin:20px 0px 10px;padding-left:4px;width:97.5%;padding-right:4px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;max-height:200px;font-size:8pt;overflow:auto;border-top:gray 1px solid;cursor:text;border-right:gray 1px solid;padding-top:4px;"&gt;
  &lt;div style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;
    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt; [OperationContract]   &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   2:&lt;/span&gt; [WebInvoke(Method=&lt;span style="color:#006080;"&gt;&amp;quot;DELETE&amp;quot;&lt;/span&gt;,UriTemplate=&lt;span style="color:#006080;"&gt;&amp;quot;/Product/{idProduct}&amp;quot;&lt;/span&gt;)]   &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   3:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; DeleteProduct(&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; idProduct)   &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   4:&lt;/span&gt; {   &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   5:&lt;/span&gt;     &lt;span style="color:#008000;"&gt;// Delete the product &lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   6:&lt;/span&gt; } &lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;3. Rename the file Service1.cs by Calc.cs and modifies the contents of it with the following code:&lt;/p&gt;
&lt;strong&gt;
  &lt;div style="border-bottom:gray 1px solid;border-left:gray 1px solid;padding-bottom:4px;line-height:12pt;background-color:#f4f4f4;margin:20px 0px 10px;padding-left:4px;width:97.5%;padding-right:4px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;max-height:200px;font-size:8pt;overflow:auto;border-top:gray 1px solid;cursor:text;border-right:gray 1px solid;padding-top:4px;"&gt;
    &lt;div style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;
      &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System;&lt;/pre&gt;

      &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   2:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;/pre&gt;

      &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   3:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System.Linq;&lt;/pre&gt;

      &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   4:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System.Runtime.Serialization;&lt;/pre&gt;

      &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   5:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System.ServiceModel;&lt;/pre&gt;

      &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   6:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System.Text; &lt;/pre&gt;

      &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   7:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;namespace&lt;/span&gt; RESTService&lt;/pre&gt;

      &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   8:&lt;/span&gt; {    &lt;/pre&gt;

      &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   9:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;class&lt;/span&gt; Calc : ICalc  &lt;/pre&gt;

      &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  10:&lt;/span&gt;     {        &lt;/pre&gt;

      &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  11:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; Sum(&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; op1, &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; op2)        &lt;/pre&gt;

      &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  12:&lt;/span&gt;         {            &lt;/pre&gt;

      &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  13:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; operator1=0;            &lt;/pre&gt;

      &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  14:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; operator2=0;            &lt;/pre&gt;

      &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  15:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; sResult = &lt;span style="color:#006080;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;;            &lt;/pre&gt;

      &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  16:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; ((&lt;span style="color:#0000ff;"&gt;int&lt;/span&gt;.TryParse(op1, &lt;span style="color:#0000ff;"&gt;out&lt;/span&gt; operator1)) &amp;amp;&amp;amp; (&lt;span style="color:#0000ff;"&gt;int&lt;/span&gt;.TryParse(op2, &lt;span style="color:#0000ff;"&gt;out&lt;/span&gt; operator2)))            &lt;/pre&gt;

      &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  17:&lt;/span&gt;             {                &lt;/pre&gt;

      &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  18:&lt;/span&gt;                 sResult = &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt;.Format(&lt;span style="color:#006080;"&gt;&amp;quot;The result is: {0}&amp;quot;&lt;/span&gt;, operator1 + operator2);&lt;/pre&gt;

      &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  19:&lt;/span&gt;             }            &lt;/pre&gt;

      &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  20:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; sResult;        &lt;/pre&gt;

      &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  21:&lt;/span&gt;         }    &lt;/pre&gt;

      &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  22:&lt;/span&gt;     }&lt;/pre&gt;

      &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  23:&lt;/span&gt; }&lt;/pre&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/strong&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;As you can see, this code implements a method which has two parameters and returns the sum as a result . There&amp;#39;s no difference between a &amp;quot;traditional&amp;quot; Service and RESTful.&lt;/p&gt;

&lt;p&gt;4. Verify that int the app.config file are reflected all the changes we have made names for code files.&lt;/p&gt;

&lt;p&gt;5. Locate the endpoint definition and change wsHttpbinding by webHttpbinding. At the end you should have something like the following. &lt;/p&gt;

&lt;div style="border-bottom:gray 1px solid;border-left:gray 1px solid;padding-bottom:4px;line-height:12pt;background-color:#f4f4f4;margin:20px 0px 10px;padding-left:4px;width:97.5%;padding-right:4px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;max-height:200px;font-size:8pt;overflow:auto;border-top:gray 1px solid;cursor:text;border-right:gray 1px solid;padding-top:4px;"&gt;
  &lt;div style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;
    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;endpoint&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;address&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;binding&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;webHttpBinding&amp;quot;&lt;/span&gt; &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   2:&lt;/span&gt;     &lt;span style="color:#ff0000;"&gt;contract&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;RESTService.ICalc&amp;quot;&lt;/span&gt; &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   3:&lt;/span&gt;     &lt;span style="color:#ff0000;"&gt;behaviorConfiguration&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;WebBehavior&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;6. Add the following xml node inside &amp;lt;behaviors&amp;gt;:&lt;/p&gt;

&lt;div style="border-bottom:gray 1px solid;border-left:gray 1px solid;padding-bottom:4px;line-height:12pt;background-color:#f4f4f4;margin:20px 0px 10px;padding-left:4px;width:97.5%;padding-right:4px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;max-height:200px;font-size:8pt;overflow:auto;border-top:gray 1px solid;cursor:text;border-right:gray 1px solid;padding-top:4px;"&gt;
  &lt;div style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;
    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;endpointBehaviors&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;   &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   2:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;behavior&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;WebBehavior&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;        &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   3:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;webHtpp&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;    &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   4:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;behavior&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   5:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;endpointBehaviors&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;The binding webHttpbinding indicates that this service should be exposed via HTTP requests exposing Plain old XML (POX) instead of SOAP-based messages. This binding is used in conjunction with behavior WebHttp to enable web programming model for WCF service. &lt;/p&gt;

&lt;p&gt;
  &lt;br /&gt;With this we have already created a RESTful service.&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;h1&gt;Consuming Service&lt;/h1&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;RESTful services can be invoked in two ways: &lt;/p&gt;

&lt;p&gt;
  &lt;br /&gt;1. Invoking the service directly through the object WebChannelFactory. 

  &lt;br /&gt;2. Adding a reference to the service and minimally changing the proxy. &lt;/p&gt;

&lt;p&gt;
  &lt;br /&gt;I prefer the last one, because everything is much cleaner and we invoke all the services in the same way regardless of how they are exposed.&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;h5&gt;Method 1: WebChannelFactory&lt;/h5&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;1. Create a console program used to test the RESTful service. 
  &lt;br /&gt;2. Add a reference to System.ServiceModel.Web namespace . 

  &lt;br /&gt;3. Adds a copy of the ICalculadora.cs to this project. 

  &lt;br /&gt;4. Add the following code to consume the service:&lt;/p&gt;

&lt;div style="border-bottom:gray 1px solid;border-left:gray 1px solid;padding-bottom:4px;line-height:12pt;background-color:#f4f4f4;margin:20px 0px 10px;padding-left:4px;width:97.5%;padding-right:4px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;max-height:200px;font-size:8pt;overflow:auto;border-top:gray 1px solid;cursor:text;border-right:gray 1px solid;padding-top:4px;"&gt;
  &lt;div style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;
    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt; WebChannelFactory&amp;lt;ICalc&amp;gt; factory = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; WebChannelFactory&amp;lt;ICalc&amp;gt;(&lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; Uri(&lt;span style="color:#006080;"&gt;&amp;quot;Service_URI&amp;quot;&lt;/span&gt;));    &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   2:&lt;/span&gt; ICalc proxy = factory.CreateChannel();    &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   3:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; response = proxy.Sum(&lt;span style="color:#006080;"&gt;&amp;quot;25&amp;quot;&lt;/span&gt;,&lt;span style="color:#006080;"&gt;&amp;quot;70&amp;quot;&lt;/span&gt;);    &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   4:&lt;/span&gt; ((IDisposable)proxy).Dispose(); &lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;Remeber you need change â€œService_URIâ€ by the Service URL.&lt;/p&gt;

&lt;p&gt;This invoking method does not need a services reference, it is only&amp;#160; necessary to gain access to the Service interface.&lt;/p&gt;

&lt;h6&gt;&amp;#160;&lt;/h6&gt;

&lt;h5&gt;Method 2 (Add Services Reference)&lt;/h5&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;1. Create a console program used to test the RESTful service. 
  &lt;br /&gt;2. Add a reference to System.ServiceModel.Web namespace . 

  &lt;br /&gt;3. Add a reference to the RESTful service that you want to invoke. 

  &lt;br /&gt;4. Open the file containing the proxy code (Reference.cs) to invoke the service. Locate the &lt;strong&gt;Sum&lt;/strong&gt; method and add the following attribute above:&lt;/p&gt;

&lt;div style="border-bottom:gray 1px solid;border-left:gray 1px solid;padding-bottom:4px;line-height:12pt;background-color:#f4f4f4;margin:20px 0px 10px;padding-left:4px;width:97.5%;padding-right:4px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;max-height:200px;font-size:8pt;overflow:auto;border-top:gray 1px solid;cursor:text;border-right:gray 1px solid;padding-top:4px;"&gt;
  &lt;div style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;
    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt; [WebGet(    &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   2:&lt;/span&gt;     BodyStyle = WebMessageBodyStyle.Bare,    &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   3:&lt;/span&gt;     ResponseFormat = WebMessageFormat.Xml,    &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   4:&lt;/span&gt;     UriTemplate = &lt;span style="color:#006080;"&gt;&amp;quot;/Sum/{op1}/{op2}&amp;quot;&lt;/span&gt;)]&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;With this attribute the proxy knows how to invoke the service. 
  &lt;br /&gt;&lt;/p&gt;

&lt;p&gt;5. Open the app.config file and locate the node called &amp;lt;client&amp;gt; and add the service endpoint definition to consume:&lt;/p&gt;

&lt;div style="border-bottom:gray 1px solid;border-left:gray 1px solid;padding-bottom:4px;line-height:12pt;background-color:#f4f4f4;margin:20px 0px 10px;padding-left:4px;width:97.5%;padding-right:4px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;max-height:200px;font-size:8pt;overflow:auto;border-top:gray 1px solid;cursor:text;border-right:gray 1px solid;padding-top:4px;"&gt;
  &lt;div style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;
    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;endpoint&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;address&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;service_address&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;behaviorConfiguration&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;test&amp;quot;&lt;/span&gt;   &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   2:&lt;/span&gt;     &lt;span style="color:#ff0000;"&gt;binding&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;webHttpBinding&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;contract&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;ServiceReference1.ICalc&amp;quot;&lt;/span&gt;    &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   3:&lt;/span&gt;     &lt;span style="color:#ff0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;WebHttpBinding1&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;6. Below &amp;lt;/client&amp;gt; add the next xml:&lt;/p&gt;

&lt;div style="border-bottom:gray 1px solid;border-left:gray 1px solid;padding-bottom:4px;line-height:12pt;background-color:#f4f4f4;margin:20px 0px 10px;padding-left:4px;width:97.5%;padding-right:4px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;max-height:200px;font-size:8pt;overflow:auto;border-top:gray 1px solid;cursor:text;border-right:gray 1px solid;padding-top:4px;"&gt;
  &lt;div style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;
    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;behaviors&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;  &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   2:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;endpointBehaviors&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;   &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   3:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;behavior&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;test&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;       &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   4:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;webHttp&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;   &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   5:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;behavior&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;   &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   6:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;endpointBehaviors&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;        &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   7:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;behaviors&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Having made these changes we can invoke the service:&lt;/p&gt;

&lt;div style="border-bottom:gray 1px solid;border-left:gray 1px solid;padding-bottom:4px;line-height:12pt;background-color:#f4f4f4;margin:20px 0px 10px;padding-left:4px;width:97.5%;padding-right:4px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;max-height:200px;font-size:8pt;overflow:auto;border-top:gray 1px solid;cursor:text;border-right:gray 1px solid;padding-top:4px;"&gt;
  &lt;div style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;
    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt; CalcClient calc = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; ConsoleApplication2.ServiceReference1.CalcClient(&lt;span style="color:#006080;"&gt;&amp;quot;WebHttpBinding1&amp;quot;&lt;/span&gt;);    &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   2:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; response = calc.Sum(&lt;span style="color:#006080;"&gt;&amp;quot;25&amp;quot;&lt;/span&gt;,&lt;span style="color:#006080;"&gt;&amp;quot;70&amp;quot;&lt;/span&gt;);&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Finally, we will use fiddler to see the calls exchange between the client and HTTP service. 
  &lt;br /&gt;In the case of the REST service call we will get the following trace:&lt;/p&gt;

&lt;div style="border-bottom:gray 1px solid;border-left:gray 1px solid;padding-bottom:4px;line-height:12pt;background-color:#f4f4f4;margin:20px 0px 10px;padding-left:4px;width:97.5%;padding-right:4px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;max-height:200px;font-size:8pt;overflow:auto;border-top:gray 1px solid;cursor:text;border-right:gray 1px solid;padding-top:4px;"&gt;
  &lt;div style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;
    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt; GET /RESTService.Calculadora.svc/Sumar/25/70 HTTP/1.1   &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   2:&lt;/span&gt; Content-Type: application/xml; charset=utf-8   &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   3:&lt;/span&gt; VsDebuggerCausalityData: uIDPo8iVuDxtWzVIoOWhMWz8d6cAAAAAQQ14Z3Np/kGe9oMjdzTKnIAB0WdKCntFi092ERAO19oACQAA   &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   4:&lt;/span&gt; Host: xxxxxx   &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   5:&lt;/span&gt; Connection: Keep-Alive&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;In the case of the SOAP service call we will get the following trace:&lt;/p&gt;

&lt;div style="border-bottom:gray 1px solid;border-left:gray 1px solid;padding-bottom:4px;line-height:12pt;background-color:#f4f4f4;margin:20px 0px 10px;padding-left:4px;width:97.5%;padding-right:4px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;max-height:200px;font-size:8pt;overflow:auto;border-top:gray 1px solid;cursor:text;border-right:gray 1px solid;padding-top:4px;"&gt;
  &lt;div style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;
    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt; POST /WcfServiceLibrary1.Service1.svc HTTP/1.1   &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   2:&lt;/span&gt; Content-Type: text/xml; charset=utf-8   &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   3:&lt;/span&gt; VsDebuggerCausalityData: uIDPo9JShnIh9h9LnpM3i3SLcV8AAAAADD0BBgGqLkCAeQs6rXWB4Cv3lHKbfRpOq02eDFtYkC4ACQAA   &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   4:&lt;/span&gt; SOAPAction: &lt;span style="color:#006080;"&gt;&amp;quot;http://tempuri.org/IService1/GetData&amp;quot;&lt;/span&gt;   &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   5:&lt;/span&gt; Host: xxxxxxxx   &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   6:&lt;/span&gt; Content-Length: 158   &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   7:&lt;/span&gt; Expect: 100-&lt;span style="color:#0000ff;"&gt;continue&lt;/span&gt;   &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   8:&lt;/span&gt; Connection: Keep-Alive   &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   9:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  10:&lt;/span&gt; &amp;lt;s:Envelope xmlns:s=&lt;span style="color:#006080;"&gt;&amp;quot;http://schemas.xmlsoap.org/soap/envelope/&amp;quot;&lt;/span&gt;&amp;gt;  &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  11:&lt;/span&gt;     &amp;lt;s:Body&amp;gt;  &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  12:&lt;/span&gt;         &amp;lt;GetData xmlns=&lt;span style="color:#006080;"&gt;&amp;quot;http://tempuri.org/&amp;quot;&lt;/span&gt;&amp;gt; &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  13:&lt;/span&gt;             &amp;lt;&lt;span style="color:#0000ff;"&gt;value&lt;/span&gt;&amp;gt;25&amp;lt;/&lt;span style="color:#0000ff;"&gt;value&lt;/span&gt;&amp;gt;  &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  14:&lt;/span&gt;         &amp;lt;/GetData&amp;gt;  &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  15:&lt;/span&gt;     &amp;lt;/s:Body&amp;gt;  &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  16:&lt;/span&gt; &amp;lt;/s:Envelope&amp;gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;If we compare with another one trace, we will test that in the &amp;quot;REST&amp;quot; Service is the GET operation which defines the method to invoke and the parameters , there is no SOAPAction, while in the &amp;quot;SOAP&amp;quot; Service we need the SOAPAction attribute to&amp;#160; define the method to invoke and a envelope where we define the parameters passed to this method. 
  &lt;br /&gt;&lt;/p&gt;

&lt;p&gt;The service &amp;quot;REST&amp;quot; response is the following:&lt;/p&gt;

&lt;div style="border-bottom:gray 1px solid;border-left:gray 1px solid;padding-bottom:4px;line-height:12pt;background-color:#f4f4f4;margin:20px 0px 10px;padding-left:4px;width:97.5%;padding-right:4px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;max-height:200px;font-size:8pt;overflow:auto;border-top:gray 1px solid;cursor:text;border-right:gray 1px solid;padding-top:4px;"&gt;
  &lt;div style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;
    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt; HTTP/1.1 200 OK   &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   2:&lt;/span&gt; Content-Type: application/xml; charset=utf-8   &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   3:&lt;/span&gt; Server: Microsoft-IIS/7.0   &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   4:&lt;/span&gt; X-Powered-By: ASP.NET   &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   5:&lt;/span&gt; Date: Mon, 27 Apr 2009 14:33:52 GMT   &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   6:&lt;/span&gt; Content-Length: 92   &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   7:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   8:&lt;/span&gt; &amp;lt;&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; xmlns=&lt;span style="color:#006080;"&gt;&amp;quot;http://schemas.microsoft.com/2003/10/Serialization/&amp;quot;&lt;/span&gt;&amp;gt;The result &lt;span style="color:#0000ff;"&gt;is&lt;/span&gt;: 95&amp;lt;/&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt;&amp;gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;The service &amp;quot;SOAP&amp;quot; response is the following:&lt;/p&gt;

&lt;div style="border-bottom:gray 1px solid;border-left:gray 1px solid;padding-bottom:4px;line-height:12pt;background-color:#f4f4f4;margin:20px 0px 10px;padding-left:4px;width:97.5%;padding-right:4px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;max-height:200px;font-size:8pt;overflow:auto;border-top:gray 1px solid;cursor:text;border-right:gray 1px solid;padding-top:4px;"&gt;
  &lt;div style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;
    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt; HTTP/1.1 200 OK   &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   2:&lt;/span&gt; Content-Type: text/xml; charset=utf-8   &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   3:&lt;/span&gt; Server: Microsoft-IIS/7.0   &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   4:&lt;/span&gt; X-Powered-By: ASP.NET   &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   5:&lt;/span&gt; Date: Mon, 27 Apr 2009 14:28:00 GMT   Content-Length: 203   &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   6:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   7:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   8:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   9:&lt;/span&gt; &amp;lt;s:Envelope xmlns:s=&lt;span style="color:#006080;"&gt;&amp;quot;http://schemas.xmlsoap.org/soap/envelope/&amp;quot;&lt;/span&gt;&amp;gt;  &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  10:&lt;/span&gt;     &amp;lt;s:Body&amp;gt;  &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  11:&lt;/span&gt;         &amp;lt;GetDataResponse xmlns=&lt;span style="color:#006080;"&gt;&amp;quot;http://tempuri.org/&amp;quot;&lt;/span&gt;&amp;gt;  &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  12:&lt;/span&gt;             &amp;lt;GetDataResult&amp;gt;You entered: 25&amp;lt;/GetDataResult&amp;gt;  &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  13:&lt;/span&gt;         &amp;lt;/GetDataResponse&amp;gt;  &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  14:&lt;/span&gt;     &amp;lt;/s:Body&amp;gt;  &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  15:&lt;/span&gt; &amp;lt;/s:Envelope&amp;gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;As we can see in the trace, the &amp;quot;REST&amp;quot; response&amp;#160; is much simpler and smaller than the &amp;quot;SOAP&amp;quot; response.&amp;#160; &lt;br /&gt;In the next link &lt;a title="RESTService.zip" href="http://cid-99fb7d3a483b374f.skydrive.live.com/self.aspx/Blog/REST%20Introduccion/RESTService.zip"&gt;RESTService.zip&lt;/a&gt; you have available the example files. It is a very simple example but it explains the basis for building a REST service. 

  &lt;br /&gt;Finally it is only to say that Microsoft has released a Starter Kit on CodePlex (Preview 2) that provides classes and templates for the creation of RESTful services. 

  &lt;br /&gt;In another post we will see how to create and consume a service using this starter kit. 

  &lt;br /&gt;&lt;/p&gt;

&lt;p&gt;Regards.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://thinkingtogether.net/aggbug.aspx?PostID=61" width="1" height="1"&gt;</description><category domain="http://thinkingtogether.net/blogs/sample_weblog/archive/tags/WCF/default.aspx">WCF</category><category domain="http://thinkingtogether.net/blogs/sample_weblog/archive/tags/REST/default.aspx">REST</category></item><item><title>New site Talking about Windows</title><link>http://thinkingtogether.net/blogs/sample_weblog/archive/2009/04/28/new-site-talking-about-windows.aspx</link><pubDate>Tue, 28 Apr 2009 06:09:00 GMT</pubDate><guid isPermaLink="false">ded273ab-9e87-4979-8222-e4e2e46f1b46:57</guid><dc:creator>Roberto</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Microsoft has opened a new site called &lt;strong&gt;Talking about Windows&lt;/strong&gt; &lt;a href="http://www.talkingaboutwindows.com"&gt;&lt;span style="color:#071961;"&gt;www.talkingaboutwindows.com&lt;/span&gt;&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;In this site,&amp;nbsp;the Windows 7 product team is going to publish information without NDA. Thist site has videos which you can comment.&lt;/p&gt;
&lt;p&gt;Regards.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://thinkingtogether.net/aggbug.aspx?PostID=57" width="1" height="1"&gt;</description><category domain="http://thinkingtogether.net/blogs/sample_weblog/archive/tags/Windows+7/default.aspx">Windows 7</category></item><item><title>Biztalk Development Center</title><link>http://thinkingtogether.net/blogs/sample_weblog/archive/2009/04/07/biztalk-development-center.aspx</link><pubDate>Tue, 07 Apr 2009 10:17:00 GMT</pubDate><guid isPermaLink="false">ded273ab-9e87-4979-8222-e4e2e46f1b46:56</guid><dc:creator>Roberto</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Microsft has just to release a site to share resource about Biztalk.&lt;/p&gt;
&lt;p&gt;In this Site we will have available whitepapers, web casts, talks, etc which may be interesting for you.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/biztalk/default.aspx"&gt;http://msdn.microsoft.com/en-us/biztalk/default.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Regards.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://thinkingtogether.net/aggbug.aspx?PostID=56" width="1" height="1"&gt;</description><category domain="http://thinkingtogether.net/blogs/sample_weblog/archive/tags/Biztalk+Server+2009/default.aspx">Biztalk Server 2009</category></item><item><title>WCF Champ</title><link>http://thinkingtogether.net/blogs/sample_weblog/archive/2009/04/07/wcf-champ.aspx</link><pubDate>Tue, 07 Apr 2009 09:51:00 GMT</pubDate><guid isPermaLink="false">ded273ab-9e87-4979-8222-e4e2e46f1b46:55</guid><dc:creator>Roberto</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Microsft has just launched a campaign target web service developers who unaware WCF or who has tried WCF in the past but dont use this technology in their applications.&lt;/p&gt;
&lt;p&gt;The campaign has two primary components:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Three videos&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; These videos have a common theme: WCF developers versus traditional web services developers.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2.&amp;nbsp;&amp;nbsp; &lt;strong&gt;Web site&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Web Site with resource to&amp;nbsp;improve the learning curve about WCF.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.microsoft.com/net/wcf/champ"&gt;http://www.microsoft.com/net/wcf/champ&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Regards.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://thinkingtogether.net/aggbug.aspx?PostID=55" width="1" height="1"&gt;</description><category domain="http://thinkingtogether.net/blogs/sample_weblog/archive/tags/WCF/default.aspx">WCF</category></item><item><title>Biztalk Server 2009 Beta</title><link>http://thinkingtogether.net/blogs/sample_weblog/archive/2008/12/09/biztalk-server-2009-beta.aspx</link><pubDate>Tue, 09 Dec 2008 07:40:00 GMT</pubDate><guid isPermaLink="false">ded273ab-9e87-4979-8222-e4e2e46f1b46:54</guid><dc:creator>Roberto</dc:creator><slash:comments>0</slash:comments><description>&lt;div&gt;Microsoft has just release a beta version of BizTalk Server 2009.&lt;br /&gt;Some of the enhancements in this version are the support for Visual Studio 2008 SP1, .NET Framework 3.5 SP1, SQL Server 2008 and TFS.&lt;br /&gt;The support of TFS will allow us to manage a complete life cycle of an application BizTalk. Among other things we can management unit tests, continuous integration, automated desployments and so on.&lt;br /&gt;Is available a new sdk to development of adapters rely on WCF (LOB Adapter SDK).&lt;br /&gt;The new version is avalilable in connect.microsoft.com.&lt;/div&gt;
&lt;div&gt;Regards. &lt;/div&gt;
&lt;div&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://thinkingtogether.net/aggbug.aspx?PostID=54" width="1" height="1"&gt;</description><category domain="http://thinkingtogether.net/blogs/sample_weblog/archive/tags/WCF+LOB+Adapter+SDK/default.aspx">WCF LOB Adapter SDK</category><category domain="http://thinkingtogether.net/blogs/sample_weblog/archive/tags/Biztalk+Server+2009/default.aspx">Biztalk Server 2009</category></item><item><title>Mount a Virtual Hard Disk (VHD)</title><link>http://thinkingtogether.net/blogs/sample_weblog/archive/2008/11/07/mount-a-virtual-hard-disk-vhd.aspx</link><pubDate>Fri, 07 Nov 2008 08:25:00 GMT</pubDate><guid isPermaLink="false">ded273ab-9e87-4979-8222-e4e2e46f1b46:53</guid><dc:creator>Roberto</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;How many times we have to start a Virtual Machine only to get a Project or document.&amp;nbsp;Trying to resolve this problem&amp;nbsp;I found that Vitual Server 2005 R2 allow you mount a VHD in your operating system.&lt;/p&gt;
&lt;p&gt;You have not to install the complete product. Installing the VHDMount utility will be enought.&lt;/p&gt;
&lt;p&gt;To mount the vhd we&amp;#39;ll have to execute the next command &amp;quot;C:\Program Files\Microsoft Virtual Server\Vhdmount\vhdmount.exe&amp;quot; /m &amp;quot;path file&amp;nbsp;vhd&amp;quot;.&lt;/p&gt;
&lt;p&gt;To unmount the vhd we&amp;#39;ll have to execute the next command&amp;nbsp; &amp;quot;C:\Program Files\Microsoft Virtual Server\Vhdmount\vhdmount.exe&amp;quot; /u &amp;quot;path file vhd&amp;quot;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://thinkingtogether.net/aggbug.aspx?PostID=53" width="1" height="1"&gt;</description><category domain="http://thinkingtogether.net/blogs/sample_weblog/archive/tags/Productivity/default.aspx">Productivity</category></item><item><title>Evento CEUS</title><link>http://thinkingtogether.net/blogs/sample_weblog/archive/2008/10/30/evento-ceus.aspx</link><pubDate>Thu, 30 Oct 2008 10:06:51 GMT</pubDate><guid isPermaLink="false">ded273ab-9e87-4979-8222-e4e2e46f1b46:52</guid><dc:creator>Roberto</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Ayer he estado impartiendo una charla en la Conferencia de usuarios de Sharepoint organizada por Microsoft,&amp;#160; donde hemos visto como construir aplicaciones RIA bas&amp;#225;ndonos en MOSS y Silverlight 2.0.&lt;/p&gt;  &lt;p&gt;Aqu&amp;#237; os dejo la presentaci&amp;#243;n y las demos que se vieron en la charla.&lt;/p&gt;  &lt;p&gt;&lt;a title="http://cid-99fb7d3a483b374f.skydrive.live.com/browse.aspx/CEUS%20IV%20-%20Silverlight%20MOSS?uc=2" href="http://cid-99fb7d3a483b374f.skydrive.live.com/browse.aspx/CEUS%20IV%20-%20Silverlight%20MOSS?uc=2"&gt;http://cid-99fb7d3a483b374f.skydrive.live.com/browse.aspx/CEUS%20IV%20-%20Silverlight%20MOSS?uc=2&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Muchas gracias a todos los asistentes.&lt;/p&gt;&lt;img src="http://thinkingtogether.net/aggbug.aspx?PostID=52" width="1" height="1"&gt;</description><category domain="http://thinkingtogether.net/blogs/sample_weblog/archive/tags/Eventos/default.aspx">Eventos</category><category domain="http://thinkingtogether.net/blogs/sample_weblog/archive/tags/SHAREPOINT/default.aspx">SHAREPOINT</category><category domain="http://thinkingtogether.net/blogs/sample_weblog/archive/tags/MOSS/default.aspx">MOSS</category><category domain="http://thinkingtogether.net/blogs/sample_weblog/archive/tags/SILVERLIGHT/default.aspx">SILVERLIGHT</category></item><item><title>Evento de ALM'08 - Gestión del ciclo de vida de soluciones Sharepoint</title><link>http://thinkingtogether.net/blogs/sample_weblog/archive/2008/10/13/evento-de-alm-08-gesti-n-del-ciclo-de-vida-de-soluciones-sharepoint.aspx</link><pubDate>Mon, 13 Oct 2008 05:34:00 GMT</pubDate><guid isPermaLink="false">ded273ab-9e87-4979-8222-e4e2e46f1b46:50</guid><dc:creator>Roberto</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;Este Jueves 16 de Octubre participaré como ponente en el evento de ALM que organiza Mcrosoft.&lt;/P&gt;
&lt;P&gt;En esta charla veremos como gestionar el ciclo de vida de soluciones Sharepoint usando Visual Studio 2008 y TFS.&lt;/P&gt;
&lt;P&gt;Veremos como gestionar de una forma automatizada las compilaciones diarias, pruebas unitarias y despliegues de soluciones basadas en Sharepoint.&lt;/P&gt;
&lt;P&gt;Espero veremos por alli.&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://thinkingtogether.net/aggbug.aspx?PostID=50" width="1" height="1"&gt;</description><category domain="http://thinkingtogether.net/blogs/sample_weblog/archive/tags/SHAREPOINT/default.aspx">SHAREPOINT</category><category domain="http://thinkingtogether.net/blogs/sample_weblog/archive/tags/ALM/default.aspx">ALM</category></item><item><title>Charla en el grupo de usuarios Madrid.Net</title><link>http://thinkingtogether.net/blogs/sample_weblog/archive/2008/07/28/charla-de-el-grupo-de-usuarios-madrid-net.aspx</link><pubDate>Mon, 28 Jul 2008 09:46:00 GMT</pubDate><guid isPermaLink="false">ded273ab-9e87-4979-8222-e4e2e46f1b46:46</guid><dc:creator>Roberto</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;El jueves 24 de Julio impartí una charla de integración de WCF y WF (Workflow Services)&amp;nbsp; en el grupo de usuarios de Madrid.NET.&lt;/P&gt;
&lt;P&gt;Agradecer&amp;nbsp; a todos los asistentes que tuvieron la amabilidad de venir el jueves a la charla antes del puente :).&lt;/P&gt;
&lt;P&gt;Como lo prometido es deuda &lt;A class="" title=WCF+WF href="http://cid-99fb7d3a483b374f.skydrive.live.com/self.aspx/Workflow%20Services/WCF+WF.rar" target=_blank&gt;aquí &lt;/A&gt;os dejo el contenido de la charla.&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://thinkingtogether.net/aggbug.aspx?PostID=46" width="1" height="1"&gt;</description><category domain="http://thinkingtogether.net/blogs/sample_weblog/archive/tags/WCF/default.aspx">WCF</category><category domain="http://thinkingtogether.net/blogs/sample_weblog/archive/tags/WWF/default.aspx">WWF</category><category domain="http://thinkingtogether.net/blogs/sample_weblog/archive/tags/Eventos/default.aspx">Eventos</category></item><item><title>MVP de Microsoft por segundo año consecutivo</title><link>http://thinkingtogether.net/blogs/sample_weblog/archive/2008/07/01/mvp-de-microsoft-por-segundo-a-o-consecutivo.aspx</link><pubDate>Tue, 01 Jul 2008 14:31:44 GMT</pubDate><guid isPermaLink="false">ded273ab-9e87-4979-8222-e4e2e46f1b46:45</guid><dc:creator>Roberto</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Acabo de recibir un mail comunic&amp;#225;ndome la renovaci&amp;#243;n del MVP de Biztalk por segundo a&amp;#241;o consecutivo.&lt;/p&gt;  &lt;p&gt;Es una inyecci&amp;#243;n de moral para seguir colaborando con la comunidad y aprendiendo de todos vosotros.&lt;/p&gt;  &lt;p&gt;Saludos.&lt;/p&gt;&lt;img src="http://thinkingtogether.net/aggbug.aspx?PostID=45" width="1" height="1"&gt;</description></item><item><title>Poster Interactivo con las capacidades de Biztalk</title><link>http://thinkingtogether.net/blogs/sample_weblog/archive/2008/06/26/poster-interactivo-con-las-capacidades-de-biztalk.aspx</link><pubDate>Thu, 26 Jun 2008 04:41:37 GMT</pubDate><guid isPermaLink="false">ded273ab-9e87-4979-8222-e4e2e46f1b46:44</guid><dc:creator>Roberto</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Microsoft ha publicado hace tiempo la siguiente p&amp;#225;gina &lt;a title="http://www.microsoft.com/biztalk/capabilities/reader/" href="http://www.microsoft.com/biztalk/capabilities/reader/"&gt;http://www.microsoft.com/biztalk/capabilities/reader/&lt;/a&gt; construida con Silverlight, que permite ir navegando de forma interactiva por un poster con las capacidades de Biztalk Server 2006 R2.&lt;/p&gt;  &lt;p&gt;Si hacemos click en cada funcionalidad del poster se abrir&amp;#225; una ventana explicando dicha capacidad con enlaces al msdn de microsoft por si queremos completar la explicaci&amp;#243;n.&lt;/p&gt;  &lt;p&gt;Saludos.&lt;/p&gt;&lt;img src="http://thinkingtogether.net/aggbug.aspx?PostID=44" width="1" height="1"&gt;</description></item><item><title>Como crear un adaptador con WCF LOB Adapter SDK</title><link>http://thinkingtogether.net/blogs/sample_weblog/archive/2008/06/16/como-crear-un-adaptador-con-wcf-lob-adapter-sdk-22222.aspx</link><pubDate>Mon, 16 Jun 2008 04:10:00 GMT</pubDate><guid isPermaLink="false">ded273ab-9e87-4979-8222-e4e2e46f1b46:42</guid><dc:creator>Roberto</dc:creator><slash:comments>1</slash:comments><description>&lt;P&gt;He encontrado muy poca información en español sobre el desarrollo de adaptadores con WCF LOB Adapter SDK. Con este post intento poner mi granito de arena para intentar arrojar algo de luz sobre este tema.&lt;/P&gt;
&lt;H4&gt;¿Porqué la necesidad de WCF LOB Adapter SDK?&lt;/H4&gt;
&lt;P&gt;Los adaptadores desarrollados hasta ahora eran dependientes tanto del consumidor como de la aplicación destinataria, es decir un adaptador desarrollado para comunicar Microsoft Biztalk Server con SAP no nos vale para comunicar Sharepoint con SAP.&lt;/P&gt;
&lt;P&gt;WCF LOB Adapter SDK soluciona esta limitación, permitiendo que el adaptador que desarrollemos para obtener información de una aplicación de línea de negocio pueda ser consumido desde Biztalk, desde SQL Server, desde Microsoft Office Sharepoint Server o por ejemplo desde una aplicación .NET personalizada.&lt;/P&gt;
&lt;H4&gt;¿Qué es WCF LOB Adapter SDK?&lt;/H4&gt;
&lt;P&gt;Es un conjunto de herramientas y componentes que nos van a facilitar el desarrollo de adaptadores para aplicaciones de línea de negocio.&lt;/P&gt;
&lt;P&gt;Las principales características de WCF LOB Adapter SDK son las siguientes:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Proporciona un &lt;STRONG&gt;Wizard&lt;/STRONG&gt; que facilita la creación de nuevos adaptadores guiando al desarrollador paso a paso. &lt;/LI&gt;
&lt;LI&gt;Expone el adaptador como si fuera un &lt;STRONG&gt;binding&lt;/STRONG&gt; de WCF. &lt;/LI&gt;
&lt;LI&gt;Proporciona un &lt;STRONG&gt;Add-in&lt;/STRONG&gt; que permite añadir referencias a adaptadores desde aplicaciones .net desarrolladas con Visual Studio 2005. &lt;/LI&gt;
&lt;LI&gt;Crea un contrato dinámicamente en tiempo de diseño. &lt;/LI&gt;&lt;/OL&gt;
&lt;H4&gt;&lt;STRONG&gt;WCF LOB Adapter SDK está basado en el modelo de Canal de WCF.&lt;/STRONG&gt; &lt;/H4&gt;
&lt;P&gt;&lt;IMG src="http://blogs.msdn.com/photos/asdk/images/3587482/original.aspx"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;El modelo de canal de WCF consiste en una pila con uno o varios canales que se encargan de procesar los mensajes que fluyen entre ellos. Es muy parecida a la pila de TCP. &lt;/P&gt;
&lt;P&gt;WCF LOB Adapter SDK utiliza el modelo de extensibilidad de canales exponiendo los adaptadores mediante binding personalizados.&lt;/P&gt;
&lt;H4&gt;Pasos para la creación de un adaptador&lt;/H4&gt;
&lt;P&gt;En la &lt;A href="http://thinkingtogether.net/controlpanel/blogs/url%20http://www.microsoft.com/downloads/details.aspx?FamilyId=0F8007D7-F0C9-4169-8B9C-BA55F8F4C153&amp;amp;displaylang=en" target=_blank&gt;siguiente url&lt;/A&gt; podemos descargarnos el SDK con el Service Pack 1.&lt;/P&gt;
&lt;P&gt;A continuación vamos a empezar a desarrollar un adaptador de que nos permitirá obtener correos mediante el protocolo POP3. Este adaptador lo podremos usar independientemente en aplicación .net o por ejemplo en Microsoft Biztalk sin modificar una sola línea de código.&lt;/P&gt;
&lt;H5&gt;Asistente de creación del adaptador&lt;/H5&gt;
&lt;P&gt;Lo primero que debemos hacer es crear un nuevo proyecto en con &lt;STRONG&gt;Visual Studio 2005&lt;/STRONG&gt; y seleccionar la plantilla &lt;STRONG&gt;WCF LOB Adapter&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://thinkingtogether.net/imagenes/WCFAdapter/ComocrearunadaptadorconWCFLOBAdapterSDK_E5B/image.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH:0px;BORDER-LEFT-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-RIGHT-WIDTH:0px;" height=199 alt=image src="http://thinkingtogether.net/imagenes/WCFAdapter/ComocrearunadaptadorconWCFLOBAdapterSDK_E5B/image_thumb.png" width=542 border=0&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Una vez creado el proyecto se lanzará un asistente que nos irá guiando paso paso en la creación del adaptador. &lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;En el primer paso debemos definir los siguientes campos: &lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;P&gt;&lt;STRONG&gt;Scheme:&lt;/STRONG&gt; esquema usado para el protocolo de transporte del binding del adaptador. Por ejemplo el binding WSHttpBinding usa HTTP como esquema. Nosotros deberemos rellenar esta caja de texto con el valor &lt;STRONG&gt;mail&lt;/STRONG&gt;. &lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;STRONG&gt;Project namespace&lt;/STRONG&gt;: todas las clases creadas por el asistente pertenecerá al namespace que pongamos aquí. Nosotros usaremos el namespace &lt;STRONG&gt;ejemplo.adaptadorwcf&lt;/STRONG&gt;. &lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Service namespace&lt;/STRONG&gt;: La concatenación del esquema más el namespace del proyecto dará lugar al namespace del WSDL generado por el adaptador. En nuestro caso el namespace del servicio será &lt;STRONG&gt;mail://ejemplo.adaptadorwcf&lt;/STRONG&gt;. Si quisiéremos modificar el namespace propuesto por el wizard solamente tenemos que marcar la opción &lt;STRONG&gt;Overwrite default service namespace&lt;/STRONG&gt; y modificar el valor por el que deseemos. &lt;/LI&gt;&lt;/UL&gt;&lt;/OL&gt;
&lt;P&gt;&lt;A href="http://thinkingtogether.net/imagenes/WCFAdapter/ComocrearunadaptadorconWCFLOBAdapterSDK_E5B/image_3.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH:0px;BORDER-LEFT-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-RIGHT-WIDTH:0px;" height=408 alt=image src="http://thinkingtogether.net/imagenes/WCFAdapter/ComocrearunadaptadorconWCFLOBAdapterSDK_E5B/image_thumb_3.png" width=412 border=0&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; 2.&amp;nbsp; En el siguiente paso debemos definir la dirección del flujo de datos soportado por el adaptador:&lt;/P&gt;
&lt;UL&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Synchronous outbound&lt;/STRONG&gt;: el adaptador soporta el envío de mensajes al sistema destino. &lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Asynchronous outbound&lt;/STRONG&gt;: el adaptador soporta el envío de mensajes de forma asíncrona al sistema destino. &lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Synchronous inbound&lt;/STRONG&gt;: el cliente recibe información del sistema destino vía adaptador. &lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;Asynchronous inbound&lt;/B&gt;: el adaptador soporta la recepción de mensajes del sistema destino de forma asíncrona. &lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Además debemos definir las opciones de metadatos soportada por el adatador:&lt;/P&gt;
&lt;UL&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Retrieval&lt;/STRONG&gt;: Genera la definición de las operaciones y tipos complejos del sistema destino. Esta información será utilizada por el adaptador para la generación del contrato del servicio. &lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Browse&lt;/STRONG&gt;: Permite que el usuario navegue de forma jerárquica por los metadatos del sistema destino para seleccionar las operaciones que desea invocar. &lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Search&lt;/STRONG&gt;:Permite que el usuario realice una búsqueda en los metadatos del sistema destino para seleccionar las operaciones que desea invocar. &lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;
&lt;P&gt;&lt;A href="http://thinkingtogether.net/imagenes/WCFAdapter/ComocrearunadaptadorconWCFLOBAdapterSDK_E5B/image_4.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH:0px;BORDER-LEFT-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-RIGHT-WIDTH:0px;" height=414 alt=image src="http://thinkingtogether.net/imagenes/WCFAdapter/ComocrearunadaptadorconWCFLOBAdapterSDK_E5B/image_thumb_4.png" width=416 border=0&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.&amp;nbsp; En el siguiente paso debemos definir las propiedades del adaptador:&lt;/P&gt;
&lt;P&gt;&amp;nbsp; En nuestro caso no definiremos nada aquí.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.&amp;nbsp; En el siguiente paso debemos definir las propiedades de conexión con el sistema destino:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://thinkingtogether.net/imagenes/WCFAdapter/ComocrearunadaptadorconWCFLOBAdapterSDK_E5B/image_5.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH:0px;BORDER-LEFT-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-RIGHT-WIDTH:0px;" height=413 alt=image src="http://thinkingtogether.net/imagenes/WCFAdapter/ComocrearunadaptadorconWCFLOBAdapterSDK_E5B/image_thumb_5.png" width=416 border=0&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Las propiedades necesarias para la conexión son el servidor, el usuario y el password. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;La gestión de credenciales utilizada en este ejemplo no es ni mucho menos la ideal, ya que se muestra el usuario y el password en texto plano en la URI. Os invito a que modifiquéis el adaptador para dar una solución mas eficiente y segura a la gestión de credenciales.&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Finalmente se mostrará un resumen de la configuración del adaptador que hemos ido estableciendo en los pasos precedentes. Si estamos conformes pulsaremos en el botón Finish para que el Wizard cree las clases necesarias para implementar el adaptador.&lt;/P&gt;
&lt;H5&gt;Gestión de la conexión con el sistema destino&lt;/H5&gt;
&lt;P&gt;El adaptador crea por nosotros el esqueleto de las clases necesarias para poder gestionar la conexión con el sistema destino.&lt;/P&gt;
&lt;P&gt;La clase &lt;STRONG&gt;Pop3AdapterConnectionUri.cs&lt;/STRONG&gt; es la encargada de parsear y construir la cadena de conexión de la aplicación de línea de negocio destino.&lt;/P&gt;
&lt;P&gt;El desarrollador del adaptador usará esta clase para parsear la URI de conexión proporcionada por el cliente y extraer de ella todos los parámetros de conexión necesarios.&lt;/P&gt;&lt;PRE class=csharpcode&gt;&lt;SPAN class=kwrd&gt;public&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;override&lt;/SPAN&gt; Uri Uri
{
   get
   {
      	&lt;SPAN class=rem&gt;//Validación de las propiedades de conexión&lt;/SPAN&gt;
      	&lt;SPAN class=kwrd&gt;if&lt;/SPAN&gt; (Servidor == &lt;SPAN class=kwrd&gt;string&lt;/SPAN&gt;.Empty)
      	{
           &lt;SPAN class=kwrd&gt;throw&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; InvalidUriException(&lt;SPAN class=str&gt;"Parámetro Servidor no válido"&lt;/SPAN&gt;);
      	}
      	&lt;SPAN class=kwrd&gt;if&lt;/SPAN&gt; (Usuario == &lt;SPAN class=kwrd&gt;string&lt;/SPAN&gt;.Empty)
      	{
           &lt;SPAN class=kwrd&gt;throw&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; InvalidUriException(&lt;SPAN class=str&gt;"Parámetro Usuario no válido"&lt;/SPAN&gt;);
	}
       &lt;SPAN class=kwrd&gt;if&lt;/SPAN&gt; (Password== &lt;SPAN class=kwrd&gt;string&lt;/SPAN&gt;.Empty)
       {
       	    &lt;SPAN class=kwrd&gt;throw&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; InvalidUriException(&lt;SPAN class=str&gt;"Parámetro Password no válido"&lt;/SPAN&gt;);
       }

       &lt;SPAN class=kwrd&gt;return&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; Uri(Pop3Adapter.SCHEME + &lt;SPAN class=str&gt;"://"&lt;/SPAN&gt; +
                      Servidor + &lt;SPAN class=str&gt;"/"&lt;/SPAN&gt; + Usuario + &lt;SPAN class=str&gt;"/"&lt;/SPAN&gt; + Password);
                                        &lt;/PRE&gt;&lt;PRE class=csharpcode&gt;   }
   set
   {
      &lt;SPAN class=kwrd&gt;string&lt;/SPAN&gt;[] datosUri = &lt;SPAN class=kwrd&gt;value&lt;/SPAN&gt;.AbsoluteUri.Split(&lt;SPAN class=str&gt;'/'&lt;/SPAN&gt;);
                Servidor = datosUri[2];
                Usuario = datosUri[3];
                Password = datosUri[4];
               
   }
}&lt;/PRE&gt;
&lt;P&gt;La clase &lt;STRONG&gt;Pop3AdapterConnectionFactory.cs&lt;/STRONG&gt; es la responsable de definir y crear la conexión con el sistema destino. &lt;/P&gt;
&lt;P&gt;Para ello debemos modificar el método &lt;STRONG&gt;CreateConnection&lt;/STRONG&gt; para que devuelva un objeto de conexión con el servidor de correo.&lt;/P&gt;&lt;PRE class=csharpcode&gt;&lt;SPAN class=kwrd&gt;public&lt;/SPAN&gt; IConnection CreateConnection()
{
  &lt;SPAN class=kwrd&gt;return&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; Pop3AdapterConnection(conexionUri.Usuario,conexionUri.Password,&lt;/PRE&gt;&lt;PRE class=csharpcode&gt;					conexionUri.Servidor, &lt;SPAN class=kwrd&gt;this&lt;/SPAN&gt;);
}&lt;/PRE&gt;
&lt;P&gt;El constructor de la clase Pop3AdapterConnectionFactory pasa en uno de los parámetros un objeto de tipo &lt;STRONG&gt;ConnectionUri&lt;/STRONG&gt; con la información de conexión con el sistema destino. El problema es que el &lt;STRONG&gt;wizard&lt;/STRONG&gt; no asigna ese objeto a ninguna propiedad de la clase con lo cual se pierde la información. Para solucionar este problema debemos declarar una variable privada llamada &lt;STRONG&gt;conexionUri&lt;/STRONG&gt; y modificar el constructor de la clase para asignar a esta propiedad la información de conexión.&lt;/P&gt;&lt;PRE class=csharpcode&gt;&lt;SPAN class=kwrd&gt;public&lt;/SPAN&gt; Pop3AdapterConnectionFactory(ConnectionUri connectionUri
            , ClientCredentials clientCredentials
            , Pop3Adapter adapter)
{
    &lt;SPAN class=kwrd&gt;this&lt;/SPAN&gt;.clientCredentials = clientCredentials;
    &lt;SPAN class=kwrd&gt;this&lt;/SPAN&gt;.adapter = adapter;
    &lt;SPAN class=kwrd&gt;this&lt;/SPAN&gt;.conexionUri = (Pop3AdapterConnectionUri)connectionUri;
}&lt;/PRE&gt;
&lt;P&gt;Por último la clase &lt;STRONG&gt;Pop3AdapterConnection.cs&lt;/STRONG&gt; es la encargada de realizar las llamadas a bajo nivel para gestionar la conexión con el sistema destino.&lt;/P&gt;
&lt;P&gt;Debemos modificar el constructor de la clase para inicializar el objeto de conexión con el servidor de correo. La clase Pop3 es una clase gratuita obtenida de la web Codeproject en la url &lt;A title=http://www.codeproject.com/KB/IP/despop3client.aspx href="http://www.codeproject.com/KB/IP/despop3client.aspx" target=_blank&gt;http://www.codeproject.com/KB/IP/despop3client.aspx&lt;/A&gt; que emplearemos para obtener los mail del servidor de correo.&lt;/P&gt;&lt;PRE class=csharpcode&gt;&lt;SPAN class=kwrd&gt;public&lt;/SPAN&gt; Pop3AdapterConnection(&lt;SPAN class=kwrd&gt;string&lt;/SPAN&gt; Usuario,&lt;SPAN class=kwrd&gt;string&lt;/SPAN&gt; Password, &lt;SPAN class=kwrd&gt;string&lt;/SPAN&gt; Servidor, &lt;/PRE&gt;&lt;PRE class=csharpcode&gt;				Pop3AdapterConnectionFactory connectionFactory)
{
    &lt;SPAN class=kwrd&gt;this&lt;/SPAN&gt;.connectionFactory = connectionFactory;
    &lt;SPAN class=kwrd&gt;this&lt;/SPAN&gt;.connectionId = Guid.NewGuid().ToString();
    objConexionPop3 = &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; Pop3.Pop3Client(Usuario,Password,Servidor);
}&lt;/PRE&gt;
&lt;P&gt;Debemos modificar los métodos que se encargan de abrir y cerrar la conexión:&lt;/P&gt;&lt;PRE class=csharpcode&gt;&lt;SPAN class=kwrd&gt;public&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;void&lt;/SPAN&gt; Close(TimeSpan timeout)
{
    objConexionPop3.CloseConnection();
}

 &lt;SPAN class=kwrd&gt;public&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;bool&lt;/SPAN&gt; IsValid(TimeSpan timeout)
{
    &lt;SPAN class=kwrd&gt;return&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;true&lt;/SPAN&gt;;
}
 &lt;SPAN class=kwrd&gt;public&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;void&lt;/SPAN&gt; Open(TimeSpan timeout)
{
    objConexionPop3.OpenInbox();
}&lt;/PRE&gt;
&lt;H5&gt;Gestión de metadatos&lt;/H5&gt;
&lt;P&gt;La clase &lt;STRONG&gt;Pop3AdapterMetadataBrowseHandler.cs&lt;/STRONG&gt; se encargará de mostrar de forma jerárquica las categorías y operaciones de la aplicación de línea de negocio al consumidor para que este seleccione las operaciones que desea invocar.&lt;/P&gt;
&lt;P&gt;Debemos implementar el método &lt;STRONG&gt;Browse&lt;/STRONG&gt; de esta clase para mostrar la operación de Monitorización de correo al consumidor.&lt;/P&gt;
&lt;P&gt;Como podemos ver en el siguiente código, este método devuelve cada una de las operaciones y categorías del sistema destino como una lista de objetos de tipo &lt;STRONG&gt;MetadataRetrievalNode.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;PRE class=csharpcode&gt;&lt;SPAN class=kwrd&gt;public&lt;/SPAN&gt; MetadataRetrievalNode[] Browse(&lt;SPAN class=kwrd&gt;string&lt;/SPAN&gt; nodeId
            , &lt;SPAN class=kwrd&gt;int&lt;/SPAN&gt; childStartIndex
            , &lt;SPAN class=kwrd&gt;int&lt;/SPAN&gt; maxChildNodes, TimeSpan timeout)
{
	List&amp;lt;MetadataRetrievalNode&amp;gt; lista = &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; List&amp;lt;MetadataRetrievalNode&amp;gt;();
       &lt;SPAN class=rem&gt;//Nodo raiz&lt;/SPAN&gt;
       &lt;SPAN class=kwrd&gt;if&lt;/SPAN&gt; (MetadataRetrievalNode.Root.NodeId.Equals(nodeId))
       {

          MetadataRetrievalNode nodo = &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; MetadataRetrievalNode(&lt;SPAN class=str&gt;"Operaciones"&lt;/SPAN&gt;);
          nodo.Direction = MetadataRetrievalNodeDirections.Inbound;
          nodo.DisplayName = &lt;SPAN class=str&gt;"Operaciones"&lt;/SPAN&gt;;
          nodo.IsOperation = &lt;SPAN class=kwrd&gt;false&lt;/SPAN&gt;;
          &lt;SPAN class=kwrd&gt;return&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; MetadataRetrievalNode[] { nodo };
       }
       &lt;SPAN class=kwrd&gt;else&lt;/SPAN&gt;
       {
          MetadataRetrievalNode nodoInbound = &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; MetadataRetrievalNode(&lt;SPAN class=str&gt;"MonitorizacionCorreo"&lt;/SPAN&gt;);
          nodoInbound.DisplayName = &lt;SPAN class=str&gt;"MonitorizacionCorreo"&lt;/SPAN&gt;;
          nodoInbound.IsOperation = &lt;SPAN class=kwrd&gt;true&lt;/SPAN&gt;;
          nodoInbound.Direction = MetadataRetrievalNodeDirections.Inbound;
          lista.Add(nodoInbound);

          &lt;SPAN class=kwrd&gt;return&lt;/SPAN&gt; lista.ToArray();
       }
}&lt;/PRE&gt;
&lt;P&gt;La clase &lt;STRONG&gt;Pop3AdapterMetadataSearchHandler.cs&lt;/STRONG&gt; nos permite buscar operaciones en la aplicación de línea de negocio para su posterior invocación. &lt;/P&gt;
&lt;P&gt;El usuario introducirá un criterio de búsqueda en el asistente del adaptador y el método &lt;STRONG&gt;Search&lt;/STRONG&gt; de la clase &lt;STRONG&gt;Pop3AdapterMetadataSearchHandler.cs&lt;/STRONG&gt; se encargará de realizar la búsqueda de metadatos en el sistema destino utilizando dicho criterio.&lt;/P&gt;
&lt;P&gt;La implementación del método &lt;STRONG&gt;Search&lt;/STRONG&gt; es muy similar al del método &lt;STRONG&gt;Browse&lt;/STRONG&gt;. El método debe devolver como resultado una lista de objetos de tipo &lt;STRONG&gt;MetadataRetrievalNode&lt;/STRONG&gt; que el adaptador usará para mostrar las operaciones encontradas al usuario para su posterior consumo. &lt;/P&gt;
&lt;P&gt;En este caso concreto comparamos el criterio de búsqueda introducido por el usuario con la palabra &lt;STRONG&gt;"monitorizacioncorreo"&lt;/STRONG&gt; devolviendo, si hay coincidencia, una lista con un nodo que contendrá la operación &lt;STRONG&gt;MonitorizacionCorreo&lt;/STRONG&gt;. &lt;/P&gt;
&lt;P&gt;Este es el caso mas simple que nos podemos encontrar, lo ideal es permitir al usuario que introduzca caracteres comodín para que la búsqueda sea mas sencilla para el.&lt;/P&gt;&lt;PRE class=csharpcode&gt;&lt;SPAN class=kwrd&gt;public&lt;/SPAN&gt; MetadataRetrievalNode[] Search(&lt;SPAN class=kwrd&gt;string&lt;/SPAN&gt; nodeId
		, &lt;SPAN class=kwrd&gt;string&lt;/SPAN&gt; searchCriteria
            	, &lt;SPAN class=kwrd&gt;int&lt;/SPAN&gt; maxChildNodes, TimeSpan timeout)
{
	List&amp;lt;MetadataRetrievalNode&amp;gt; lista = &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; List&amp;lt;MetadataRetrievalNode&amp;gt;();
       
       &lt;SPAN class=kwrd&gt;if&lt;/SPAN&gt; (searchCriteria.ToLower() == &lt;SPAN class=str&gt;"monitorizacioncorreo"&lt;/SPAN&gt;)
       {
          MetadataRetrievalNode nodoInbound = &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; MetadataRetrievalNode(&lt;SPAN class=str&gt;"MonitorizacionCorreo"&lt;/SPAN&gt;);
          nodoInbound.DisplayName = &lt;SPAN class=str&gt;"MonitorizacionCorreo"&lt;/SPAN&gt;;
          nodoInbound.IsOperation = &lt;SPAN class=kwrd&gt;true&lt;/SPAN&gt;;
          nodoInbound.Direction = MetadataRetrievalNodeDirections.Inbound;
          lista.Add(nodoInbound);
       }
       &lt;SPAN class=kwrd&gt;return&lt;/SPAN&gt; lista.ToArray();&lt;/PRE&gt;&lt;PRE class=csharpcode&gt;}&lt;/PRE&gt;
&lt;P&gt;La clase &lt;STRONG&gt;Pop3AdapterMetadataResolverHandler.cs&lt;/STRONG&gt; es la encargada de obtener la definición de las operaciones y tipos complejos de estas operaciones, para que el adaptador pueda generar en base a esta información el contrato del servicio.&lt;/P&gt;
&lt;P&gt;Esta clase tiene dos métodos que debemos desarrollar:&lt;/P&gt;
&lt;UL&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;ResolveOperationMetadata&lt;/STRONG&gt;: este método es el responsable de obtener los metadatos que representan las operaciones ofrecidas por el sistema destino. &lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;ResolveTypeMetadata&lt;/STRONG&gt;: este método es el responsable de obtener los metadatos de los tipos complejos usados por el sistema destino. &lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;
&lt;P&gt;En el método &lt;STRONG&gt;ResolveOperationMetadata&lt;/STRONG&gt; vamos a crear un objeto de tipo &lt;STRONG&gt;ParameterizedOperationMetadata&lt;/STRONG&gt; que va a contener la definición de la operación.&lt;/P&gt;
&lt;P&gt;Una vez creado el objeto que contiene la operación, vamos a ir añadiendo a la colección &lt;STRONG&gt;Parameters&lt;/STRONG&gt; de este cada uno de los parámetros del la operación.&lt;/P&gt;&lt;PRE class=csharpcode&gt;&lt;SPAN class=kwrd&gt;public&lt;/SPAN&gt; OperationMetadata ResolveOperationMetadata(&lt;SPAN class=kwrd&gt;string&lt;/SPAN&gt; operationId, TimeSpan timeout, &lt;/PRE&gt;&lt;PRE class=csharpcode&gt;					&lt;SPAN class=kwrd&gt;out&lt;/SPAN&gt; TypeMetadataCollection extraTypeMetadataResolved)
{
  extraTypeMetadataResolved = &lt;SPAN class=kwrd&gt;null&lt;/SPAN&gt;;

  &lt;SPAN class=kwrd&gt;string&lt;/SPAN&gt; nombreOperacion = &lt;SPAN class=str&gt;"MonitorizacionCorreo"&lt;/SPAN&gt;;
  ParameterizedOperationMetadata operationMetadata = &lt;/PRE&gt;&lt;PRE class=csharpcode&gt;		&lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; ParameterizedOperationMetadata(operationId, nombreOperacion);&lt;/PRE&gt;&lt;PRE class=csharpcode&gt;  operationMetadata.DisplayName = &lt;SPAN class=str&gt;"RecibirNuevoCorreo"&lt;/SPAN&gt;;
  operationMetadata.OriginalName = &lt;SPAN class=str&gt;"Evento_RecibirNuevoCorreo"&lt;/SPAN&gt;;

  OperationParameter asuntoCorreo = &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; OperationParameter(&lt;SPAN class=str&gt;"asuntoCorreo"&lt;/SPAN&gt;, &lt;/PRE&gt;&lt;PRE class=csharpcode&gt;			OperationParameterDirection.In, &lt;/PRE&gt;&lt;PRE class=csharpcode&gt;			QualifiedType.StringType, &lt;SPAN class=kwrd&gt;false&lt;/SPAN&gt;);
  asuntoCorreo.Description = &lt;SPAN class=str&gt;"Asunto del correo"&lt;/SPAN&gt;;
  operationMetadata.Parameters.Add(asuntoCorreo);

  OperationParameter cuerpoCorreo = &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; OperationParameter(&lt;SPAN class=str&gt;"cuerpoCorreo"&lt;/SPAN&gt;, &lt;/PRE&gt;&lt;PRE class=csharpcode&gt;					OperationParameterDirection.In, &lt;/PRE&gt;&lt;PRE class=csharpcode&gt;					QualifiedType.StringType, &lt;SPAN class=kwrd&gt;false&lt;/SPAN&gt;);
  asuntoCorreo.Description = &lt;SPAN class=str&gt;"Contenido del correo"&lt;/SPAN&gt;;
  operationMetadata.Parameters.Add(cuerpoCorreo);

  OperationParameter remitente = &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; OperationParameter(&lt;SPAN class=str&gt;"remitente"&lt;/SPAN&gt;, &lt;/PRE&gt;&lt;PRE class=csharpcode&gt;					OperationParameterDirection.In, &lt;/PRE&gt;&lt;PRE class=csharpcode&gt;					QualifiedType.StringType, &lt;SPAN class=kwrd&gt;false&lt;/SPAN&gt;);
  asuntoCorreo.Description = &lt;SPAN class=str&gt;"Remitente del correo"&lt;/SPAN&gt;;
  operationMetadata.Parameters.Add(remitente);

  OperationParameter destinatario = &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; OperationParameter(&lt;SPAN class=str&gt;"destinatario"&lt;/SPAN&gt;, &lt;/PRE&gt;&lt;PRE class=csharpcode&gt;					 OperationParameterDirection.In, &lt;/PRE&gt;&lt;PRE class=csharpcode&gt;					 QualifiedType.StringType, &lt;SPAN class=kwrd&gt;false&lt;/SPAN&gt;);
  asuntoCorreo.Description = &lt;SPAN class=str&gt;"Destinatario del correo"&lt;/SPAN&gt;;
  operationMetadata.Parameters.Add(destinatario);


  operationMetadata.OperationResult = &lt;SPAN class=kwrd&gt;null&lt;/SPAN&gt;;
  &lt;SPAN class=kwrd&gt;return&lt;/SPAN&gt; operationMetadata;
}&lt;/PRE&gt;
&lt;P&gt;En nuestro caso no tenemos ningún tipo complejo por lo tanto no implementaremos el método &lt;STRONG&gt;ResolveTypeMetadata&lt;/STRONG&gt;.&lt;/P&gt;
&lt;H5&gt;Ejecución de las operaciones&lt;/H5&gt;
&lt;P&gt;Ya por último solo nos queda añadir la lógica que monitorizará el correo y enviará los mensajes obtenidos al consumidor del adaptador.&lt;/P&gt;
&lt;P&gt;Para ello vamos a implementar los siguientes métodos:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;B&gt;StartListener&lt;/B&gt;: lógica de escucha de mensajes asociados a una operación en concreto (&lt;B&gt;action&lt;/B&gt;). &lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;StopListener&lt;/B&gt;: fin de la escucha de mensajes. &lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;TryReceive&lt;/B&gt;: intenta recibir un mensaje de entrada de la aplicación de negocio destino. Este método devuelve un valor booleano indicando si se ha podido obtener el mensaje del sistema destino o no. &lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;WaitForMessage&lt;/B&gt;: espera un mensaje de entrada de la aplicación de negocio destino. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;En el método &lt;STRONG&gt;StartListener&lt;/STRONG&gt; crearemos una cola de mensajes que contendrán todos los mails del servidor de correo pendientes de notificar al consumidor.&lt;/P&gt;
&lt;P&gt;Para monitorizar el servidor de correo vamos a crear un timer que cada 10 segundos compruebe los mails que hay.&lt;/P&gt;&lt;PRE class=csharpcode&gt;&lt;SPAN class=kwrd&gt;public&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;void&lt;/SPAN&gt; StartListener(&lt;SPAN class=kwrd&gt;string&lt;/SPAN&gt;[] actions, TimeSpan timeout)
{
       colaMensajesEntrada = &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; Queue&amp;lt;Message&amp;gt;();
       &lt;SPAN class=kwrd&gt;foreach&lt;/SPAN&gt; (&lt;SPAN class=kwrd&gt;string&lt;/SPAN&gt; action &lt;SPAN class=kwrd&gt;in&lt;/SPAN&gt; actions)
       {
          &lt;SPAN class=kwrd&gt;if&lt;/SPAN&gt; (&lt;SPAN class=str&gt;"MonitorizacionCorreo"&lt;/SPAN&gt;.Equals(action))
          {
             delegado = &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; TimerCallback(Monitoriza);
             objThread = &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; Timer(delegado, &lt;SPAN class=kwrd&gt;null&lt;/SPAN&gt;, 1000, 10000);
          }
       }
}&lt;/PRE&gt;
&lt;P&gt;En el método &lt;STRONG&gt;StopListener&lt;/STRONG&gt; pararemos la monitorización del servidor de correo.&lt;/P&gt;&lt;PRE class=csharpcode&gt;&lt;SPAN class=kwrd&gt;public&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;void&lt;/SPAN&gt; StopListener(TimeSpan timeout)
{
	objThread.Dispose();
}&lt;/PRE&gt;
&lt;P&gt;En el método &lt;STRONG&gt;TryReceive&lt;/STRONG&gt; comprobaremos si la cola de mensajes tiene algún correo pendiente de notificar al consumidor del adaptador. La notificación la realizaremos mediante el parámetro de salida &lt;STRONG&gt;message&lt;/STRONG&gt; que tiene el propio método. Además debemos de devolver como resultado de la función &lt;STRONG&gt;true&lt;/STRONG&gt; en el caso que estemos devolviendo un mensaje o &lt;STRONG&gt;false&lt;/STRONG&gt; si no tenemos nada pendiente que notificar del sistema destino.&lt;/P&gt;&lt;PRE class=csharpcode&gt;&lt;SPAN class=kwrd&gt;public&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;bool&lt;/SPAN&gt; TryReceive(TimeSpan timeout, &lt;SPAN class=kwrd&gt;out&lt;/SPAN&gt; System.ServiceModel.Channels.Message message, &lt;/PRE&gt;&lt;PRE class=csharpcode&gt;			&lt;SPAN class=kwrd&gt;out&lt;/SPAN&gt; IInboundReply reply)&lt;/PRE&gt;&lt;PRE class=csharpcode&gt;{
       reply = &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; Pop3AdapterInboundReply();
       message = &lt;SPAN class=kwrd&gt;null&lt;/SPAN&gt;;

       &lt;SPAN class=kwrd&gt;if&lt;/SPAN&gt; (colaMensajesEntrada.Count != 0)
       {
          message = colaMensajesEntrada.Dequeue();
          &lt;SPAN class=kwrd&gt;if&lt;/SPAN&gt; (message != &lt;SPAN class=kwrd&gt;null&lt;/SPAN&gt;)
          {
              &lt;SPAN class=kwrd&gt;return&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;true&lt;/SPAN&gt;;
          }
        }
        &lt;SPAN class=kwrd&gt;return&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;false&lt;/SPAN&gt;;
}&lt;/PRE&gt;
&lt;P&gt;El método encargado de monitorizar la entrada de nuevos correos obtendrá la conexión del servidor de correo de las propiedades del adaptador e irá encolando cada uno de los mensajes que reciba.&lt;/P&gt;&lt;PRE class=csharpcode&gt;&lt;SPAN class=kwrd&gt;private&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;void&lt;/SPAN&gt; Monitoriza(Object stateInfo)
{
&lt;SPAN class=kwrd&gt;  int&lt;/SPAN&gt; contadorMail=0;
  Pop3Client email = &lt;SPAN class=kwrd&gt;this&lt;/SPAN&gt;.Connection.Conexion;
  &lt;SPAN class=kwrd&gt;while&lt;/SPAN&gt; (email.NextEmail(contadorMail))
  {
     &lt;SPAN class=kwrd&gt;string&lt;/SPAN&gt; asuntoCorreo = email.Subject;
     &lt;SPAN class=kwrd&gt;string&lt;/SPAN&gt; cuerpoCorreo = email.Body;
     &lt;SPAN class=kwrd&gt;string&lt;/SPAN&gt; remitente = email.From;
     &lt;SPAN class=kwrd&gt;string&lt;/SPAN&gt; destinatario = email.To;

     Message msg = CrearMensajeRecepcionPedido(asuntoCorreo,cuerpoCorreo,remitente,destinatario);
     colaMensajesEntrada.Enqueue(msg);
     contadorMail++;
  }
            
}&lt;/PRE&gt;
&lt;P&gt;El mensaje que debemos enviar al consumidor del adaptador para notificarle de la llegada de nuevos correos debe cumplir un formato concreto.&lt;/P&gt;
&lt;P&gt;En el siguiente método podemos ver como transformar la información obtenida del servidor de correo en un formato que podamos enviar al consumidor a través del adaptador.&lt;/P&gt;&lt;PRE class=csharpcode&gt;&lt;SPAN class=kwrd&gt;private&lt;/SPAN&gt; Message CrearMensajeRecepcionPedido(&lt;SPAN class=kwrd&gt;string&lt;/SPAN&gt; asuntoCorreo, &lt;SPAN class=kwrd&gt;string&lt;/SPAN&gt; cuerpoCorreo, &lt;/PRE&gt;&lt;PRE class=csharpcode&gt;					&lt;SPAN class=kwrd&gt;string&lt;/SPAN&gt; remitente, &lt;SPAN class=kwrd&gt;string&lt;/SPAN&gt; destinatario)
{&lt;/PRE&gt;&lt;PRE class=csharpcode&gt;  Pop3Adapter adapter = &lt;SPAN class=kwrd&gt;this&lt;/SPAN&gt;.Connection.ConnectionFactory.Adapter;

  String xmlData = String.Format(&lt;SPAN class=str&gt;@"&amp;lt;RecibirNuevoCorreo xmlns="&lt;/SPAN&gt;&lt;SPAN class=str&gt;"{0}"&lt;/SPAN&gt;&lt;SPAN class=str&gt;"&amp;gt;&amp;lt;asuntoCorreo&amp;gt;"&lt;/SPAN&gt; + asuntoCorreo &lt;/PRE&gt;&lt;PRE class=csharpcode&gt;  + &lt;SPAN class=str&gt;"&amp;lt;/asuntoCorreo&amp;gt;&amp;lt;cuerpoCorreo&amp;gt;"&lt;/SPAN&gt; + cuerpoCorreo + &lt;SPAN class=str&gt;"&amp;lt;/cuerpoCorreo&amp;gt;&amp;lt;remitente&amp;gt;"&lt;/SPAN&gt; + remitente &lt;/PRE&gt;&lt;PRE class=csharpcode&gt;  + &lt;SPAN class=str&gt;"&amp;lt;/remitente&amp;gt;&amp;lt;destinatario&amp;gt;"&lt;/SPAN&gt; + destinatario &lt;/PRE&gt;&lt;PRE class=csharpcode&gt;  + &lt;SPAN class=str&gt;"&amp;lt;/destinatario&amp;gt;&amp;lt;/RecibirNuevoCorreo&amp;gt;"&lt;/SPAN&gt;, adapter.ServiceNamespace);&lt;/PRE&gt;&lt;PRE class=csharpcode&gt;  XmlReader reader = XmlReader.Create(&lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; StringReader(xmlData));

  Message msgResultado = Message.CreateMessage(MessageVersion.Default, &lt;/PRE&gt;&lt;PRE class=csharpcode&gt;                          &lt;SPAN class=str&gt;"MonitorizacionCorreo"&lt;/SPAN&gt;, reader);
  &lt;SPAN class=kwrd&gt;return&lt;/SPAN&gt; msgResultado;
}&lt;/PRE&gt;
&lt;H5&gt;Despliegue del adaptador&lt;/H5&gt;
&lt;P&gt;Una vez desarrollado el adaptador, debemos firmarlo con un strong name y subirlo al Global Assembly Cache. Debemos copiar la clave pública del assembly una vez que lo hayamos subido al GAC ya que lo necesitaremos luego para registrar el adaptador en el fichero de configuración.&lt;/P&gt;
&lt;P&gt;El adaptador lo podremos registrar tanto en el &lt;STRONG&gt;machine.config&lt;/STRONG&gt; en el caso que queramos que el adaptador esté disponible para todos los proyectos de la máquina, o lo podemos registrar en el fichero de configuración del proyecto donde vayamos a consumir el adaptador.&lt;/P&gt;
&lt;P&gt;Nosotros en este ejemplo vamos a registrarlo en el &lt;STRONG&gt;machine.config&lt;/STRONG&gt; para que esté accesible desde todos los proyectos.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Vamos a registrar el adaptador como un elemento de binding. Para ello en la sección&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;&amp;lt;system.serviceModel&amp;gt;&amp;lt;extensions&amp;gt;&lt;B&gt;&amp;lt;bindingElementExtensions&amp;gt;&lt;/B&gt;&lt;/STRONG&gt; añadiremos el &lt;/LI&gt;&lt;/UL&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;siguiente xml:&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;PRE class=csharpcode&gt;&lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;add&lt;/SPAN&gt; &lt;SPAN class=attr&gt;name&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="AdapterPOP3"&lt;/SPAN&gt; &lt;SPAN class=attr&gt;type&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="ejemplo.adaptadorwcf.Pop3AdapterBindingElementExtensionElement,&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=csharpcode&gt;&lt;SPAN class=kwrd&gt;Pop3Adapter, Version=1.0.0.0, &lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=csharpcode&gt;&lt;SPAN class=kwrd&gt;Culture=neutral, PublicKeyToken=447f918ac099d73e"&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;También podemos registrar el adaptador como un binding. Para ello añadiremos el siguiente XML en la sección&amp;nbsp; &lt;STRONG&gt;&amp;lt;system.serviceModel&amp;gt;&amp;lt;extensions&amp;gt;&lt;/STRONG&gt;&lt;B&gt;&amp;lt;bindingExtensions&amp;gt;.&lt;/B&gt;: &lt;/LI&gt;&lt;/UL&gt;&lt;PRE class=csharpcode&gt;&lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;add&lt;/SPAN&gt; &lt;SPAN class=attr&gt;name&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="AdapterPOP3Binding"&lt;/SPAN&gt; &lt;SPAN class=attr&gt;type&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="ejemplo.adaptadorwcf.Pop3AdapterBindingCollectionElement,&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=csharpcode&gt;&lt;SPAN class=kwrd&gt;Pop3Adapter, Version=1.0.0.0, &lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=csharpcode&gt;&lt;SPAN class=kwrd&gt;Culture=neutral, PublicKeyToken=447f918ac099d73e"&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;P&gt;Una vez registrado el adaptador ya podemos utilizarlo en un endpoint de cliente. Para ello en la sección &lt;STRONG&gt;&amp;lt;system.serviceModel&amp;gt;&amp;lt;client&amp;gt;&lt;/STRONG&gt; vamos a añadir el siguiente XML:&lt;/P&gt;&lt;PRE class=csharpcode&gt;&lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;endpoint&lt;/SPAN&gt; &lt;SPAN class=attr&gt;binding&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="AdapterPOP3Binding"&lt;/SPAN&gt; &lt;SPAN class=attr&gt;contract&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="IMetadataExchange"&lt;/SPAN&gt;
        &lt;SPAN class=attr&gt;name&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="AdaptadorPOP3"&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;P&gt;Debemos asegurarnos que el nombre del binding que pongamos en el endpoint sea el mismo que hayamos utilizado al registrar el binding.&lt;/P&gt;
&lt;P&gt;En los próximos días publicaré un post indicando como consumir este adaptador desde una aplicación .NET.&lt;/P&gt;
&lt;P&gt;Adjunto un archivo con el código fuente para que os quede un poco mas claro la implementación del adaptador. Solamente decir que este código ha sido implementado para servir de apoyo al post y en ningún momento está optimizado ni ha sido pensado para poder utilizarse en un entorno real.&lt;/P&gt;
&lt;P&gt;&lt;A class="" title=Pop3AdapterSDK href="http://cid-99fb7d3a483b374f.skydrive.live.com/self.aspx/WCFAdapterSDK/Pop3Adapter.rar" target=_blank&gt;Pop3Adapter.rar&lt;/A&gt;&lt;/P&gt;&lt;img src="http://thinkingtogether.net/aggbug.aspx?PostID=42" width="1" height="1"&gt;</description><category domain="http://thinkingtogether.net/blogs/sample_weblog/archive/tags/WCF/default.aspx">WCF</category><category domain="http://thinkingtogether.net/blogs/sample_weblog/archive/tags/WCF+LOB+Adapter+SDK/default.aspx">WCF LOB Adapter SDK</category></item><item><title>Proyecto Fjord: Biztalk Mapper + Surface</title><link>http://thinkingtogether.net/blogs/sample_weblog/archive/2008/04/28/proyecto-fjord-biztalk-mapper-surface.aspx</link><pubDate>Mon, 28 Apr 2008 16:21:00 GMT</pubDate><guid isPermaLink="false">ded273ab-9e87-4979-8222-e4e2e46f1b46:36</guid><dc:creator>Roberto</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;En el &lt;A class="" title=blog href="http://timrayburn.net/2007/11/29/ProjectFjordBizTalkMapperToRequireSurfaceInOslo.aspx" target=_blank&gt;blog&lt;/A&gt; de Tim Rayburn aparece una noticia cuanto menos interesante.&lt;/P&gt;
&lt;P&gt;Nos cuenta la integración de Biztalk Mapper y Surface. No dejéis de leer el post de Tim porque no tiene desperdicio.&lt;/P&gt;
&lt;P&gt;Esperaremos noticias nuevas.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://thinkingtogether.net/aggbug.aspx?PostID=36" width="1" height="1"&gt;</description><category domain="http://thinkingtogether.net/blogs/sample_weblog/archive/tags/Oslo/default.aspx">Oslo</category></item><item><title>Biztalk Server 2006 R3</title><link>http://thinkingtogether.net/blogs/sample_weblog/archive/2008/04/23/biztalk-server-2006-r3.aspx</link><pubDate>Wed, 23 Apr 2008 06:15:00 GMT</pubDate><guid isPermaLink="false">ded273ab-9e87-4979-8222-e4e2e46f1b46:35</guid><dc:creator>Roberto</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;Como siempre Biztalk se adapta a la nueva oleada de cambios tecnológicos y nuevos productos que han ido saliendo estos último meses. &lt;/P&gt;
&lt;P&gt;Como en su día se adaptó a Visual Studio 2005 y a SQL Server 2005, Microsoft adaptará Biztalk Server a Windows Server 2008, Sql Server 2008 y .NET Framework 3.5.&lt;/P&gt;
&lt;P&gt;El nombre de la release será Biztalk Server 2006 R3. Se espera una CTP para verano de este año y una versión RTM para el principios del año 2009.&lt;/P&gt;
&lt;P&gt;Algunas de las novedades que traerá el produto son las siguientes:&lt;/P&gt;
&lt;UL style="MARGIN-TOP:0cm;"&gt;
&lt;LI class=MsoNormal style="MARGIN:0cm 0cm 0pt;mso-list:l0 level1 lfo1;"&gt;&lt;SPAN style="FONT-SIZE:11pt;FONT-FAMILY:'Calibri','sans-serif';mso-fareast-font-family:'Times New Roman';mso-ansi-language:EN-US;"&gt;Nuevas capacidades de registro de web service con soporte para UDDI (Universal Description Discovery and Integration) version 3.0 &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN:0cm 0cm 0pt;mso-list:l0 level1 lfo1;"&gt;&lt;SPAN style="FONT-SIZE:11pt;FONT-FAMILY:'Calibri','sans-serif';mso-fareast-font-family:'Times New Roman';mso-ansi-language:EN-US;"&gt;Nuevos adaptadores mejorados para aplicaciones LOB, bases de datos, ...&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN:0cm 0cm 0pt;mso-list:l0 level1 lfo1;"&gt;&lt;SPAN style="FONT-SIZE:11pt;FONT-FAMILY:'Calibri','sans-serif';mso-fareast-font-family:'Times New Roman';mso-ansi-language:EN-US;"&gt;Soporte de conectividad e interoperabilidad mejorada&amp;nbsp;para protocolos de la industria (SWIFT, EDI, etc)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN:0cm 0cm 0pt;mso-list:l0 level1 lfo1;"&gt;&lt;SPAN style="FONT-SIZE:11pt;FONT-FAMILY:'Calibri','sans-serif';mso-fareast-font-family:'Times New Roman';mso-ansi-language:EN-US;"&gt;Patrones SOA y guía de best practices para asistir a implementaciones de clientes&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://thinkingtogether.net/aggbug.aspx?PostID=35" width="1" height="1"&gt;</description><category domain="http://thinkingtogether.net/blogs/sample_weblog/archive/tags/Biztalk+Server+2006+R3/default.aspx">Biztalk Server 2006 R3</category></item></channel></rss>