<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Stuart Evans </title>
        <link>http://geekswithblogs.net/sevans/Default.aspx</link>
        <description>This week I will be mostly using............</description>
        <language>en-US</language>
        <copyright>Stuart Evans</copyright>
        <managingEditor>sevans@appsolutions.co.uk</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <image>
            <title>Stuart Evans </title>
            <url>http://geekswithblogs.net/images/RSS2Image.gif</url>
            <link>http://geekswithblogs.net/sevans/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>Just passed the biztalk 2004 exam</title>
            <link>http://geekswithblogs.net/sevans/archive/2005/07/25/48166.aspx</link>
            <description>&lt;P&gt;I just passed the Biztalk 74-135 exam. It was tough but fair. I passed it based upon the recommendations&amp;nbsp;of &lt;A href="http://geekswithblogs.net/asmith/archive/2005/06/30/45157.aspx"&gt;Alan Smith &lt;/A&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Many thanks must go to John Callaway&amp;nbsp;for the excellent training I received on the Quicklearn Biztalk 2004 deep dive course in London. I would recommend that for anyone who wants to either pass this exam or get a deeper understanding of how Biztalk works that they should attend this course.&lt;/P&gt;
&lt;P&gt;I beleive that there are still courses underway and that Partners can receive a discount off the list price.Details can be obtained &lt;A href="http://blogs.msdn.com/scottwoo/archive/2005/07/06/436108.aspx"&gt;on Scott's blog&lt;/A&gt;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=48166"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=48166" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/sevans/aggbug/48166.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Stuart Evans</dc:creator>
            <guid>http://geekswithblogs.net/sevans/archive/2005/07/25/48166.aspx</guid>
            <pubDate>Tue, 26 Jul 2005 00:35:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/sevans/comments/48166.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/sevans/archive/2005/07/25/48166.aspx#feedback</comments>
            <slash:comments>20</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/sevans/comments/commentRss/48166.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/sevans/services/trackbacks/48166.aspx</trackback:ping>
        </item>
        <item>
            <title>Extending the Custom BizTalk Socket Adapter Sample to support Dynamic Port Binding</title>
            <link>http://geekswithblogs.net/sevans/archive/2005/01/14/19985.aspx</link>
            <description>&lt;FONT color=#008000&gt;&lt;FONT color=#008000&gt;&lt;?xml:namespace prefix = b /&gt;&lt;b:schemaInfo http: BizTalk schema_type="property" xmlns:b="&lt;/FONT&gt;&lt;A href=" schemas.microsoft.com 2003?&gt;&lt;FONT color=#008000&gt;&lt;b:fieldInfo http: BizTalk xmlns:b="&lt;/FONT&gt;&lt;A href=" schemas.microsoft.com 2003? propSchFieldBase="MessageContextPropertyBase"&gt;&lt;FONT color=#008000&gt;&lt;b:fieldInfo http: BizTalk xmlns:b="&lt;/FONT&gt;&lt;A href=" schemas.microsoft.com 2003? propSchFieldBase="MessageContextPropertyBase"&gt;&lt;FONT color=#008000&gt;
