<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="http://www.codeplex.com/rss.xsl"?><rss version="2.0"><channel><title>patterns &amp; practices: Enterprise Service Bus Guidance</title><link>http://www.codeplex.com/esb/Project/ProjectRss.aspx</link><description>The Microsoft ESB Guidance provides architectural guidance, patterns, practices, and a set of BizTalk Server and .NET components to simplify the development of an Enterprise Service Bus &amp;#40;ESB&amp;#41; on th...</description><item><title>New Post: FaultCode and FailureCategory Best Practices?</title><link>http://www.codeplex.com/esb/Thread/View.aspx?ThreadId=34375</link><description>&lt;div style="line-height: normal;"&gt;Does anyone have advice regarding a list of the options they have used when setting the FailureCategory and FaultCode properties of a fault message?&amp;nbsp; &lt;br&gt;
What is the difference between a fault and a failure?&amp;nbsp; &lt;br&gt;
Are fault codes a subset of failures with all faults for a failures type handled by single orchestration fault handler? &lt;br&gt;
How are you managing your failure/fault options (enum, list of constants in a class file, a .NET collection, other)?&lt;br&gt;
How do you ensure there is a fault handler for each failure/fault option?
&lt;/div&gt;</description><author>Chompers</author><pubDate>Wed, 27 Aug 2008 13:27:30 GMT</pubDate><guid isPermaLink="false">New Post: FaultCode and FailureCategory Best Practices? 20080827012730P</guid></item><item><title>New Post: Saving messages to messagebox and ProcessItinerary subscribing to it</title><link>http://www.codeplex.com/esb/Thread/View.aspx?ThreadId=34033</link><description>&lt;div style="line-height: normal;"&gt;There are four web services available to you that allow an input message and the itinerary you would like to run.&amp;nbsp; These are the ESB on-ramps.&lt;br&gt;
1. ESB.ItineraryServices - Classic asmx web service that allows for one-way messaging.&amp;nbsp; You can send a payload message and the itinerary, but do not expect a return message.&lt;br&gt;
2. ESB.ItineraryServices.WCF - Same function as above but exposes a WCF basic http endpoint.&lt;br&gt;
3.&amp;nbsp; ESB.ItineraryServices.Response - Classic asmx web service that allows for two-way messaging.&amp;nbsp; You can send a payload and the itinerary and receive a message back from the service.&lt;br&gt;
4.&amp;nbsp; ESB.ItineraryServices.Response.WCF -&amp;nbsp;Same function as above but exposes a WCF basic http endpoint.&lt;br&gt;
&lt;br&gt;
Each of these web services&amp;nbsp; are set up in BizTalk as receive locations and have the ItineraryReceiveXml pipeline.&amp;nbsp; This pipeline understands itineraries&amp;nbsp;and will process the itinerary passed with the message.&amp;nbsp;&amp;nbsp; Generally you would set up your own off-ramps (usually dynamic send ports) that will subscribe to the resulting message put into the message box by these on-ramp services.&amp;nbsp; The Itinerary sample is a great place to start to see this processing in action.&lt;br&gt;
&lt;br&gt;
Hope that helps!
&lt;/div&gt;</description><author>BrendonBirdoes</author><pubDate>Fri, 22 Aug 2008 21:27:26 GMT</pubDate><guid isPermaLink="false">New Post: Saving messages to messagebox and ProcessItinerary subscribing to it 20080822092726P</guid></item><item><title>New Post: Saving messages to messagebox and ProcessItinerary subscribing to it</title><link>http://www.codeplex.com/esb/Thread/View.aspx?ThreadId=34033</link><description>&lt;div style="line-height: normal;"&gt;Hello,&lt;br&gt;
&lt;br&gt;
I don't know if I miss it in the documentation of ESB..but I have a requirement that is kinda off the right process documented in running the itinerary.&lt;br&gt;
1. Do we have a web service or a method in the ESB Guidance that client application can use to save messages in a messagebox? Message construct&amp;nbsp;would contain input data plus itinerary xml.&lt;br&gt;
2. Can we setup the ProcessItinerary web service to subscribe to the messagebox and run the itinerary processing? Assuming the message saved in the messagebox is constructed in number 1 above?&lt;br&gt;
&lt;br&gt;
Hope to get your comments on this one. Thanks!
&lt;/div&gt;</description><author>Keirol</author><pubDate>Thu, 21 Aug 2008 22:06:06 GMT</pubDate><guid isPermaLink="false">New Post: Saving messages to messagebox and ProcessItinerary subscribing to it 20080821100606P</guid></item><item><title>Created Issue: UDDI resolver timeouts (not configurable UDDI Client)</title><link>http://www.codeplex.com/esb/WorkItem/View.aspx?WorkItemId=7371</link><description>I our project we have detected that sometimes, if a itinerary has a uddi resolution sometimes throw an exception of timeout to de UDDI webserver.&lt;br /&gt;Checking the code, i have found that the uddi client from the ESB don&amp;#39;t have any configurable timeouts and max buffers. Also if an exception is thrown it don&amp;#39;t retry an other call.&lt;br /&gt;I have modified this projects&amp;#58; Microsoft.Practices.ESB.Resolver.UDDI and Microsoft.Practices.ESB.UDDI to customize the configuration.&lt;br /&gt;&lt;br /&gt;The Class&amp;#58; Microsoft.Practices.ESB.Resolver.UDDI.ResolveProvider&lt;br /&gt;&amp;#8226;&amp;#9;There are three procedures named Resolver, this procedures call to ResolveUDDI. I have added the possibility to do retries, if an exception is thrown,  to the call to ResolveUDDI, these retries are configurable in the machine config &amp;#58; &amp;#60;add key&amp;#61;&amp;#34;Retries&amp;#34; value&amp;#61;&amp;#34;3&amp;#34; &amp;#47;&amp;#62;. The default value if this key is not present is 3.&lt;br /&gt;&lt;br /&gt;        &amp;#47;&amp;#47;&amp;#47; &amp;#60;summary&amp;#62;&lt;br /&gt;        &amp;#47;&amp;#47;&amp;#47; Uses the UDDI to query a UDDI server for end point info.  Will&lt;br /&gt;        &amp;#47;&amp;#47;&amp;#47; check for either custom bindings that represent config, or will look&lt;br /&gt;        &amp;#47;&amp;#47;&amp;#47; for ESB UDDI category keys.  Called from Pipeline&lt;br /&gt;        &amp;#47;&amp;#47;&amp;#47; &amp;#60;&amp;#47;summary&amp;#62;&lt;br /&gt;        &amp;#47;&amp;#47;&amp;#47; &amp;#60;param name&amp;#61;&amp;#34;config&amp;#34;&amp;#62;resolver configuration passed as argument in pipeline&amp;#60;&amp;#47;param&amp;#62;&lt;br /&gt;        &amp;#47;&amp;#47;&amp;#47; &amp;#60;param name&amp;#61;&amp;#34;resolver&amp;#34;&amp;#62;name of Resolver&amp;#60;&amp;#47;param&amp;#62;&lt;br /&gt;        &amp;#47;&amp;#47;&amp;#47; &amp;#60;param name&amp;#61;&amp;#34;message&amp;#34;&amp;#62;IBaseMessage used to set context properties&amp;#60;&amp;#47;param&amp;#62;&lt;br /&gt;        &amp;#47;&amp;#47;&amp;#47; &amp;#60;param name&amp;#61;&amp;#34;pipelineContext&amp;#34;&amp;#62;IPipelineContext passed to SetContext method&amp;#60;&amp;#47;param&amp;#62;&lt;br /&gt;        &amp;#47;&amp;#47;&amp;#47; &amp;#60;returns&amp;#62;Populated Dictionary Object&amp;#60;&amp;#47;returns&amp;#62;&lt;br /&gt;        public Dictionary&amp;#60;string, string&amp;#62; Resolve&amp;#40;string config, string resolver, IBaseMessage message, IPipelineContext pipelineContext&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            &amp;#35;region Argument Check&lt;br /&gt;            if &amp;#40;String.IsNullOrEmpty&amp;#40;config&amp;#41;&amp;#41;&lt;br /&gt;                throw new ArgumentNullException&amp;#40;&amp;#34;config&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;            if &amp;#40;String.IsNullOrEmpty&amp;#40;resolver&amp;#41;&amp;#41;&lt;br /&gt;                throw new ArgumentNullException&amp;#40;&amp;#34;resolver&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;            if &amp;#40;null &amp;#61;&amp;#61; message&amp;#41;&lt;br /&gt;                throw new ArgumentNullException&amp;#40;&amp;#34;message&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;            if &amp;#40;null &amp;#61;&amp;#61; pipelineContext&amp;#41;&lt;br /&gt;                throw new ArgumentNullException&amp;#40;&amp;#34;pipelineContext&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;            &amp;#35;endregion Argument Check&lt;br /&gt;&lt;br /&gt;            Resolution resolution &amp;#61; new Resolution&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;            &amp;#47;&amp;#47;Modified by Miguel Telleria&lt;br /&gt;            bool redo &amp;#61; false&amp;#59;&lt;br /&gt;            int maxRetries &amp;#61; 3&amp;#59;&lt;br /&gt;            int retries &amp;#61; 0&amp;#59;&lt;br /&gt;            Dictionary&amp;#60;string, string&amp;#62; output &amp;#61; null&amp;#59;&lt;br /&gt;            Hashtable uddiClientConfigHash &amp;#61; &amp;#40;Hashtable&amp;#41;ConfigurationManager.GetSection&amp;#40;&amp;#34;ESBProcessor&amp;#47;UDDIClientConfig&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;            if &amp;#40;uddiClientConfigHash.ContainsKey&amp;#40;&amp;#34;Retries&amp;#34;&amp;#41;&amp;#41;&lt;br /&gt;                maxRetries &amp;#61; int.Parse&amp;#40;uddiClientConfigHash&amp;#91;&amp;#34;Retries&amp;#34;&amp;#93;.ToString&amp;#40;&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;            do&lt;br /&gt;                &amp;#47;&amp;#47;End Modification&lt;br /&gt;&lt;br /&gt;            try&lt;br /&gt;            &amp;#123;&lt;br /&gt;                &amp;#47;&amp;#47; Populate context&lt;br /&gt;                ResolverMgr.SetContext&amp;#40;resolution, message, pipelineContext&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;                &amp;#47;&amp;#47; resolve with uddi and return dictionary&lt;br /&gt;                output &amp;#61;  ResolveUddi&amp;#40;config, resolver, resolution&amp;#41;&amp;#59;&lt;br /&gt;                redo &amp;#61; false&amp;#59;&lt;br /&gt;            &amp;#125;&lt;br /&gt;            catch &amp;#40;System.Exception ex&amp;#41;&lt;br /&gt;            &amp;#123;&lt;br /&gt;                EventLogger.Write&amp;#40;MethodInfo.GetCurrentMethod&amp;#40;&amp;#41;, ex&amp;#41;&amp;#59;&lt;br /&gt;                redo &amp;#61; true&amp;#59;&lt;br /&gt;                &amp;#43;&amp;#43;retries&amp;#59;&lt;br /&gt;                if &amp;#40;retries &amp;#62;&amp;#61; maxRetries&amp;#41;&lt;br /&gt;                &amp;#123;&lt;br /&gt;                    throw&amp;#59;&lt;br /&gt;                &amp;#125;&lt;br /&gt;            &amp;#125;&lt;br /&gt;            &amp;#47;&amp;#47;catch &amp;#40;System.Exception ex&amp;#41;&lt;br /&gt;            &amp;#47;&amp;#47;&amp;#123;&lt;br /&gt;            &amp;#47;&amp;#47;    EventLogger.Write&amp;#40;MethodInfo.GetCurrentMethod&amp;#40;&amp;#41;, ex&amp;#41;&amp;#59;&lt;br /&gt;            &amp;#47;&amp;#47;    throw&amp;#59;&lt;br /&gt;            &amp;#47;&amp;#47;&amp;#125;&lt;br /&gt;        while &amp;#40;redo &amp;#38;&amp;#38; &amp;#40;retries &amp;#60; maxRetries&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;        return output&amp;#59;&lt;br /&gt;        &amp;#125;&lt;br /&gt;&lt;br /&gt;        &amp;#47;&amp;#47;&amp;#47; &amp;#60;summary&amp;#62;&lt;br /&gt;        &amp;#47;&amp;#47;&amp;#47; Uses the UDDI to query a UDDI server for end point info.  Will&lt;br /&gt;        &amp;#47;&amp;#47;&amp;#47; check for either custom bindings that represent config, or will look&lt;br /&gt;        &amp;#47;&amp;#47;&amp;#47; for ESB UDDI category keys.&lt;br /&gt;        &amp;#47;&amp;#47;&amp;#47; &amp;#60;&amp;#47;summary&amp;#62;&lt;br /&gt;        &amp;#47;&amp;#47;&amp;#47; &amp;#60;param name&amp;#61;&amp;#34;config&amp;#34;&amp;#62;resolver configuration passed as argument&amp;#60;&amp;#47;param&amp;#62;&lt;br /&gt;        &amp;#47;&amp;#47;&amp;#47; &amp;#60;param name&amp;#61;&amp;#34;resolver&amp;#34;&amp;#62;name of Resolver&amp;#60;&amp;#47;param&amp;#62;&lt;br /&gt;        &amp;#47;&amp;#47;&amp;#47; &amp;#60;param name&amp;#61;&amp;#34;message&amp;#34;&amp;#62;XML Document of message&amp;#60;&amp;#47;param&amp;#62;&lt;br /&gt;        &amp;#47;&amp;#47;&amp;#47; &amp;#60;returns&amp;#62;Populated Dictionary Object&amp;#60;&amp;#47;returns&amp;#62;&lt;br /&gt;        public Dictionary&amp;#60;string, string&amp;#62; Resolve&amp;#40;string config, string resolver, XmlDocument message&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            &amp;#35;region Argument Check&lt;br /&gt;            if &amp;#40;String.IsNullOrEmpty&amp;#40;config&amp;#41;&amp;#41;&lt;br /&gt;                throw new ArgumentNullException&amp;#40;&amp;#34;config&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;            if &amp;#40;String.IsNullOrEmpty&amp;#40;resolver&amp;#41;&amp;#41;&lt;br /&gt;                throw new ArgumentNullException&amp;#40;&amp;#34;resolver&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;            &amp;#35;endregion Argument Check&lt;br /&gt;&lt;br /&gt;            Resolution resolution &amp;#61; new Resolution&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;            &amp;#47;&amp;#47;Modified by Miguel Telleria&lt;br /&gt;            bool redo &amp;#61; false&amp;#59;&lt;br /&gt;            int maxRetries &amp;#61; 3&amp;#59;&lt;br /&gt;            int retries &amp;#61; 0&amp;#59;&lt;br /&gt;            Dictionary&amp;#60;string, string&amp;#62; output &amp;#61; null&amp;#59;&lt;br /&gt;            Hashtable uddiClientConfigHash &amp;#61; &amp;#40;Hashtable&amp;#41;ConfigurationManager.GetSection&amp;#40;&amp;#34;ESBProcessor&amp;#47;UDDIClientConfig&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;            if &amp;#40;uddiClientConfigHash.ContainsKey&amp;#40;&amp;#34;Retries&amp;#34;&amp;#41;&amp;#41;&lt;br /&gt;                maxRetries &amp;#61; int.Parse&amp;#40;uddiClientConfigHash&amp;#91;&amp;#34;Retries&amp;#34;&amp;#93;.ToString&amp;#40;&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;            do&lt;br /&gt;                &amp;#47;&amp;#47;End Modification&lt;br /&gt;            try&lt;br /&gt;            &amp;#123;&lt;br /&gt;                &amp;#47;&amp;#47; resolve with uddi and return dictionary&lt;br /&gt;                output &amp;#61; ResolveUddi&amp;#40;config, resolver, resolution&amp;#41;&amp;#59;&lt;br /&gt;                redo &amp;#61; false&amp;#59;&lt;br /&gt;            &amp;#125;&lt;br /&gt;            catch &amp;#40;System.Exception ex&amp;#41;&lt;br /&gt;            &amp;#123;&lt;br /&gt;                EventLogger.Write&amp;#40;MethodInfo.GetCurrentMethod&amp;#40;&amp;#41;, ex&amp;#41;&amp;#59;&lt;br /&gt;                redo &amp;#61; true&amp;#59;&lt;br /&gt;                &amp;#43;&amp;#43;retries&amp;#59;&lt;br /&gt;                if &amp;#40;retries &amp;#62;&amp;#61; maxRetries&amp;#41;&lt;br /&gt;                &amp;#123;&lt;br /&gt;                    throw&amp;#59;&lt;br /&gt;                &amp;#125;&lt;br /&gt;            &amp;#125;&lt;br /&gt;            &amp;#47;&amp;#47;catch &amp;#40;System.Exception ex&amp;#41;&lt;br /&gt;            &amp;#47;&amp;#47;&amp;#123;&lt;br /&gt;            &amp;#47;&amp;#47;    EventLogger.Write&amp;#40;MethodInfo.GetCurrentMethod&amp;#40;&amp;#41;, ex&amp;#41;&amp;#59;&lt;br /&gt;            &amp;#47;&amp;#47;    throw&amp;#59;&lt;br /&gt;            &amp;#47;&amp;#47;&amp;#125;&lt;br /&gt;            while &amp;#40;redo &amp;#38;&amp;#38; retries &amp;#60; maxRetries&amp;#41;&amp;#59;&lt;br /&gt;        return output&amp;#59;&lt;br /&gt;        &amp;#125;&lt;br /&gt;&lt;br /&gt;        &amp;#47;&amp;#47;&amp;#47; &amp;#60;summary&amp;#62;&lt;br /&gt;        &amp;#47;&amp;#47;&amp;#47; Uses the UDDI to query a UDDI server for end point info.  Will&lt;br /&gt;        &amp;#47;&amp;#47;&amp;#47; check for either custom bindings that represent config, or will look&lt;br /&gt;        &amp;#47;&amp;#47;&amp;#47; for ESB UDDI category keys.&lt;br /&gt;        &amp;#47;&amp;#47;&amp;#47; &amp;#60;&amp;#47;summary&amp;#62;&lt;br /&gt;        &amp;#47;&amp;#47;&amp;#47; &amp;#60;param name&amp;#61;&amp;#34;resolverInfo&amp;#34;&amp;#62;Configuration string containing config and resolver&amp;#60;&amp;#47;param&amp;#62;&lt;br /&gt;        &amp;#47;&amp;#47;&amp;#47; &amp;#60;param name&amp;#61;&amp;#34;message&amp;#34;&amp;#62;XLANGMessage passed from orchestration&amp;#60;&amp;#47;param&amp;#62;&lt;br /&gt;        &amp;#47;&amp;#47;&amp;#47; &amp;#60;returns&amp;#62;Dictionary object fully populated&amp;#60;&amp;#47;returns&amp;#62;&lt;br /&gt;        public Dictionary&amp;#60;string, string&amp;#62; Resolve&amp;#40;ResolverInfo resolverInfo, XLANGMessage message&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            &amp;#35;region Argument Check&lt;br /&gt;            if &amp;#40;null &amp;#61;&amp;#61; message&amp;#41;&lt;br /&gt;                throw new ArgumentNullException&amp;#40;&amp;#34;message&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;            &amp;#35;endregion Argument Check&lt;br /&gt;&lt;br /&gt;            &amp;#47;&amp;#47; Resolve the params from arguments by creating&lt;br /&gt;            &amp;#47;&amp;#47; class from schema, and storing the results&lt;br /&gt;            Resolution resolution &amp;#61; new Resolution&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;            &amp;#47;&amp;#47;Modified by Miguel Telleria&lt;br /&gt;            bool redo &amp;#61; false&amp;#59;&lt;br /&gt;            int maxRetries &amp;#61; 3&amp;#59;&lt;br /&gt;            int retries &amp;#61; 0&amp;#59;&lt;br /&gt;            Dictionary&amp;#60;string, string&amp;#62; output &amp;#61; null&amp;#59;&lt;br /&gt;&lt;br /&gt;            Hashtable uddiClientConfigHash &amp;#61; &amp;#40;Hashtable&amp;#41;ConfigurationManager.GetSection&amp;#40;&amp;#34;ESBProcessor&amp;#47;UDDIClientConfig&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;            if &amp;#40;uddiClientConfigHash.ContainsKey&amp;#40;&amp;#34;Retries&amp;#34;&amp;#41;&amp;#41;&lt;br /&gt;                maxRetries &amp;#61; int.Parse&amp;#40;uddiClientConfigHash&amp;#91;&amp;#34;Retries&amp;#34;&amp;#93;.ToString&amp;#40;&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;            do&lt;br /&gt;                &amp;#47;&amp;#47;End Modification&lt;br /&gt;                try&lt;br /&gt;                &amp;#123;&lt;br /&gt;                    &amp;#47;&amp;#47; Populate context&lt;br /&gt;                    ResolverMgr.SetContext&amp;#40;resolution, message&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;                    &amp;#47;&amp;#47; resolve with UDDI and return dictionary&lt;br /&gt;                    output &amp;#61; ResolveUddi&amp;#40;resolverInfo.Config, resolverInfo.Resolver, resolution&amp;#41;&amp;#59;&lt;br /&gt;                    redo &amp;#61; false&amp;#59;&lt;br /&gt;                &amp;#125;&lt;br /&gt;                catch &amp;#40;System.Exception ex&amp;#41;&lt;br /&gt;                &amp;#123;&lt;br /&gt;                    EventLogger.Write&amp;#40;MethodInfo.GetCurrentMethod&amp;#40;&amp;#41;, ex&amp;#41;&amp;#59;&lt;br /&gt;                    redo &amp;#61; true&amp;#59;&lt;br /&gt;                    &amp;#43;&amp;#43;retries&amp;#59;&lt;br /&gt;                    if &amp;#40;retries &amp;#62;&amp;#61; maxRetries&amp;#41;&lt;br /&gt;                    &amp;#123;&lt;br /&gt;                        &amp;#47;&amp;#47;Finally&lt;br /&gt;                        if &amp;#40;null &amp;#33;&amp;#61; resolution&amp;#41;&lt;br /&gt;                            resolution &amp;#61; null&amp;#59;&lt;br /&gt;                        throw&amp;#59;&lt;br /&gt;                    &amp;#125; &lt;br /&gt;                &amp;#125;&lt;br /&gt;                &amp;#47;&amp;#47;catch &amp;#40;System.Exception ex&amp;#41;&lt;br /&gt;                &amp;#47;&amp;#47;&amp;#123;&lt;br /&gt;                &amp;#47;&amp;#47;    &amp;#47;&amp;#47;Finally&lt;br /&gt;                &amp;#47;&amp;#47;    if &amp;#40;null &amp;#33;&amp;#61; resolution&amp;#41;&lt;br /&gt;                &amp;#47;&amp;#47;        resolution &amp;#61; null&amp;#59;&lt;br /&gt;                &amp;#47;&amp;#47;    EventLogger.Write&amp;#40;MethodInfo.GetCurrentMethod&amp;#40;&amp;#41;, ex&amp;#41;&amp;#59;&lt;br /&gt;                &amp;#47;&amp;#47;    throw&amp;#59;&lt;br /&gt;                &amp;#47;&amp;#47;&amp;#125;&lt;br /&gt;            while &amp;#40;redo &amp;#38;&amp;#38; retries &amp;#60; maxRetries&amp;#41;&amp;#59;&lt;br /&gt;            &amp;#47;&amp;#47;Finally&lt;br /&gt;            if &amp;#40;null &amp;#33;&amp;#61; resolution&amp;#41;&lt;br /&gt;                resolution &amp;#61; null&amp;#59;&lt;br /&gt;            return output&amp;#59;&lt;br /&gt;        &amp;#125;&lt;br /&gt;&lt;br /&gt;&amp;#8226;&amp;#9;In the procedure &amp;#8220;ResolveUddi&amp;#8221; &lt;br /&gt;I have added the lines below, this lines set the Security mode for the UDDI proxy client&lt;br /&gt;&lt;br /&gt;    &amp;#47;&amp;#47;Get Security Mode Config&lt;br /&gt;                    &amp;#47;&amp;#47;Modified by Miguel Telleria&lt;br /&gt;                    Hashtable uddiClientConfigHash &amp;#61; &amp;#40;Hashtable&amp;#41;ConfigurationManager.GetSection&amp;#40;&amp;#34;ESBProcessor&amp;#47;UDDIClientConfig&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                    BasicHttpSecurityMode securityMode &amp;#61; BasicHttpSecurityMode.TransportCredentialOnly&amp;#59;&lt;br /&gt;                    if &amp;#40;uddiClientConfigHash.ContainsKey&amp;#40;&amp;#34;BasicHttpSecurityMode&amp;#34;&amp;#41;&amp;#41;&lt;br /&gt;                    &amp;#123;&lt;br /&gt;                        string value &amp;#61; &amp;#40;&amp;#40;string&amp;#41;uddiClientConfigHash&amp;#91;&amp;#34;BasicHttpSecurityMode&amp;#34;&amp;#93;&amp;#41;.Trim&amp;#40;&amp;#41;.ToUpper&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;                        switch &amp;#40;value&amp;#41;&lt;br /&gt;                        &amp;#123;&lt;br /&gt;                            case &amp;#34;TRANSPORTCREDENTIALONLY&amp;#34;&amp;#58;&lt;br /&gt;                                securityMode &amp;#61; BasicHttpSecurityMode.TransportCredentialOnly&amp;#59;&lt;br /&gt;                                break&amp;#59;&lt;br /&gt;                            case &amp;#34;TRANSPORTWITHMESSAGECREDENTIAL&amp;#34;&amp;#58;&lt;br /&gt;                                securityMode &amp;#61; BasicHttpSecurityMode.TransportWithMessageCredential&amp;#59;&lt;br /&gt;                                break&amp;#59;&lt;br /&gt;                            case &amp;#34;TRANSPORT&amp;#34;&amp;#58;&lt;br /&gt;                                securityMode &amp;#61; BasicHttpSecurityMode.Transport&amp;#59;&lt;br /&gt;                                break&amp;#59;&lt;br /&gt;                            case &amp;#34;NONE&amp;#34;&amp;#58;&lt;br /&gt;                                securityMode &amp;#61; BasicHttpSecurityMode.None&amp;#59;&lt;br /&gt;                                break&amp;#59;&lt;br /&gt;                            case &amp;#34;MESSAGE&amp;#34;&amp;#58;&lt;br /&gt;                                securityMode &amp;#61; BasicHttpSecurityMode.Message&amp;#59;&lt;br /&gt;                                break&amp;#59;&lt;br /&gt;                            default&amp;#58;&lt;br /&gt;                                securityMode &amp;#61; BasicHttpSecurityMode.TransportCredentialOnly&amp;#59;&lt;br /&gt;                                break&amp;#59;&lt;br /&gt;                        &amp;#125;&lt;br /&gt;                    &amp;#125;&lt;br /&gt;                    &amp;#47;&amp;#47;End Modification&lt;br /&gt;                    &lt;br /&gt;The Class&amp;#58;  Microsoft.Practices.ESB.Core.UDDIClient&lt;br /&gt;&lt;br /&gt;&amp;#8226;&amp;#9;In the creation of the instance UddiClient I have added all the rest of the config parameters like timeouts&amp;#8230;.&lt;br /&gt;&amp;#47;&amp;#47;Get the UDDI client Config&lt;br /&gt;                &amp;#47;&amp;#47;Modified by Miguel Telleria&lt;br /&gt;                Hashtable uddiClientConfigHash &amp;#61; &amp;#40;Hashtable&amp;#41;ConfigurationManager.GetSection&amp;#40;&amp;#34;ESBProcessor&amp;#47;UDDIClientConfig&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                if &amp;#40;uddiClientConfigHash.ContainsKey&amp;#40;&amp;#34;sendTimeout&amp;#34;&amp;#41;&amp;#41;&lt;br /&gt;                    binding.SendTimeout &amp;#61; new TimeSpan&amp;#40;0, 0, int.Parse&amp;#40;uddiClientConfigHash&amp;#91;&amp;#34;sendTimeout&amp;#34;&amp;#93;.ToString&amp;#40;&amp;#41;&amp;#41; &amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;                if &amp;#40;uddiClientConfigHash.ContainsKey&amp;#40;&amp;#34;recieveTimeout&amp;#34;&amp;#41;&amp;#41;&lt;br /&gt;                    binding.ReceiveTimeout &amp;#61; new TimeSpan&amp;#40;0, 0, int.Parse&amp;#40;uddiClientConfigHash&amp;#91;&amp;#34;recieveTimeout&amp;#34;&amp;#93;.ToString&amp;#40;&amp;#41;&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;                if &amp;#40;uddiClientConfigHash.ContainsKey&amp;#40;&amp;#34;openTimeout&amp;#34;&amp;#41;&amp;#41;&lt;br /&gt;                    binding.OpenTimeout &amp;#61; new TimeSpan&amp;#40;0, 0, int.Parse&amp;#40;uddiClientConfigHash&amp;#91;&amp;#34;openTimeout&amp;#34;&amp;#93;.ToString&amp;#40;&amp;#41;&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;                if &amp;#40;uddiClientConfigHash.ContainsKey&amp;#40;&amp;#34;closeTimeout&amp;#34;&amp;#41;&amp;#41;&lt;br /&gt;                    binding.CloseTimeout &amp;#61; new TimeSpan&amp;#40;0, 0, int.Parse&amp;#40;uddiClientConfigHash&amp;#91;&amp;#34;closeTimeout&amp;#34;&amp;#93;.ToString&amp;#40;&amp;#41;&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;                if &amp;#40;uddiClientConfigHash.ContainsKey&amp;#40;&amp;#34;maxBufferPoolSize&amp;#34;&amp;#41;&amp;#41;&lt;br /&gt;                    binding.MaxBufferPoolSize &amp;#61; long.Parse&amp;#40;uddiClientConfigHash&amp;#91;&amp;#34;maxBufferPoolSize&amp;#34;&amp;#93;.ToString&amp;#40;&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;                if &amp;#40;uddiClientConfigHash.ContainsKey&amp;#40;&amp;#34;maxRecievedMessageSize&amp;#34;&amp;#41;&amp;#41;&lt;br /&gt;                    binding.MaxReceivedMessageSize &amp;#61; long.Parse&amp;#40;uddiClientConfigHash&amp;#91;&amp;#34;maxRecievedMessageSize&amp;#34;&amp;#93;.ToString&amp;#40;&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;                if &amp;#40;uddiClientConfigHash.ContainsKey&amp;#40;&amp;#34;maxBufferSize&amp;#34;&amp;#41;&amp;#41;&lt;br /&gt;                    binding.MaxBufferSize &amp;#61; int.Parse&amp;#40;uddiClientConfigHash&amp;#91;&amp;#34;maxBufferSize&amp;#34;&amp;#93;.ToString&amp;#40;&amp;#41;&amp;#41;&amp;#59;                &lt;br /&gt;                &lt;br /&gt;                &amp;#47;&amp;#47;End Modification&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To add this new uddi resolver for ESB you need to install the new dlls in the GAC.&lt;br /&gt;Also to customize all the possible config parameters you will need to modify the machine config &amp;#40;C&amp;#58;&amp;#92;WINDOWS&amp;#92;Microsoft.NET&amp;#92;Framework&amp;#92;v2.0.50727&amp;#92;CONFIG&amp;#41;&amp;#58;&lt;br /&gt;&lt;br /&gt;Add the lines at the beginning of the file&amp;#58;&lt;br /&gt;&lt;br /&gt;  &amp;#60;configSections&amp;#62;&lt;br /&gt;    &amp;#60;sectionGroup name&amp;#61;&amp;#34;ESBProcessor&amp;#34;&amp;#62;&lt;br /&gt;      &amp;#60;section name&amp;#61;&amp;#34;Resolver&amp;#34; type&amp;#61;&amp;#34;System.Configuration.DictionarySectionHandler,&amp;#38;&amp;#35;xD&amp;#59;&amp;#38;&amp;#35;xA&amp;#59;                 System,Version&amp;#61;2.0.0.0,Culture&amp;#61;neutral,&amp;#38;&amp;#35;xD&amp;#59;&amp;#38;&amp;#35;xA&amp;#59;                 PublicKeyToken&amp;#61;b77a5c561934e089&amp;#34; &amp;#47;&amp;#62;&lt;br /&gt;      &amp;#60;section name&amp;#61;&amp;#34;AdapterProvider&amp;#34; type&amp;#61;&amp;#34;System.Configuration.DictionarySectionHandler,&amp;#38;&amp;#35;xD&amp;#59;&amp;#38;&amp;#35;xA&amp;#59;                 System,Version&amp;#61;2.0.0.0,Culture&amp;#61;neutral,&amp;#38;&amp;#35;xD&amp;#59;&amp;#38;&amp;#35;xA&amp;#59;                 PublicKeyToken&amp;#61;b77a5c561934e089&amp;#34; &amp;#47;&amp;#62;&lt;br /&gt;      &amp;#60;section name&amp;#61;&amp;#34;ItineraryCache&amp;#34; type&amp;#61;&amp;#34;System.Configuration.DictionarySectionHandler,&amp;#38;&amp;#35;xD&amp;#59;&amp;#38;&amp;#35;xA&amp;#59;                 System,Version&amp;#61;2.0.0.0,Culture&amp;#61;neutral,&amp;#38;&amp;#35;xD&amp;#59;&amp;#38;&amp;#35;xA&amp;#59;                 PublicKeyToken&amp;#61;b77a5c561934e089&amp;#34; &amp;#47;&amp;#62;&lt;br /&gt;      &amp;#60;section name&amp;#61;&amp;#34;Cache&amp;#34; type&amp;#61;&amp;#34;System.Configuration.DictionarySectionHandler,&amp;#38;&amp;#35;xD&amp;#59;&amp;#38;&amp;#35;xA&amp;#59;                 System,Version&amp;#61;2.0.0.0,Culture&amp;#61;neutral,&amp;#38;&amp;#35;xD&amp;#59;&amp;#38;&amp;#35;xA&amp;#59;                 PublicKeyToken&amp;#61;b77a5c561934e089&amp;#34; &amp;#47;&amp;#62;&lt;br /&gt;      &amp;#60;section name&amp;#61;&amp;#34;UDDIClientConfig&amp;#34; type&amp;#61;&amp;#34;System.Configuration.DictionarySectionHandler,&amp;#38;&amp;#35;xD&amp;#59;&amp;#38;&amp;#35;xA&amp;#59;                 System,Version&amp;#61;2.0.0.0,Culture&amp;#61;neutral,&amp;#38;&amp;#35;xD&amp;#59;&amp;#38;&amp;#35;xA&amp;#59;                 PublicKeyToken&amp;#61;b77a5c561934e089&amp;#34; &amp;#47;&amp;#62;&lt;br /&gt;    &amp;#60;&amp;#47;sectionGroup&amp;#62;&lt;br /&gt;&lt;br /&gt;Modify this line below, and add the other one. Please check if the public token key is different and add the new one&lt;br /&gt;&lt;br /&gt;&amp;#60;ESBProcessor&amp;#62;&lt;br /&gt;    &amp;#60;Resolver&amp;#62;&lt;br /&gt;      &amp;#60;&amp;#33;-- &amp;#60;add key&amp;#61;&amp;#34;UDDI&amp;#34; value&amp;#61;&amp;#34;Microsoft.Practices.ESB.Resolver.UDDI,  &amp;#38;&amp;#35;xD&amp;#59;&amp;#38;&amp;#35;xA&amp;#59;                Version&amp;#61;1.0.0.0, &lt;br /&gt;Culture&amp;#61;neutral,&amp;#38;&amp;#35;xD&amp;#59;&amp;#38;&amp;#35;xA&amp;#59;                PublicKeyToken&amp;#61;31bf3856ad364e35&amp;#34; &amp;#47;&amp;#62; --&amp;#62;  &amp;#40;The old one&amp;#41;&lt;br /&gt;      &amp;#60;add key&amp;#61;&amp;#34;UDDI&amp;#34; value&amp;#61;&amp;#34;Microsoft.Practices.ESB.Resolver.UDDI, Version&amp;#61;1.0.0.0, Culture&amp;#61;neutral, PublicKeyToken&amp;#61;31bf3856ad364e00&amp;#34; &amp;#47;&amp;#62; &amp;#40;The new One&amp;#41;&lt;br /&gt;&amp;#60;&amp;#47;ESBProcessor&amp;#62;&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;&lt;br /&gt;Also add these lines at the end of the file&amp;#58;&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;    &amp;#60;ItineraryCache&amp;#62;&lt;br /&gt;      &amp;#60;add key&amp;#61;&amp;#34;timeout&amp;#34; value&amp;#61;&amp;#34;120&amp;#34; &amp;#47;&amp;#62;&lt;br /&gt;    &amp;#60;&amp;#47;ItineraryCache&amp;#62;&lt;br /&gt;    &amp;#60;Cache&amp;#62;&lt;br /&gt;      &amp;#60;add key&amp;#61;&amp;#34;UDDI&amp;#34; value&amp;#61;&amp;#34;600&amp;#34; &amp;#47;&amp;#62;&lt;br /&gt;      &amp;#60;add key&amp;#61;&amp;#34;WSMEX&amp;#34; value&amp;#61;&amp;#34;600&amp;#34; &amp;#47;&amp;#62;&lt;br /&gt;    &amp;#60;&amp;#47;Cache&amp;#62;&lt;br /&gt;&lt;br /&gt;    &amp;#60;UDDIClientConfig&amp;#62;&lt;br /&gt;      &amp;#60;add key&amp;#61;&amp;#34;sendTimeout&amp;#34; value&amp;#61;&amp;#34;60&amp;#34; &amp;#47;&amp;#62; &amp;#60;&amp;#33;-- in seconds --&amp;#62;&lt;br /&gt;      &amp;#60;add key&amp;#61;&amp;#34;recieveTimeout&amp;#34; value&amp;#61;&amp;#34;600&amp;#34; &amp;#47;&amp;#62; &amp;#60;&amp;#33;-- in seconds --&amp;#62;&lt;br /&gt;      &amp;#60;add key&amp;#61;&amp;#34;openTimeout&amp;#34; value&amp;#61;&amp;#34;60&amp;#34; &amp;#47;&amp;#62; &amp;#60;&amp;#33;-- in seconds --&amp;#62;&lt;br /&gt;      &amp;#60;add key&amp;#61;&amp;#34;closeTimeout&amp;#34; value&amp;#61;&amp;#34;60&amp;#34; &amp;#47;&amp;#62; &amp;#60;&amp;#33;-- in seconds --&amp;#62;&lt;br /&gt;&lt;br /&gt;      &amp;#60;&amp;#33;-- Values for BasicHttpSecurityMode &amp;#58; TransportCredentialOnly,TransportWithMessageCredential,Transport,None,Message --&amp;#62;&lt;br /&gt;      &amp;#60;add key&amp;#61;&amp;#34;BasicHttpSecurityMode&amp;#34; value&amp;#61;&amp;#34;TransportCredentialOnly&amp;#34; &amp;#47;&amp;#62; &lt;br /&gt;&lt;br /&gt;      &amp;#60;add key&amp;#61;&amp;#34;Retries&amp;#34; value&amp;#61;&amp;#34;3&amp;#34; &amp;#47;&amp;#62;&lt;br /&gt;      &amp;#60;add key&amp;#61;&amp;#34;maxBufferPoolSize&amp;#34; value&amp;#61;&amp;#34;524288&amp;#34; &amp;#47;&amp;#62;&lt;br /&gt;      &amp;#60;add key&amp;#61;&amp;#34;maxBufferSize&amp;#34; value&amp;#61;&amp;#34;65536&amp;#34; &amp;#47;&amp;#62;&lt;br /&gt;      &amp;#60;add key&amp;#61;&amp;#34;maxRecievedMessageSize&amp;#34; value&amp;#61;&amp;#34;65536&amp;#34; &amp;#47;&amp;#62;&lt;br /&gt;    &amp;#60;&amp;#47;UDDIClientConfig&amp;#62;&lt;br /&gt;  &amp;#60;&amp;#47;ESBProcessor&amp;#62;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And thats all to create a configurable uddi resolver for ESB.&lt;br /&gt;</description><author>mtelleria</author><pubDate>Thu, 21 Aug 2008 11:38:56 GMT</pubDate><guid isPermaLink="false">Created Issue: UDDI resolver timeouts (not configurable UDDI Client) 20080821113856A</guid></item><item><title>New Post: ESB Guidance Webcast next Friday (May 9th 2008)</title><link>http://www.codeplex.com/esb/Thread/View.aspx?ThreadId=27069</link><description>&lt;div style="line-height: normal;"&gt;Kallol,&lt;br&gt;
&lt;br&gt;
I am wanting to do something about an end-to-end implementation including governance (per my recent post) as I feel it's really imnportant and that the community here would be interested in it, but my current challenge is my travel schedule. I have 2 days at home in this 30 day period. After that it &amp;quot;settles down&amp;quot; to &amp;quot;only&amp;quot; about 70% travel the following month. It's not all bad, as some of that is really cool vacation time, however it severely limits my abilitity to commit to things like webcasts.&lt;br&gt;
&lt;br&gt;
As soon as more stability returns though, I will do my best to make one happen.&lt;br&gt;
&amp;nbsp;&lt;br&gt;
Brian Loesgen, Neudesic&lt;br&gt;
&lt;a href="http://geekswithblogs.com/bloesgen"&gt;http://geekswithblogs.com/bloesgen&lt;/a&gt;&lt;br&gt;
&lt;/div&gt;</description><author>BrianLoesgen</author><pubDate>Wed, 20 Aug 2008 18:32:44 GMT</pubDate><guid isPermaLink="false">New Post: ESB Guidance Webcast next Friday (May 9th 2008) 20080820063244P</guid></item><item><title>New Post: ESB Guidance Itinerary On ramp Service from Java Client</title><link>http://www.codeplex.com/esb/Thread/View.aspx?ThreadId=31529</link><description>&lt;div style="line-height: normal;"&gt;Finally managed to get it going. We have used Axis framework (wsdl2java tool) to create proxy of onramp service.&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;</description><author>Sujesh</author><pubDate>Tue, 19 Aug 2008 10:10:29 GMT</pubDate><guid isPermaLink="false">New Post: ESB Guidance Itinerary On ramp Service from Java Client 20080819101029A</guid></item><item><title>New Post: ESB Guidance Webcast next Friday (May 9th 2008)</title><link>http://www.codeplex.com/esb/Thread/View.aspx?ThreadId=27069</link><description>&lt;div style="line-height: normal;"&gt;Brian,&lt;br&gt;
&lt;br&gt;
When is your next webcast on guidance happening? Sometime soon pls :-)&lt;br&gt;
&lt;br&gt;
Regards,&lt;br&gt;
Kallol
&lt;/div&gt;</description><author>shortwire</author><pubDate>Wed, 13 Aug 2008 14:03:57 GMT</pubDate><guid isPermaLink="false">New Post: ESB Guidance Webcast next Friday (May 9th 2008) 20080813020357P</guid></item><item><title>New Post: Security in ESB Guidance</title><link>http://www.codeplex.com/esb/Thread/View.aspx?ThreadId=32891</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Kallol:&lt;/p&gt;
&lt;p&gt;You could use different maps for the different endpoints, only sending them each the subset of the employee data that they need.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
Brian Loesgen, Neudesic &lt;br&gt;
&lt;a href="http://geekswithblogs.net/bloesgen"&gt;http://geekswithblogs.net/bloesgen&lt;/a&gt;
&lt;/div&gt;</description><author>BrianLoesgen</author><pubDate>Fri, 08 Aug 2008 22:19:14 GMT</pubDate><guid isPermaLink="false">New Post: Security in ESB Guidance 20080808101914P</guid></item><item><title>New Post: Security in ESB Guidance</title><link>http://www.codeplex.com/esb/Thread/View.aspx?ThreadId=32891</link><description>&lt;div style="line-height: normal;"&gt;Hello,&lt;br&gt;
&lt;br&gt;
I have a requirement where two interfaces want the employee data. But one of them should not be shown the address of the employee. That means for each message, the interface should be authorized to receive its contents.&lt;br&gt;
Can you please let me know how to implement this using the guidance package. I need a small write (about 5-6 sentences) on how guidance package can address this. This is for responding to a customer query.&lt;br&gt;
&lt;br&gt;
Thx in anticipation.&lt;br&gt;
&lt;br&gt;
Regards,&lt;br&gt;
Kallol
&lt;/div&gt;</description><author>shortwire</author><pubDate>Tue, 05 Aug 2008 02:47:43 GMT</pubDate><guid isPermaLink="false">New Post: Security in ESB Guidance 20080805024743A</guid></item><item><title>New Post: Using SOA Software with Microsoft's ESB Guidance </title><link>http://www.codeplex.com/esb/Thread/View.aspx?ThreadId=32818</link><description>&lt;div style="line-height: normal;"&gt;&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-family:Calibri"&gt;Although I haven’t seen any traffic here concerning SOA Governance as it relates to Microsoft's ESB Guidance, I have had a few people ask me about it (and I get lots of “oooos” and “ahhhhhhs” when I demo it &lt;/span&gt;&lt;span style="font-family:Wingdings"&gt;J&lt;/span&gt;&lt;span style="font-family:Calibri"&gt;), so, I thought I’d post something here for the benefit of people that are interested in this and may not be sure how it integrates. I’d drawing these comments from the real-world project I am on, which is a country-scale ESB based on Microsoft’s ESB Guidance.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-family:Calibri"&gt;We are using SOA Software’s Service Manager product to do policy-based security and monitoring. We need to do complete end-to-end, meaning we want to secure and monitor on-ramps (messages coming in to the ESB) as well as off-ramps (services being invoked from the ESB).&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-family:Calibri"&gt;So, how did we do this?&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-family:Calibri"&gt;A couple of the challenges we faced:&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt 0.5in"&gt;&lt;span style="font-family:Symbol"&gt;&lt;span&gt;·&lt;span style="font:7pt 'Times New Roman'"&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 style="font-family:Calibri"&gt;The ESB Guidance does include a SOA Software integration pipeline component, however the component is for monitoring only, so it was not applicable to our need&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 10pt 0.5in"&gt;&lt;span style="font-family:Symbol"&gt;&lt;span&gt;·&lt;span style="font:7pt 'Times New Roman'"&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 style="font-family:Calibri"&gt;We are building an infrastructure project, the services we will be calling (request response, one-way or async) are not going to be under our control. How do you manage something that is not under your control?&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-family:Calibri"&gt;For the first challenge, SOA Software has an IIS “Management Point” that is effectively an agent that sits on your IIS box and will auto-magically manage any services deployed there (great if you’re in an environment with “cowboy developers” and have loose deployment processes &lt;/span&gt;&lt;span style="font-family:Wingdings"&gt;J&lt;/span&gt;&lt;span style="font-family:Calibri"&gt;). However, it only manages ASMX-based services. As everything we’re doing will be WS-* compliant using the WCF on-ramps, this was not an option. Working with SOA Software, we are now using a WCF Management Point which will be in a soon-to-be-released product offering. By setting the binding on the on-ramp, we are able to monitor and manage it.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-family:Calibri"&gt;For the second challenge, the functionality was already there. Service Manager supports the notion of “service virtualization”. You feed it the WSDL of a service, and it creates a proxy for you. That proxy sits in our infrastructure, and runs inside a management point container, so we are able to do all the governance we need at this level. I was initially concerned about the latency cost of introducing an extra hop, however early indications are that the latency impact is neglible, and the cost is well worth the benefits we gain.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-family:Calibri"&gt;Those are just a couple of the challenges we faced, there are more. The guys at SOA have been great to work with and have been very responsive to our needs. We’re not done yet, but so far it looks like Service Manager will be adding significant value to the project.&lt;/span&gt;&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;</description><author>BrianLoesgen</author><pubDate>Sun, 03 Aug 2008 16:25:42 GMT</pubDate><guid isPermaLink="false">New Post: Using SOA Software with Microsoft's ESB Guidance  20080803042542P</guid></item><item><title>New Post: Trying to run the scatter sample and received an error.</title><link>http://www.codeplex.com/esb/Thread/View.aspx?ThreadId=23826</link><description>&lt;div style="line-height: normal;"&gt;Ryan,&lt;br&gt;
&lt;br&gt;
You're talking about the ResolverService sample, right?&lt;br&gt;
&lt;br&gt;
The serviceKey is created dynamically by UDDI when the service is published. You will need to edit the ResolverList.xml to reflect the service keys that were created when the service was published on your machine.&lt;br&gt;
&lt;br&gt;
Brian Loesgen, Neudesic&lt;br&gt;
&lt;a href="http://geekswithblogs.net/bloesgen"&gt;http://geekswithblogs.net/bloesgen&lt;br&gt;
&lt;/a&gt;&lt;br&gt;
&lt;/div&gt;</description><author>BrianLoesgen</author><pubDate>Wed, 30 Jul 2008 18:51:36 GMT</pubDate><guid isPermaLink="false">New Post: Trying to run the scatter sample and received an error. 20080730065136P</guid></item><item><title>New Post: Trying to run the scatter sample and received an error.</title><link>http://www.codeplex.com/esb/Thread/View.aspx?ThreadId=23826</link><description>&lt;div style="line-height: normal;"&gt;Brian;&lt;br&gt;
&lt;br&gt;
I am getting the same error as above with the UDDI stuff.&lt;br&gt;
I fixed the treenode thing; but still get the error of no service found.&lt;br&gt;
Looking at my Resolvers.xml it shows the same as above, and also the service ids in my uddi are different.&lt;br&gt;
&lt;br&gt;
How do i fix this problem?&lt;br&gt;
&lt;br&gt;
Thanks&lt;br&gt;
Ryan&lt;br&gt;
&lt;/div&gt;</description><author>ryancrawcour</author><pubDate>Wed, 30 Jul 2008 18:11:50 GMT</pubDate><guid isPermaLink="false">New Post: Trying to run the scatter sample and received an error. 20080730061150P</guid></item><item><title>New Post: Is there a way to easy detect errors for SubmitRequestResponse call</title><link>http://www.codeplex.com/esb/Thread/View.aspx?ThreadId=31744</link><description>&lt;div style="line-height: normal;"&gt;&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-family:Calibri"&gt;Nice question Gary &amp;nbsp;&lt;/span&gt;&lt;span style="font-family:Wingdings"&gt;J&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-family:Calibri"&gt;If we were talking about an orchestration published as a Web service, the normal way to report an error would be to add a Fault message (type string usually) at the orchestration port and the fault would automatically get returned to the caller as a SOAP fault.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-family:Calibri"&gt;However, I just tried doing that, and I get correlation set initialization errors. Without looking deeper, my theory is that this is due to the fact that the fault message is a simple type (string). What this means is that I cannot get the response back to the on-ramp using this technique.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-family:Calibri"&gt;So, one way you could handle this is to add more smarts at the on-ramp so that it knows that something failed, and have the on-ramp throw an exception which would be returned to the caller as a SOAP fault. Remember, nothing says you can only have one on-ramp. In fact, for the Jordan project, we will have several, because different on-ramps will have different security and monitoring policies assigned to them.&lt;br&gt;
&lt;br&gt;
HTH,&lt;br&gt;
&lt;br&gt;
Brian Loesgen, Neudesic&lt;br&gt;
&lt;a href="http://geekswithblogs.net/bloesgen"&gt;http://geekswithblogs.net/bloesgen&lt;/a&gt;&lt;br&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;</description><author>BrianLoesgen</author><pubDate>Wed, 30 Jul 2008 16:31:14 GMT</pubDate><guid isPermaLink="false">New Post: Is there a way to easy detect errors for SubmitRequestResponse call 20080730043114P</guid></item><item><title>Commented Issue: CreateFaultMessage() does not handle '&amp;' in Exceptions (includes Fix)</title><link>http://www.codeplex.com/esb/WorkItem/View.aspx?WorkItemId=6292</link><description>When calling CreateFaultMessage&amp;#40;&amp;#41; from an orchestration exception handle, if the exception description contains the &amp;#39;&amp;#38;&amp;#39; character. An example is the System.Net.Sockets.SocketException from WCF which contains a stack trace description &amp;#39;at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke&amp;#40;MessageData&amp;#38; msgData, Int32 type&amp;#41;&amp;#39; containing the &amp;#39;&amp;#38;&amp;#39; character.&lt;br /&gt;&lt;br /&gt;In such cases, the following error is thrown from CreateFaultMessage&amp;#40;&amp;#41;&amp;#58;&lt;br /&gt;&lt;br /&gt;An error occurred while parsing EntityName. Line 25, position 75. &lt;br /&gt;Source&amp;#58; Microsoft.Practices.ESB.ExceptionHandling.ExceptionMgmt &lt;br /&gt;Method&amp;#58; Microsoft.XLANGs.BaseTypes.XLANGMessage CreateFaultMessage&amp;#40;&amp;#41; &lt;br /&gt;Error Source&amp;#58; System.Xml &lt;br /&gt;Error TargetSite&amp;#58; Void Throw&amp;#40;System.Exception&amp;#41;  &lt;br /&gt;Error StackTrace&amp;#58;    at System.Xml.XmlTextReaderImpl.Throw&amp;#40;Exception e&amp;#41;&lt;br /&gt;   at System.Xml.XmlTextReaderImpl.Throw&amp;#40;String res, String arg&amp;#41;&lt;br /&gt;   at System.Xml.XmlTextReaderImpl.ParseEntityName&amp;#40;&amp;#41;&lt;br /&gt;   at System.Xml.XmlTextReaderImpl.ParseEntityReference&amp;#40;&amp;#41;&lt;br /&gt;   at System.Xml.XmlTextReaderImpl.Read&amp;#40;&amp;#41;&lt;br /&gt;   at System.Xml.XmlLoader.LoadNode&amp;#40;Boolean skipOverWhitespace&amp;#41;&lt;br /&gt;   at System.Xml.XmlLoader.LoadDocSequence&amp;#40;XmlDocument parentDoc&amp;#41;&lt;br /&gt;   at System.Xml.XmlLoader.Load&amp;#40;XmlDocument doc, XmlReader reader, Boolean preserveWhitespace&amp;#41;&lt;br /&gt;   at System.Xml.XmlDocument.Load&amp;#40;XmlReader reader&amp;#41;&lt;br /&gt;   at System.Xml.XmlDocument.LoadXml&amp;#40;String xml&amp;#41;&lt;br /&gt;   at Microsoft.Practices.ESB.ExceptionHandling.ExceptionMgmt.CreateFaultMessage&amp;#40;&amp;#41;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;It occurs in Microsoft.Practices.ESB.ExceptionHandling.ExceptionMgmt.cs Line 50  &amp;#39;xDoc.LoadXml&amp;#40;...&amp;#41;&amp;#39;. My current workaround is to call String.Replace&amp;#40;&amp;#41; on the parameter to strip out the offending characters. Not sure if this is the cleanest way of doing it but it works.&lt;br /&gt;Comments: ** Comment from web user: sshewale ** &lt;p&gt;Good catch. It saved my lots of unfruitful efforts. &amp;#58;&amp;#41;&lt;/p&gt;</description><author>sshewale</author><pubDate>Tue, 29 Jul 2008 11:07:22 GMT</pubDate><guid isPermaLink="false">Commented Issue: CreateFaultMessage() does not handle '&amp;' in Exceptions (includes Fix) 20080729110722A</guid></item><item><title>New Post: Portal Management setup issue</title><link>http://www.codeplex.com/esb/Thread/View.aspx?ThreadId=17986</link><description>&lt;div style="line-height: normal;"&gt;Greyfox;&lt;br&gt;
&lt;br&gt;
Thanks for your suggestion; this fixed it for me aswell.&lt;br&gt;
Shoo. Must admit whilst this ESB Guidance is really great; to get it to work aint the easiest thing in the world. If it's this difficult to get the samples working; what is it going to be like to build a real application with it?
&lt;/div&gt;</description><author>ryancrawcour</author><pubDate>Mon, 28 Jul 2008 20:29:15 GMT</pubDate><guid isPermaLink="false">New Post: Portal Management setup issue 20080728082915P</guid></item><item><title>Updated Wiki: Home</title><link>http://www.codeplex.com/esb/Wiki/View.aspx?title=Home&amp;version=15</link><description>&lt;div class="wikidoc"&gt;
&lt;h1&gt;
Overview
&lt;/h1&gt;The Microsoft ESB Guidance provides architectural guidance, patterns, practices, and a set of BizTalk Server and .NET components to simplify the development of an Enterprise Service Bus &amp;#40;ESB&amp;#41; on the Microsoft platform and to allow Microsoft customers to extend their own messaging and integration solutions. 
&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=esb&amp;amp;DownloadId=14549" alt="image001.jpg" /&gt;&lt;br /&gt; &lt;br /&gt;&lt;h1&gt;
Status
&lt;/h1&gt;The ESB Guidance released on November 8, 2007! Please see the official &lt;a href="http://msdn.microsoft.com/en-us/library/cc487894.aspx" class="externalLink"&gt;ESB Guidance page on MSDN&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; for more information about its contents, intended audience, design goals, and to download the complete ESB Guidance (source code, samples, and documentation).&lt;br /&gt;You can download the final CHM version of the documentation &lt;a href="https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=esb&amp;amp;ReleaseId=8362" class="externalLink"&gt;here&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. &lt;br /&gt; &lt;br /&gt;&lt;h1&gt;
PowerPoint Presentations
&lt;/h1&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://dev4net.com/practices/esb/MicrosoftEsbOverview.ppt" class="externalLink"&gt;Microsoft ESB Overview&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://dev4net.com/practices/esb/MicrosoftEsbTechnicalOverview.ppt" class="externalLink"&gt;Microsoft ESB Technical Overview&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/esb/Wiki/View.aspx?title=Integrated%20SOA%20Governance%20For%20Microsoft%20BizTalk.ppt&amp;amp;referringTitle=Home"&gt;Integration with SOA Software's governance tools&lt;/a&gt; ... and ... &lt;a href="http://www.livemeeting.com/cc/microsoft/view?id=BTSBAG-111&amp;amp;pw=35DKTQ" class="externalLink"&gt;the related webcast&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h1&gt;
Future Plans
&lt;/h1&gt; &lt;br /&gt;Our team started working on the next release of ESB Guidance for Microsoft BizTalk Server 2006 R3.  The version 2 release date will coincide with BizTalk 2006 R3 release. &lt;br /&gt;
&lt;/div&gt;</description><author>ndelgado</author><pubDate>Fri, 25 Jul 2008 23:35:17 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20080725113517P</guid></item><item><title>Created Issue: Error with the UDDIPublisher Project Title is required</title><link>http://www.codeplex.com/esb/WorkItem/View.aspx?WorkItemId=7080</link><description>have gone through all the steps of the installation till i came to the step of installing the &amp;#34;PreProcessingCORE.vbs&amp;#34; ,, i started by creating the Virtual directory and then stopped at the step of running the uddipublisher project giving the following exception &lt;br /&gt;&lt;br /&gt;&amp;#34;Error Creating UDDI Entries... Class&amp;#58;Microsoft.Practices.ESB.UDDI.UddiClient Method&amp;#58; Void .ctor&amp;#60;System.String, System.ServiceModel.BasicHttpSecurityMode, System.String, System.String&amp;#62; &amp;#58; Exception&amp;#58; System.ServiceModle.FaultException&amp;#39;1&amp;#91;uddiorg.api_v2.dispositionReport&amp;#93;&amp;#58; &amp;#60;Fault Detail is equal to uddiorg.api_v2.dispositionReport&amp;#62;&amp;#34;&lt;br /&gt;&lt;br /&gt; I am still facing the same issue, I have set proper credentials but still no good. any idea why&amp;#63;&lt;br /&gt;</description><author>satyajit_m</author><pubDate>Fri, 25 Jul 2008 07:07:30 GMT</pubDate><guid isPermaLink="false">Created Issue: Error with the UDDIPublisher Project Title is required 20080725070730A</guid></item><item><title>Commented Issue: November 2007 Release missing DundasWebChart.dll</title><link>http://www.codeplex.com/esb/WorkItem/View.aspx?WorkItemId=4493</link><description>The ESB Management Portal references DundasWebChart.dll and the project has references to specific versions &amp;#40;Version 5...&amp;#41; of the dll.  These dlls are not supplied in the source kit.  I have found different versions of the dll in other products &amp;#40;V9 in VS2005 and SQLServer&amp;#41;.&lt;br /&gt;Comments: ** Comment from web user: tfabraham ** &lt;p&gt;Dundas Chart for ASP.NET Enterprise is a third-party product that you must purchase if you wish to use the chart controls included in the portal.  If you don&amp;#39;t wish to purchase the license, then remove the charts from the portal site.&lt;/p&gt;</description><author>tfabraham</author><pubDate>Tue, 22 Jul 2008 16:24:09 GMT</pubDate><guid isPermaLink="false">Commented Issue: November 2007 Release missing DundasWebChart.dll 20080722042409P</guid></item><item><title>Commented Issue: ESB.BizTalkOperationsService Security</title><link>http://www.codeplex.com/esb/WorkItem/View.aspx?WorkItemId=6951</link><description>Hi&lt;br /&gt;&lt;br /&gt;My portal is not working at all and all I get is the default error catcher page. I tracked the error down &amp;#40;debugging&amp;#41; to the BizTalkQuery constructor. The line of code &amp;#34;bizTalkOps &amp;#61; new Microsoft.BizTalk.Operations.BizTalkOperations&amp;#40;bizTalkServer.BizTalkMgmtDb, bizTalkServer.BizTalkMgmtDbName&amp;#41;&amp;#59;&amp;#34; is throwing an exception as below&amp;#59;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Failed to connect to the BizTalkMgmtDb database on the PFBT01 server &lt;br /&gt;&lt;br /&gt;Source&amp;#58; Microsoft.Practices.ESB.BizTalkOperations.BizTalkQuery &lt;br /&gt;&lt;br /&gt;Method&amp;#58; Void .ctor&amp;#40;&amp;#41; &lt;br /&gt;&lt;br /&gt;Error Source&amp;#58; Microsoft.BizTalk.DBAccessor &lt;br /&gt;&lt;br /&gt;Error TargetSite&amp;#58; Void Connect&amp;#40;&amp;#41;  &lt;br /&gt;&lt;br /&gt;Error StackTrace&amp;#58;    at Microsoft.BizTalk.Database.DatabaseAccessor.Connect&amp;#40;&amp;#41;&lt;br /&gt;   at Microsoft.BizTalk.Database.DatabaseAccessor.ExecuteReader&amp;#40;Int32 procIndex, Object&amp;#91;&amp;#93; procParams&amp;#41;&lt;br /&gt;   at Microsoft.BizTalk.Operations.BizTalkManagementDb.PopulateServiceTypesHT&amp;#40;&amp;#41;&lt;br /&gt;   at Microsoft.BizTalk.Operations.BizTalkManagementDb..ctor&amp;#40;String dbServer, String dbName&amp;#41;&lt;br /&gt;   at Microsoft.BizTalk.Operations.OperationsGroup..ctor&amp;#40;String ManagementDBServer, String ManagementDBName&amp;#41;&lt;br /&gt;   at Microsoft.BizTalk.Operations.BizTalkOperations..ctor&amp;#40;String mgmtDbServer, String mgmtDbName&amp;#41;&lt;br /&gt;   at Microsoft.Practices.ESB.BizTalkOperations.BizTalkQuery..ctor&amp;#40;&amp;#41;&lt;br /&gt;&lt;br /&gt;My Portal as well as the services are configured for integration security in the config file and in IIS. When I look at the exception object while debuging I notice the error indicates that &amp;#34;NT AUTHORITY&amp;#92;ANONYMOUS LOGON&amp;#34; does not have access to the database.&lt;br /&gt;&lt;br /&gt;Which security setting could I be missing, as I think I have looked at them all numerous times now... and cannot figure out why an anonymous account is trying to access the messagebox db&amp;#63;&lt;br /&gt;Comments: ** Comment from web user: tfabraham ** &lt;p&gt;In the BizTalkOperations virtual directory properties, Directory Security, turn off Anonymous access and enable Windows Integrated security.&lt;/p&gt;</description><author>tfabraham</author><pubDate>Tue, 22 Jul 2008 16:20:31 GMT</pubDate><guid isPermaLink="false">Commented Issue: ESB.BizTalkOperationsService Security 20080722042031P</guid></item><item><title>New Post: Is there a way to easy detect errors for SubmitRequestResponse call</title><link>http://www.codeplex.com/esb/Thread/View.aspx?ThreadId=31744</link><description>&lt;div style="line-height: normal;"&gt;&lt;p style="margin:0in 0in 0pt"&gt;When calling the twoway itinerary service &amp;quot;SubmitRequestResponse&amp;quot;&amp;nbsp;is there a way to easy detect errors?&lt;br&gt;
&lt;br&gt;
will the xml string always return&amp;nbsp;the error contents starting with&amp;nbsp; &amp;quot;&amp;lt;soap:Fault xmlns:soap=\&amp;quot;ht........&amp;quot;&lt;br&gt;
&lt;br&gt;
I'm trying to serialize the return response with a web-service proxy of the web method response and it fails when errors messages are returned.&amp;nbsp; I need a reliable way to detect ESB errors in the call.&lt;br&gt;
&lt;/p&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;</description><author>ggallagher</author><pubDate>Thu, 17 Jul 2008 17:16:01 GMT</pubDate><guid isPermaLink="false">New Post: Is there a way to easy detect errors for SubmitRequestResponse call 20080717051601P</guid></item></channel></rss>