Rough Notes for setting up ESB 2.1 Portal on a System with Sharepoint 2010 on port 80

I just wanted to log my notes for everyone to use when trying to setup ESB 2.1 portal on a System that has Sharepoint 2010 running on port 80. I’ll first start with my computer system environment. So that you can compare yours.

My Environment: (Win2k8R2Ent – VMWare 7.0 64bit image)

  • Windows Server 2008 R2 (64bit)
  • VS.NET 2010
  • BizTalk 2010 Beta (64bit)
  • ESB 2.1 (Installed but not configured)
  • SQL 2k8 R2 (64bit)
  • Sharepoint Portal 2010 (64bit)
  • MS Office 2010 (64bit)
  • BizTalk Adapter pack 2.1 (64bit & 32bit)
  • WCF LOB SDK (64bit)

Again I’d just like to stress this scenario is where Sharepoint Portal is installed on port 80, and your IIS default web site is running on another port. Mine is running on port 8090. If you’re not doing this you probably won’t have as much trouble, nor have to run through as many steps.

  1. I remember from last time when install ESB Portal, you have a couple of options, using the source code, solution, and running the setup. Or using the Setup Script. I decided to use the Powershell script.
  2. So I First went to the Management Portal folder/Install/Scripts
  3. I had to fix Management_Install.ps1 powershell file.
  4. Script was looking in "Program files" folder for Visual Studio .Net 2010, instead of "Program Files (x86)" program files folder.
  5. On line 12 of script file change to:
  6.    1: $env:VS="${env:ProgramFiles} (x86)\Microsoft Visual Studio 10.0\Common7\IDE"

  7. Next had to create an SNK file in Keys folder – just followed the Readme.txt file inside the "Keys" folder of the ESBSource extraction. I extracted my ESBSource to my documents folder.
  8. Next I ran the script as an administrator… (Important)!!!
  9. Next had to change identity of App Pool to have secure access to the unzipped folder where ESB Portal will reside…
  10. I used the Administrator account for the app pool.
  11. Next I had to modify web.config file of Management Portal site, to use port 8090 on BAM, Exception, Itin, BizTalk Operation services. Because I had sharepoint installed on port 80
  12. So what I did was change this in web.config file using text editor
  13.    1: <applicationSettings>

       2:         <Microsoft.Practices.ESB.Portal.Properties.Settings>

       3:             <setting name="Microsoft_Practices_ESB_Portal_BizTalkOperationsService_Operations" serializeAs="String">

       4:                 <value>http://localhost:8090/ESB.BizTalkOperationsService/Operations.asmx</value>

       5:             </setting>

       6:             <setting name="Microsoft_Practices_ESB_Portal_ProcessItinerary_Process" serializeAs="String">

       7:                 <value>http://localhost:8090/ESB.ItineraryServices/ProcessItinerary.asmx</value>

       8:             </setting>

       9:             <setting name="Microsoft_Practices_ESB_Portal_UDDIService_UDDIService" serializeAs="String">

      10:                 <value>http://localhost:8090/ESB.UDDI.Service/UDDIService.asmx</value>

      11:             </setting>

      12:         </Microsoft.Practices.ESB.Portal.Properties.Settings>

      13:     </applicationSettings>

  14. Then in WCF Client Endpoints section:
  15.    1: <client>

       2:             <endpoint address="http://localhost:8090/ESB.ItineraryServices.WCF/ProcessItinerary.svc" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_ITwoWayAsyncVoid" contract="ProcessRequest" name="WSHttpBinding_ITwoWayAsyncVoid"/>

       3:             <endpoint bindingConfiguration="webBam" address="http://localhost:8090/ESB.BAM.Service/BAMService.svc" behaviorConfiguration="bamservice" binding="webHttpBinding" contract="ESB.BAM.Service.Implementation.IBAMService" name="BAMService"/>

       4:             <endpoint bindingConfiguration="webBam" address="http://localhost:8090/ESB.Exceptions.Service/ExceptionService.svc" behaviorConfiguration="bamservice" binding="webHttpBinding" contract="ESB.Exceptions.Service.Implementation.IExceptionService" name="ExceptionService"/>

       5:         </client>

  16. At this point, I Forgot that my ESB wasn’t configured, and none of my ESB Web Services was configured so you can use the ESBConfiguration wizard, or manually configure web services like I did below.
  17. Manually Configuring ESB Web Services without using the Config wizard.
  18. I created web applications in IIS for each service basically configuring with the settings below.
  19. For certain web sites I had to configure differently, which are outlined below, everything else used these setttings here:
  20. Used the default ESB Portal Network App Pool which was created from running the Portal install script
  21. I changed the default Network settings account to use admin account for this app pool -user id/pwd
  22. Used Anon Auth -Disabled; ASP.Net Impersonation – Enabled; Windows Auth – Enabled
  23. .Net 2.0 app pool, Integrated
  24. For ESB.ExceptionHandlingServices.WCF, and all BizTalk Receive locations based Services –
  25. I created a web app in IIS
  26. Used ESB Portal Network App Pool – admin user id/pwd
  27. Used Anon Auth-Enabled, Wind Auth -Enabled, ASP.NET Imper -Enabled
  28. .NET 2.0 app pool, integrated
  29. Started BizTalk Receive Location
  30. For ESB.Resolver Service
  31. Used the Network App Pool – admin user id
  32. Used Anon Auth -Disabled; ASP.Net Impersonation – Enabled; Windows Auth – Enabled
  33. .Net 2.0 app pool, Integrated
  34. For ESB.ResolverServices.WCF, ESB.TransformService, ESB.TranformService.WCF, ESB.ExceptionService and ESB.Portal
  35. Created a New App pool – managed Pipeline: Classic – .Net 2.0 – admin user id
  36. Used Anon Auth -Disabled; ASP.Net Impersonation – Enabled; Windows Auth – Enabled
  37. * – just for ESB.TranformService.WCF, I had to turn off Custom Errors = off and then back on for this to work using VS.NET text editor to edit web config
  38. Now because my ports are 8090, I had to open up the portal Web References folder and change all the url’s to the correct port number, in this case it was only the ASMX BizTalkOperations Service, all the others used the application settings from the web config I changed in like step 2.
  39. I noticed a slight issue, problem was that the web site was referencing this ESB.Portal.DLL which contained all the web service references.
  40. So I had to recompile this dll.
  41. If you look inside the web ESB.Portal site folder you’ll notice a 2k8 csproj file. Open this project with 2010, heck I just added it to the Web Site project convert it to 2010 format, and make the changes in this project. Make sure you keep the web site using the .Net framework 2.0.
  42. Even though I changed mine to be targeted to .Net framework 3.5.
  43. Rebuild here.
  44. For example the BizTalkOperations service – navigate to Reference.cs – look for code this.Url = "" and modify it to reflect the correct port 8090.
  45. In the Reference.cs file I used the web.config application settings property for the Operations service
  46. code is:
  47. I had to change UDDI Service as well:
  48. Update the Service References by right-clicking on Service Reference of each web service look at the properties window for the default url and point to the new port number, refresh references and rebuild.
  49. Lastly I had to rebuild the web site.
  50. Restart IIS and my esb.portal came up…
  51. image