&lt;P&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT color=#000000&gt;I&amp;#8217;ve recently had to go through the process of having to find out how to achieve this so&lt;BR&gt;hopefully I can save other people a lot of time when it comes to creating their custom adapters.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT color=#000000&gt;The Socket Adapter sample provided with the Biztalk Adapter Wizard does not support Dynamic Port Binding out of the box, so as an illustrative exercise I have prepared a walkthrough to show how to make it work with Dynamic Ports.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT color=#000000&gt;You have two options:&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="mso-outline-level: 1"&gt;&lt;STRONG&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: 'Arial Unicode MS'; mso-bidi-font-family: 'Arial Unicode MS'"&gt;OPTION 1&amp;nbsp; - Work through the code yourself (Recommended)&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P style="mso-outline-level: 1"&gt;&lt;STRONG&gt;&lt;SPAN lang=EN-GB style="COLOR: navy; FONT-FAMILY: 'Arial Unicode MS'; mso-bidi-font-family: 'Arial Unicode MS'"&gt;Familiarise yourself with the Pre-requisites.&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT color=#000000&gt;1) Read Christof Claessens excellent article that touches on dynamic send port binding. It&amp;#8217;s located at &lt;BR&gt;&lt;/FONT&gt;&lt;A href="http://weblogs.asp.net/christof_claessens/archive/2004/06/18.aspx"&gt;http://weblogs.asp.net/christof_claessens/archive/2004/06/18.aspx&lt;/A&gt;&lt;BR&gt;&lt;FONT color=#000000&gt;There is a section that explains how you can use Dynamic Port Binding with the out of the box FTP adapter&lt;BR&gt;2) Work through creating the sample Socket Adapter using the &lt;BR&gt;"Developing a BizTalk Server 2004 Socket Adapter with the Adapter Wizard.doc" that&amp;#8217;s located in the "BTSAW11.zip", available for download from&lt;BR&gt;&lt;/FONT&gt;&lt;A href="http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=c95217fc-4f9f-4fec-9d68-1aa9456b6ca0"&gt;http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=c95217fc-4f9f-4fec-9d68-1aa9456b6ca0&lt;/A&gt;&lt;BR&gt;&lt;FONT color=#000000&gt;Make sure that you can get it working before continuing.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="mso-outline-level: 1"&gt;&lt;STRONG&gt;&lt;SPAN lang=EN-GB style="COLOR: navy; FONT-FAMILY: 'Arial Unicode MS'; mso-bidi-font-family: 'Arial Unicode MS'"&gt;Make adapter "message context properties" visible to an Orchestration&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT color=#000000&gt;1) Add a new BizTalk project to the BizTalk Socket Adapter Solution called "SocketPropertySchema"&lt;BR&gt;2) Add a the following Property Schema as "PropertySchema.xsd" to your SocketPropertySchema project &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-GB style="COLOR: green"&gt;&amp;lt;?xml version="1.0" encoding="utf-16"?&amp;gt;&lt;BR&gt;&amp;lt;xs:schema xmlns="&lt;/SPAN&gt;&lt;SPAN lang=EN-GB&gt;&lt;A href="http://schemas.unisys.com/BizTalk/Adapters/SocketAdapter"&gt;&lt;SPAN style="COLOR: green"&gt;http://schemas.unisys.com/BizTalk/Adapters/SocketAdapter&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="COLOR: green"&gt;" xmlns:b="&lt;/SPAN&gt;&lt;A href="http://schemas.microsoft.com/BizTalk/2003"&gt;&lt;SPAN style="COLOR: green"&gt;http://schemas.microsoft.com/BizTalk/2003&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="COLOR: green"&gt;" targetNamespace="&lt;/SPAN&gt;&lt;A href="http://schemas.unisys.com/BizTalk/Adapters/SocketAdapter"&gt;&lt;SPAN style="COLOR: green"&gt;http://schemas.unisys.com/BizTalk/Adapters/SocketAdapter&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="COLOR: green"&gt;" xmlns:xs="&lt;/SPAN&gt;&lt;A href="http://www.w3.org/2001/XMLSchema"&gt;&lt;SPAN style="COLOR: green"&gt;http://www.w3.org/2001/XMLSchema&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="COLOR: green"&gt;"&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;xs:annotation&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xs:appinfo&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;b:schemaInfo schema_type="property" xmlns:b="&lt;/SPAN&gt;&lt;A href="http://schemas.microsoft.com/BizTalk/2003"&gt;&lt;SPAN style="COLOR: green"&gt;http://schemas.microsoft.com/BizTalk/2003&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="COLOR: green"&gt;" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xs:appinfo&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;/xs:annotation&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;xs:element name="RemoteHostName" type="xs:string"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xs:annotation&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xs:appinfo&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;b:fieldInfo propSchFieldBase="MessageContextPropertyBase" xmlns:b="&lt;/SPAN&gt;&lt;A href="http://schemas.microsoft.com/BizTalk/2003"&gt;&lt;SPAN style="COLOR: green"&gt;http://schemas.microsoft.com/BizTalk/2003&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="COLOR: green"&gt;" propertyGuid="1a0116b8-e2c7-4da2-9f43-414686d38005" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xs:appinfo&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xs:annotation&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;/xs:element&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;xs:element name="RemotePortNr" type="xs:int"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xs:annotation&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xs:appinfo&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;b:fieldInfo propSchFieldBase="MessageContextPropertyBase" xmlns:b="&lt;/SPAN&gt;&lt;A href="http://schemas.microsoft.com/BizTalk/2003"&gt;&lt;SPAN style="COLOR: green"&gt;http://schemas.microsoft.com/BizTalk/2003&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="COLOR: green"&gt;" propertyGuid="7a8a8133-4aff-4af4-8ae9-62f8ef056d87" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xs:appinfo&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xs:annotation&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;/xs:element&amp;gt;&lt;BR&gt;&amp;lt;/xs:schema&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT color=#000000&gt;NOTE -&amp;nbsp; the propSchFieldBase="MessageContextPropertyBase" xmlns:b="&lt;/FONT&gt;&lt;A href="http://schemas.microsoft.com/BizTalk/2003"&gt;http://schemas.microsoft.com/BizTalk/2003&lt;/A&gt;&lt;FONT color=#000000&gt;" attributes have to be manually added if you need to add new elements. &lt;BR&gt;The schema editor does not add them.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT color=#000000&gt;NOTE - the xmlns and targetNamespace attributes were set to the same value as the PropertyNamespace value that was found in the SocketAdapter.reg that is provided in the sample adapter solution directory.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT color=#000000&gt;3) If it wasn&amp;#8217;t already set make sure you set the build action of PropertySchema.xsd to "compile". &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT color=#000000&gt;4) Assign a strong name to the project "SocketAdapterTester.snk" otherwise you wont be able deploy it to BizTalk.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT color=#000000&gt;5) Build and Deploy the SocketPropertySchema project&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT color=#000000&gt;6) Reference the SocketPropertySchema&amp;nbsp; from the SocketAdapterTester project&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT color=#000000&gt;Once you have completed this task the message context properties will be available for setting in an orchestration message construct shape , just like in Christoph's example for the FTP adapter.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT color=#000000&gt;You'll be able to set them in a similar manner to the examples below (the actual property names my differ slightly but will start with "Socket")&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-GB style="COLOR: green"&gt;msgServerOrder(SocketAdapterPropertySchema.PropertySchema.RemoteHostName) = "biztalktest";&lt;BR&gt;msgServerOrder(SocketAdapterPropertySchema.PropertySchema.RemotePortNr) = 8999;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN lang=EN-GB style="COLOR: navy; FONT-FAMILY: 'Arial Unicode MS'; mso-bidi-font-family: 'Arial Unicode MS'"&gt;Modify the Sample Socket Adapter Code to enable it to access the new message context properties&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT color=#000000&gt;Unfortunately the adapter code in its current format doesn&amp;#8217;t automatically "know" that these are the values to use. &lt;BR&gt;In fact there is no real relationship between the elements set up in the Transmit Location.xsd and the PropertySchema.xsd files.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT color=#000000&gt;So we have to modify the socket adapter code to deal with this new data.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT color=#000000&gt;The following is merely an illustration i.e. it reflects the key points in order to make the adapter support Dynamic Port Binding.&lt;BR&gt;I have probably skipped over a number of vital error handling routines so ensure that you add the necessary error trapping routines in your &lt;BR&gt;production code.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-GB&gt;&lt;BR&gt;&lt;FONT color=#000000&gt;1. Modify the following code snippet located in the SocketTransmitAdapterBatch.cs .&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="mso-outline-level: 1"&gt;&lt;STRONG&gt;&lt;SPAN lang=EN-GB style="FONT-FAMILY: 'Arial Unicode MS'; mso-bidi-font-family: 'Arial Unicode MS'"&gt;&lt;FONT color=#000000&gt;Old Code&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-GB style="COLOR: green"&gt;remote_host.PortNr = config.RemotePortNr;&lt;BR&gt;remote_host.TimeOut = SocketAdapterProperties.Timeout*1000;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="mso-outline-level: 1"&gt;&lt;STRONG&gt;&lt;SPAN lang=EN-GB style="FONT-FAMILY: 'Arial Unicode MS'; mso-bidi-font-family: 'Arial Unicode MS'"&gt;&lt;FONT color=#000000&gt;New Code&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-GB style="COLOR: green"&gt;if (null != config)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //It&amp;#8217;s a static port&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; remote_host.ServerName = config.RemoteHostName;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; remote_host.PortNr = config.RemotePortNr;&lt;BR&gt;}&lt;BR&gt;else&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //It&amp;#8217;s a dynamic port. No properties are available if it&amp;#8217;s Dynamic so we have to get them from Message Context&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; remote_host.ServerName = msg.Message.Context.Read ("RemoteHostName","&lt;/SPAN&gt;&lt;SPAN lang=EN-GB&gt;&lt;A href="http://schemas.unisys.com/BizTalk/Adapters/SocketAdapter"&gt;&lt;SPAN style="COLOR: green"&gt;http://schemas.unisys.com/BizTalk/Adapters/SocketAdapter").ToString&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="COLOR: green"&gt;();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; remote_host.PortNr = Convert.ToInt32(msg.Message.Context.Read("RemotePortNr","&lt;/SPAN&gt;&lt;A href="http://schemas.unisys.com/BizTalk/Adapters/SocketAdapter"&gt;&lt;SPAN style="COLOR: green"&gt;http://schemas.unisys.com/BizTalk/Adapters/SocketAdapter&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="COLOR: green"&gt;"));&lt;BR&gt;}&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#000000&gt;&lt;SPAN lang=EN-GB&gt;Stop the Biztalk Server and any send ports. Rebuild the Solution (sometimes &lt;/SPAN&gt;&lt;?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /&gt;&lt;st1:stockticker&gt;&lt;SPAN lang=EN-GB&gt;WMI&lt;/SPAN&gt;&lt;/st1:stockticker&gt;&lt;/FONT&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT color=#000000&gt; has a hold on the assemblies . Use sysinternals handle.exe to determine this)&lt;BR&gt;Now all that is left is for you to test your adapter by modifying the existing sample orchestration.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="mso-outline-level: 1"&gt;&lt;STRONG&gt;&lt;SPAN lang=EN-GB style="COLOR: navy; FONT-FAMILY: 'Arial Unicode MS'; mso-bidi-font-family: 'Arial Unicode MS'"&gt;Modifying The "SocketAdapterTester" Project to use Dynamic Port Binding&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT color=#000000&gt;Now that we have added Dynamic support to our adapter we can modify an existing orchestration to use a Dynamic Solicit Response Send Port.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT color=#000000&gt;1. Undeploy the existing "SocketAdapterTester"&amp;nbsp; assembly from your Biztalk server. &lt;BR&gt;2. Open up the OrchSocketClient.odx , delete the "psrSolRspSocketClient" port from the orchestration&lt;BR&gt;3. Add a new Configured Port with the following values&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT color=#000000&gt;Name:&amp;nbsp;&amp;nbsp;&amp;nbsp; portSendDynamic&lt;BR&gt;portType :&amp;nbsp;&amp;nbsp; portTypeDynamic&lt;BR&gt;Pattern&amp;nbsp;:&amp;nbsp;&amp;nbsp;&amp;nbsp; Request Response&lt;BR&gt;Direction:&amp;nbsp; Send Receive&lt;BR&gt;Port Binding :&amp;nbsp; Dynamic&lt;BR&gt;Receive Pipeline: XmlReceive&lt;BR&gt;Send Pipeline:&amp;nbsp; XmlReceive&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT color=#000000&gt;4. In Orchestration Properties add a new message called "msgServerOrder2" of same type as "msgServerOrder"&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT color=#000000&gt;5. Add a Construct Message Shape immediately under the rcvFromFile Receive Shape. Name it "Create msgServerOrder2" . Set the Messages Constructed property to msgServerOrder2&lt;BR&gt;6. Drag a Message Assignment Shape into the Construct Message shape.Name it "from msgServerOrder"&lt;BR&gt;set the expression to :&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-GB style="COLOR: green"&gt;msgServerOrder2 = msgServerOrder;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-GB&gt;&lt;BR&gt;&lt;FONT color=#000000&gt;7. Drag another Message Assignment Shape into the Construct Message shape.Name it "Set Context"&lt;BR&gt;set the expression to : (replace biztalktest with your machine name. )&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-GB&gt;&lt;BR&gt;&lt;SPAN style="COLOR: green"&gt;msgServerOrder2(SocketAdapterPropertySchema.PropertySchema.RemoteHostName)="biztalktest";&lt;BR&gt;msgServerOrder2(SocketAdapterPropertySchema.PropertySchema.RemotePortNr)=8999;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT color=#000000&gt;NOTE - Exact Message context properties name may differ slightly from what&amp;#8217;s outline above , depending on the namespace assigned to the PropertySchema.xsd file. &lt;BR&gt;You should be able to locate the values as they will more than likely start with "Socket".&lt;BR&gt;8. Drag an Expression shape immediately below the Construct Message Shape and before the sndToSocket shape , name it "Set Dynamic Port"&lt;BR&gt;Set the expression to : (change biztalktest to your machine name)&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-GB&gt;&lt;BR&gt;&lt;SPAN style="COLOR: green"&gt;portSendDynamic(Microsoft.XLANGs.BaseTypes.Address)="Socket://biztalktest/8999";&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT color=#000000&gt;9. Modify the sndToSocket Shape and set its Message property to msgServerOrder2 instead of msgServerOrder.&lt;BR&gt;10. Re-connect the sndToSocket and rcvFromSocket shapes to the portSendDynamic port.&lt;BR&gt;11. Stop the Biztalk Server Host and any send ports that may be using the adapter.&lt;BR&gt;You may need to close down Server Administration and Biztalk Explorer as sometimes they seem to keep hold of the assemblies.(use handle to find any locked assemblies)&lt;BR&gt;12. Rebuild the solution. If there are any build issues then revisit the previous steps.&lt;BR&gt;13. Re-Start the BizTalk host&lt;BR&gt;14. Deploy the modified "SocketAdapterTester" Project.&lt;BR&gt;15. As part of the standard Socket Adapter walkthrough you will have created two file locations called rcvFromFile and sndToFile &lt;BR&gt;Make sure they have provided the necessary read / write permissions to allow Biztalk to access them.&lt;BR&gt;17. Bind and Start the "SocketAdapterTester.OrchSocketClient" and "SocketAdapterTester.OrchSocketServer" Orchestrations&lt;BR&gt;NOTE - The orchestration "SocketAdapterTester.OrchSocketClient" should have already pre-bound its send port to the auto-generated dynamic port)&lt;BR&gt;NOTE - With the exception of the new Dynamic port , bind all other ports as per the Socket Adapter Walkthrough.&lt;BR&gt;18. Start the socket listener client as per the socket adapter walkthrough&lt;BR&gt;19. Drop the following Xml sample instance into the "rcvFromFile" file receive location.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-GB style="COLOR: green"&gt;&amp;lt;ns0:ServerPO xmlns:ns0="&lt;/SPAN&gt;&lt;SPAN lang=EN-GB&gt;&lt;A href="http://socketadaptertester.poschema/"&gt;&lt;SPAN style="COLOR: green"&gt;http://SocketAdapterTester.POSchema&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="COLOR: green"&gt;"&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;Manufacturer&amp;gt;Unisys&amp;lt;/Manufacturer&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;Type&amp;gt;ES 7000 Orion 560&amp;lt;/Type&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;NrOfProcessors&amp;gt;32&amp;lt;/NrOfProcessors&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;AmountOfRam&amp;gt;64 GB&amp;lt;/AmountOfRam&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;Quantity&amp;gt;12&amp;lt;/Quantity&amp;gt;&lt;BR&gt;&amp;lt;/ns0:ServerPO&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-GB&gt;&lt;BR&gt;&lt;FONT color=#000000&gt;20. The xml file should be processed just like it was in with the Static Send Port.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#000000&gt;&lt;STRONG&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 13.5pt; FONT-FAMILY: 'Arial Unicode MS'; mso-bidi-font-family: 'Arial Unicode MS'"&gt;OPTION 2 - Use my sample code&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 13.5pt"&gt; &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Arial Unicode MS'; mso-bidi-font-family: 'Arial Unicode MS'"&gt;(based upon the original socket adapter sample code.)&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT color=#000000&gt;NOTE - this sample is hard coded to work from a specific directory location on the C drive.&lt;BR&gt;For convenience , I have added assembly-binding files, send and receive locations and also have strong named the assemblies. &lt;BR&gt;But the following step-by-step instructions apply ONLY to the default solution location.&lt;BR&gt;You'll need to modify the assembly binding file and the adapter registry file if you decide to use a different file location.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT color=#000000&gt;1. If you have previously used the SocketSample adapter code provided with the BizTalk Adapter Wizard , you MUST ensure that you have removed &lt;BR&gt;the adapter and any old send and receive ports prior to using this sample code. Otherwise you will have problems re-registering and re-adding the adapter.&lt;BR&gt;1. Download the source code from &lt;/FONT&gt;&lt;A href="http://www.appsolutions.co.uk/samples/SocketSample.zip"&gt;http://www.appsolutions.co.uk/samples/SocketSample.zip&lt;/A&gt;&lt;BR&gt;&lt;FONT color=#000000&gt;2. Extract the zip file to your C drive. It will create a "SocketSample" folder on the C drive.&lt;BR&gt;3. Open the "C:\SocketSample\BizTalk Server Socket Adapter Sample\BizTalk Socket Adapter.sln" solution.&lt;BR&gt;4. In the SocketRecvListener project modify the SocketRecvListener.cs to replace the machine name "biztalktest" with your machine name.&lt;BR&gt;NOTE - You can optionally change the port and uri values but I would recommend leaving them as they are, otherwise you will have to change your assembly binding files to make the sample work properly.&lt;BR&gt;5. Build the entire solution.&lt;BR&gt;6. Run the C:\SocketSample\BizTalk Server Socket Adapter Sample\SocketAdapter.reg to import the necessary adapter registry details&lt;BR&gt;7. Add the adapter using Biztalk Server Administration&amp;gt;&amp;gt;Adapters&amp;gt;&amp;gt;New&amp;gt;&amp;gt;Adapter. Once done you must stop the Biztalk host.&lt;BR&gt;8. Set the Send Handler Properties on the adapter. Set MaxBufferSize to 49152 and Timeout to 20.&lt;BR&gt;9. Deploy the SocketAdapterPropertySchema and SocketAdapterTester Biztalk projects (in that order).&lt;BR&gt;10.Modify the C:\SocketSample\AssemblyBinding\SocketBinding.xml. Replace any occurrences of "biztalktest" with your machine name.&lt;BR&gt;10. Once that is done you can import this assembly-binding file (SocketBinding.xml) using the Biztalk Server Deployment Wizard&lt;BR&gt;11. Assign read/write permissions to the C:\SocketSample\rcvFromFile and C:\SocketSample\sndToFile directories&lt;BR&gt;12. Start the "SocketAdapterTester.OrchSocketClient" and "SocketAdapterTester.OrchSocketServer" Orchestrations, including send and receive ports etc.&lt;BR&gt;13. Start the Socket Listener Client , located in "C:\SocketSample\BizTalk Server Socket Adapter Sample\SocketRecvListener\bin\Debug\SocketRecvListener.exe"&lt;BR&gt;14. Start the Biztalk Host (if not already started).&lt;BR&gt;15. Drop the "C:\SocketSample\SampleInstance\SampleInstance.xml" file into "C:\SocketSample\rcvFromFile"&lt;BR&gt;16. Biztalk will process the file (via the socket listener) and place an output file in the "C:\SocketSample\sndToFile" directory&lt;BR&gt;17. Take the time to review the OPTION 1 to familiarise yourself with what has been modified. If you have time work through Option 1 to get yourself familiar with the principles &lt;BR&gt;because once you&amp;#8217;ve done it once the method should be the same some any new adapters you create.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="mso-outline-level: 1"&gt;&lt;STRONG&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 13.5pt; FONT-FAMILY: 'Arial Unicode MS'; mso-bidi-font-family: 'Arial Unicode MS'"&gt;&lt;FONT color=#000000&gt;Conclusion&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT color=#000000&gt;I hope this post was of use. If you have any problems with this walkthrough let me know and time permitting I&amp;#8217;ll do my very best to assist you. Code is provided as is. No guarantees are made as it its ability to perform in a production environment.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;&lt;/b:fieldInfo&gt;&lt;/FONT&gt;&lt;/b:fieldInfo&gt;&lt;/FONT&gt;&lt;/b:schemaInfo&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=19985"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=19985" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/sevans/aggbug/19985.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Stuart Evans</dc:creator>
            <guid>http://geekswithblogs.net/sevans/archive/2005/01/14/19985.aspx</guid>
            <pubDate>Sat, 15 Jan 2005 02:02:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/sevans/comments/19985.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/sevans/archive/2005/01/14/19985.aspx#feedback</comments>
            <slash:comments>10</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/sevans/comments/commentRss/19985.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/sevans/services/trackbacks/19985.aspx</trackback:ping>
        </item>
        <item>
            <title>Using the User Interface Process Application Block 2 in conjunction with the Configuration Management Application Block</title>
            <link>http://geekswithblogs.net/sevans/archive/2005/01/10/19571.aspx</link>
            <description>&lt;P&gt;In my existing project I wanted to be able to store my User Interface Process configuration data OUTSIDE of my standard application configuration file (i.e. appname.exe.config or&amp;nbsp;web.config). I felt that I was going to have a significant amount of&amp;nbsp;navigational and process&amp;nbsp;configuration data and I personally would be far happier storing it away from the&amp;nbsp;standard config file.&amp;nbsp;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;Perhaps I gave up too soon with the documentation and I am sure there is&amp;nbsp;probably a sweeter way of achieving this requirement, but anyway here goes. Feel free to correct me if there is a better solution.&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;If&amp;nbsp;want to store your User Interface Process Application Block 2 (UIPAB2) configuration data outside of the your main application configuration file then&amp;nbsp;one method of achieving this is could be by using the Configuration Management Application Block (CMAB) in conjunction with the UIPAB2.&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;STRONG&gt;Conditions Of Using This Method&lt;BR&gt;&lt;BR&gt;&lt;/STRONG&gt;a) This method assumes you have working knowledge of both the UIPAB2 and the CMAB&lt;BR&gt;b) You have to make very minor changes to the UIPAB2 source code in order to utilize this functionality . To download the the source code go to &lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/uipab.asp" target=_blank&gt;&lt;FONT color=#666688&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/uipab.asp&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;The process of creating a UIPAB2 application is no different to normal. For tips on how to create applications using the UIPAB take a look at &lt;A href="http://www.codeproject.com/dotnet/UIPAB1.asp" target=_blank&gt;&lt;FONT color=#666688&gt;http://www.codeproject.com/dotnet/UIPAB1.asp&lt;/FONT&gt;&lt;/A&gt; and &lt;A href="http://www.codeproject.com/dotnet/UIPAB2.asp" target=_blank&gt;&lt;FONT color=#666688&gt;http://www.codeproject.com/dotnet/UIPAB2.asp&lt;/FONT&gt;&lt;/A&gt; for some great demos.&lt;BR&gt;&lt;BR&gt;&lt;B&gt;Incorporating the CMAB into your UIPAB2 project&lt;/B&gt;&lt;BR&gt;&lt;BR&gt;&lt;B&gt;STEP 1&lt;/B&gt; - Add the Configuration Management Application Block and UIPAB2 to your solution. From the UIPAB2 project add a reference to it from the CMAB &lt;BR&gt;&lt;BR&gt;&lt;B&gt;STEP 2&lt;/B&gt; - Add / amend you application configuration file to include the standard CMAB sections as shown in the sample below:&lt;BR&gt;&lt;BR&gt;&amp;lt;configuration&amp;gt;&lt;BR&gt;&amp;lt;!--The configSections and applicationConfigurationManagement sections are required for the CMAB--&amp;gt;&lt;BR&gt;&amp;lt;configSections&amp;gt;&lt;BR&gt;&amp;lt;section name="applicationConfigurationManagement" type="Microsoft.ApplicationBlocks.ConfigurationManagement.ConfigurationManagerSectionHandler,Microsoft.ApplicationBlocks.ConfigurationManagement, Version=1.0.0.0,Culture=neutral,PublicKeyToken=null" /&amp;gt; &lt;BR&gt;&amp;lt;section name="uipConfiguration" type="Microsoft.ApplicationBlocks.UIProcess.UIPConfigHandler, Microsoft.ApplicationBlocks.UIProcess, Version=1.0.1.0,Culture=neutral,PublicKeyToken=null"/&amp;gt; &lt;BR&gt;&amp;lt;/configSections&amp;gt; &lt;BR&gt;&amp;lt;applicationConfigurationManagement&amp;gt;&lt;BR&gt;&amp;lt;!--Implementation of the UIPAB as part of configuration management as opposed to using the standard config file readers--&amp;gt;&lt;BR&gt;&amp;lt;!--Note that in this section we are pointing to an external configuration file, however we could be using any of the inbuilt CMAB functionality to hold the UIPAB configuration--&amp;gt;&lt;BR&gt;&amp;lt;configSection name="uipConfiguration"&amp;gt;&lt;BR&gt;&amp;lt;configProvider assembly="Microsoft.ApplicationBlocks.ConfigurationManagement,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null" type="Microsoft.ApplicationBlocks.ConfigurationManagement.Storage.XmlFileStorage" signed="false" refreshOnChange="true" encrypted="false" path="..\..\..\TestConfigFile.config" /&amp;gt;&lt;BR&gt;&amp;lt;/configSection&amp;gt; &lt;BR&gt;&amp;lt;/applicationConfigurationManagement&amp;gt; &lt;BR&gt;&amp;lt;!--Usually the UIPAB config sections would appear here in the Config file. --&amp;gt;&lt;BR&gt;&amp;lt;!--Because we are delegating the task to the CMAB they have been moved out--&amp;gt;&lt;BR&gt;&amp;lt;!--to a seperate file location called TestConfigFile.config--&amp;gt;&lt;BR&gt;&amp;lt;/configuration&amp;gt;&lt;BR&gt;&lt;BR&gt;&lt;B&gt;STEP 3&lt;/B&gt; - Move / create your UIPAB2 configuration file as per the sample shown below. NOTE THE USE OF TWO uipConfiguration nodes. This is due to differences in the way that the standard configuration reader works compared to the CMAB readers.&lt;BR&gt;&lt;BR&gt;&amp;lt;?xml version="1.0" encoding="utf-8" ?&amp;gt;&lt;BR&gt;&amp;lt;configuration&amp;gt;&lt;BR&gt;&amp;lt;uipConfiguration&amp;gt; &lt;BR&gt;&amp;lt;uipConfiguration&amp;gt; &lt;BR&gt;&amp;lt;objectTypes&amp;gt;&lt;BR&gt;&amp;lt;iViewManager &lt;BR&gt;name="ViewManager"&lt;BR&gt;type="Microsoft.ApplicationBlocks.UIProcess.WindowsFormViewManager, Microsoft.ApplicationBlocks.UIProcess, Version=1.0.1.0,Culture=neutral,PublicKeyToken=null"/&amp;gt; &lt;BR&gt;&amp;lt;state &lt;BR&gt;name="State" &lt;BR&gt;type="Microsoft.ApplicationBlocks.UIProcess.State, Microsoft.ApplicationBlocks.UIProcess, Version=1.0.1.0,Culture=neutral,PublicKeyToken=null"/&amp;gt; &lt;BR&gt;&amp;lt;controller &lt;BR&gt;name="UIController" &lt;BR&gt;type="InterfaceProcess.UIController, InterfaceProcess, Version=1.0.0.0,Culture=neutral,PublicKeyToken=null" /&amp;gt; &lt;BR&gt;&amp;lt;statePersistenceProvider &lt;BR&gt;name="MemoryStatePersistence" &lt;BR&gt;type="Microsoft.ApplicationBlocks.UIProcess.MemoryStatePersistence, Microsoft.ApplicationBlocks.UIProcess, Version=1.0.1.0,Culture=neutral,PublicKeyToken=null"/&amp;gt; &lt;BR&gt;&amp;lt;/objectTypes&amp;gt;&lt;BR&gt;&amp;lt;views&amp;gt;&lt;BR&gt;&amp;lt;view &lt;BR&gt;name="Explanation" &lt;BR&gt;type="DemoWindowsFormsApplication.Explanation, DemoWindowsFormsApplication, Version=1.0.1.0,Culture=neutral,PublicKeyToken=null" &lt;BR&gt;controller="UIController"/&amp;gt; &lt;BR&gt;&amp;lt;view &lt;BR&gt;name="Thanks" &lt;BR&gt;type="DemoWindowsFormsApplication.Thanks, DemoWindowsFormsApplication, Version=1.0.1.0,Culture=neutral,PublicKeyToken=null" &lt;BR&gt;controller="UIController"/&amp;gt; &lt;BR&gt;&amp;lt;/views&amp;gt;&lt;BR&gt;&amp;lt;navigationGraph name="Nav"&lt;BR&gt;startView="Explanation"&lt;BR&gt;state="State"&lt;BR&gt;statePersist="MemoryStatePersistence"&lt;BR&gt;iViewManager="ViewManager"&amp;gt;&lt;BR&gt;&amp;lt;node view="Explanation"&amp;gt;&lt;BR&gt;&amp;lt;navigateTo navigateValue="Thanks" view="Thanks" /&amp;gt;&lt;BR&gt;&amp;lt;/node&amp;gt;&lt;BR&gt;&amp;lt;/navigationGraph&amp;gt;&lt;BR&gt;&amp;lt;/uipConfiguration&amp;gt;&lt;BR&gt;&amp;lt;/uipConfiguration&amp;gt;&lt;BR&gt;&amp;lt;/configuration&amp;gt;&lt;BR&gt;&lt;BR&gt;&lt;B&gt;STEP 4&lt;/B&gt; - In the UIPAB2 Project open the Configuration\UIPConfiguration.cs file and add the following using directive :&lt;BR&gt;&lt;BR&gt;using Microsoft.ApplicationBlocks.ConfigurationManagement;&lt;BR&gt;&lt;BR&gt;&lt;B&gt;STEP 5&lt;/B&gt; - Modify the following line of code: (located in the public static UIPConfigSettings Config declaration)&lt;BR&gt;&lt;BR&gt;&lt;B&gt;Old Code&lt;/B&gt;&lt;BR&gt;&lt;BR&gt;_currentConfig = (UIPConfigSettings)ConfigurationSettings.GetConfig( UipConfigSection );&lt;BR&gt;&lt;BR&gt;&lt;B&gt;New Code&lt;/B&gt;&lt;BR&gt;&lt;BR&gt;_currentConfig = (UIPConfigSettings) ConfigurationManagement.ConfigurationManager.Read(UipConfigSection);&lt;BR&gt;&lt;BR&gt;&lt;B&gt;Sample Code Available For Download&lt;/B&gt;&lt;BR&gt;&lt;BR&gt;Sample code is available for downloand from &lt;A href="http://www.appsolutions.co.uk/samples/CombiningUIPABwithCMAB.zip" target=_blank&gt;&lt;FONT color=#666688&gt;http://www.appsolutions.co.uk/samples/CombiningUIPABwithCMAB.zip&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;Post is provided as is. No guarantees are made as to its ability to function in a production environment.&lt;BR&gt;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=19571"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=19571" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/sevans/aggbug/19571.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Stuart Evans</dc:creator>
            <guid>http://geekswithblogs.net/sevans/archive/2005/01/10/19571.aspx</guid>
            <pubDate>Mon, 10 Jan 2005 23:37:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/sevans/comments/19571.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/sevans/archive/2005/01/10/19571.aspx#feedback</comments>
            <slash:comments>16</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/sevans/comments/commentRss/19571.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/sevans/services/trackbacks/19571.aspx</trackback:ping>
        </item>
    </channel>
</rss>