Production Installation of the Toolkit
-
15/جمادى الأولى/1431 03:55 م
I've been able to install the exception handling portion of the toolkit into an virtual development environment successfully, this virutal machine is an all emcompassing environment (no remote servers for sql for example). I'm now attempting to perform the installation in a system acceptance testing windows server 2008 with a remote 2008 sql server environment using the documentation I created for the development install as a base. I ran into some problem that I hope some can help with.
I receive the following error when running C:\projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts\ManagementInstall.cmd
C:\Windows\system32>powershell C:\Projects\Microsoft.Practices.ESB\Source\Sample
s\Manage~1\Install\Scripts\Management_Install.ps1 1
64 bit Machine
Get-ItemProperty : Cannot find path 'HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Mi
crosoft\Microsoft SDKs\Windows\v6.0A' because it does not exist.
At C:\Projects\Microsoft.Practices.ESB\Source\Install\Scripts\ESBFunctions.ps1:
15 char:28
+ $SDKPath=(Get-ItemProperty <<<< "hklm:SOFTWARE\Wow6432Node\Microsoft\Mi
crosoft SDKs\Windows\v6.0A").InstallationFolder
Using registry install path:
C:\Program Files (x86)\Microsoft BizTalk ESB Toolkit 2.0\
Install path found with value:
C:\Program Files (x86)\Microsoft BizTalk ESB Toolkit 2.0\
RulesDeployer Path
C:\Program Files (x86)\Microsoft BizTalk ESB Toolkit 2.0\bin
Solution Path:Found registry entry for BizTalk Management DB.
BizTalk connection string is
server=<Server Name - removed from this post>;database=BizTalkMgmtDb;Integrated Security=SSPI
Running requested script
+C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\SQL\ESB.A
dministration Database.sql
HResult 0x2, Level 16, State 1
Named Pipes Provider: Could not open a connection to SQL Server [2].
Sqlcmd: Error: Microsoft SQL Server Native Client 10.0 : A network-related or in
stance-specific error has occurred while establishing a connection to SQL Server
. Server is not found or not accessible. Check if instance name is correct and i
f SQL Server is configured to allow remote connections. For more information see
SQL Server Books Online..
Sqlcmd: Error: Microsoft SQL Server Native Client 10.0 : Login timeout expired.C:\Windows\system32>pause
Press any key to continue . . .
It appears that the scripts are dependant on Windows SDK v6.0A which is part of the installation of Visual Studio 2008. I checked for the keys mentioned in the error and they do not exist. I beleive the problems is due to the missing windows sdk v6.0a. I do not want to install Visual Studio in this environment as this will be an exact replica of production, where visual studio realy doesn't belong.I'm I forced to install Visual Studio 2008 to use the toolkit?
Where can I obtain a copy of the windows SDK v6.0a?
Any suggestions on how to move forward?
Does a production installation help file exist or word doc etc?
Any help would be great. I wish the installation of this product was simpler and better documented, would make life easier.
Thanks
ChCraig
الإجابات
-
07/جمادى الثانية/1431 08:05 م
Well after a lot of trial and error and reading. I've been able to get the portal working local. the error message I previously posted was indeed hiding another message which was caused by the database missing more permission that the operations service required.
Grant select permission to BTS_ADMIN_USERS on Adm_Server2HostMapping table in the BizTalkmgmtDb
Grant select permission to BTS_ADMIN_USERS on Adm_Server table under BizTalkMgmtDb
Grant select permission to BTS_ADMIN_USERS on Adm_HostInstance table under BizTalkMgmtDb
Grant select permission to BTS_ADMIN_USERS on ProcessHeartBeats table under BizTalkMsgBoxDb
Application pool for the operations service needs Windows Authentication enabled and anonymous turned off.
IIS needs Kerberos and NTLM enabled
cscript adsutil.vbs set w3svc/<WebSite> /root/NTAuthenticationProviders "Negotiate,NTLM"
<Website> = 1 for default
- تم وضع علامة كإجابة بواسطة ChCraig 07/جمادى الثانية/1431 08:05 م
-
جميع الردود
-
15/جمادى الأولى/1431 10:32 م
Hi,
It looks like the Windows SDK for Windows Server 2008 and .NET Framework 3.5 is not installed. This is required by the ESB Management Portal.
greetings,
Tomasso Groenendijk
-
16/جمادى الأولى/1431 02:39 م
Hi,
You don't need to install VS2008 or SDK to install the ESB Portal. I customised the supplied scripts to create a build script and a separate install script for the ESB Portal and the ESB Alert Windows service. Have a look at the various scripts that are supplied, all the material is there, you just need to customise it.
-
16/جمادى الأولى/1431 03:13 م
Framework 3.5 sp1 is installed in the environment but i agree that the SDK is not installed. I'm having a hard time finding the installation for v6.0A which is the version the scripts are looking for.
Anyways I decided to keep moving and modified scripts as MikeGBUK suggested. I removed the environmental checks at the begining of the ESBFunctions.ps1 script to remove the dependancies of the SDK as I didn't seem anything in the file that lead me to believe the SDK was actually required and the installation seems to continue on. The ESB.Administration Database.SQL script wouldn't run from the powershell scripts so I ran it manualy.
I believe everything is in place that is needed. The SDK isn't installed but I don't believe this is actual required for the portal to run.
At this point I am receiving the following when opening the portal. This looks like a problem calling the web services but which one? I've opened each web service under IIS to ensure the service is responding by retrieving the WSDL from each.
Thanks Again for the Help.
Event code: 3005
Event message: An unhandled exception has occurred.
Event time: 4/30/2010 9:55:52 AM
Event time (UTC): 4/30/2010 2:55:52 PM
Event ID: 12dae5bc379c4f099de81797763fccd5
Event sequence: 13
Event occurrence: 4
Event detail code: 0
Application information:
Application domain: /LM/W3SVC/1/ROOT/ESB.Portal-1-129171120743764266
Trust level: Full
Application Virtual Path: /ESB.Portal
Application Path: C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\ESB.Portal\
Machine name: WPG-APPS-730
Process information:
Process ID: 4756
Process name: w3wp.exe
Account name: NT AUTHORITY\NETWORK SERVICE
Exception information:
Exception type: WebException
Exception message: The remote server returned an error: (400) Bad Request.
Request information:
Request URL: http://localhost/esb.portal/default.aspx
Request path: /esb.portal/default.aspx
User host address: 127.0.0.1
User: <domain removed from this post>\chcraig
Is authenticated: True
Authentication Type: Negotiate
Thread account name: NT AUTHORITY\NETWORK SERVICE
Thread information:
Thread ID: 10
Thread account name: NT AUTHORITY\NETWORK SERVICE
Is impersonating: False
Stack trace: at System.Net.HttpWebRequest.GetResponse()
at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
Custom event details:
For more information, see Help and Support Center at
-
16/جمادى الأولى/1431 04:26 م
So after searching this forum I have been able to make some progress I believe. The Bad request message 400 has been corrected by applying the missing ESBexception permissions found in another post.
Now I'm receiving the following:
Event code: 3005
Event message: An unhandled exception has occurred.
Event time: 4/30/2010 11:20:00 AM
Event time (UTC): 4/30/2010 4:20:00 PM
Event ID: 65136808f3934b9bb46ba480bf64df2d
Event sequence: 6
Event occurrence: 1
Event detail code: 0
Application information:
Application domain: /LM/W3SVC/1/ROOT/ESB.Portal-3-129171179994110358
Trust level: Full
Application Virtual Path: /ESB.Portal
Application Path: C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\ESB.Portal\
Machine name: WPG-APPS-730
Process information:
Process ID: 6280
Process name: w3wp.exe
Account name: NT AUTHORITY\NETWORK SERVICE
Exception information:
Exception type: SoapException
Exception message: Server was unable to process request. ---> Cannot open log for source 'BizTalk ESB Toolkit 2.0'. You may not have write access. ---> Access is denied
Request information:
Request URL: http://localhost/esb.portal/Home/Homepage.aspx?tzo=-5
Request path: /esb.portal/Home/Homepage.aspx
User host address: 127.0.0.1
User: <domain>\chcraig
Is authenticated: True
Authentication Type: Negotiate
Thread account name: NT AUTHORITY\NETWORK SERVICE
Thread information:
Thread ID: 10
Thread account name: NT AUTHORITY\NETWORK SERVICE
Is impersonating: False
Stack trace: at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
at Microsoft.Practices.ESB.Portal.BizTalkOperationsService.Operations.Applications()
at Microsoft.Practices.ESB.Portal.PortalHelper.GetAllApplications()
at Microsoft.Practices.ESB.Portal.HomePage.renderApplicationSettings()
at Microsoft.Practices.ESB.Portal.HomePage.Page_PreRender(Object sender, EventArgs e)
at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
at System.Web.UI.Control.OnPreRender(EventArgs e)
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Custom event details:
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
-
16/جمادى الأولى/1431 08:34 م
It appears as though your user ID running the app pool doesn't have permissions to write to the event logs, for the BizTalk ESB 2.0 source. Try turning off tracing for ESB, if it's turned on, just to see if you can get it up and running. If you can, then you know it's the permissions of the user running the ESB.Portal web site. Just give it admin perm and you should be good to go.
HTH
MCT, MCSD.NET, BizTalk TS -
20/جمادى الأولى/1431 08:42 م
I've disable the Tracing flag within the web.config of the esb.portal
<loggingConfiguration defaultCategory="Default Category" tracingEnabled="false">
I'm still encountering the problem.
My guess is that there is an underlying problem that is being hidden by the failure to log the message to the event log. Also with impersonation turned on I believe the user logging into the application would need the ability to log messages to the event log and typical users will not have this access.
The user which is myself at this point is a local admin on the machine hosting the portal. I'm also running the portal from the machine hosting the site. http://localhost/Esb.Portal
Thanks
-
26/جمادى الأولى/1431 06:43 م
I've check the EsbPortalNetwrokAppPool and the identity that it is running under is NetworkService. Is this correct?
Not sure why I'm encountering the problem mentioned previously. Please help.
Thanks
Chcraig
-
07/جمادى الثانية/1431 02:08 م
Is the user a member of BizTalk Server Administrators or BizTalk Application Users groups?
Let me know about that.
-
07/جمادى الثانية/1431 08:05 م
Well after a lot of trial and error and reading. I've been able to get the portal working local. the error message I previously posted was indeed hiding another message which was caused by the database missing more permission that the operations service required.
Grant select permission to BTS_ADMIN_USERS on Adm_Server2HostMapping table in the BizTalkmgmtDb
Grant select permission to BTS_ADMIN_USERS on Adm_Server table under BizTalkMgmtDb
Grant select permission to BTS_ADMIN_USERS on Adm_HostInstance table under BizTalkMgmtDb
Grant select permission to BTS_ADMIN_USERS on ProcessHeartBeats table under BizTalkMsgBoxDb
Application pool for the operations service needs Windows Authentication enabled and anonymous turned off.
IIS needs Kerberos and NTLM enabled
cscript adsutil.vbs set w3svc/<WebSite> /root/NTAuthenticationProviders "Negotiate,NTLM"
<Website> = 1 for default
- تم وضع علامة كإجابة بواسطة ChCraig 07/جمادى الثانية/1431 08:05 م
-
-
13/جمادى الثانية/1431 04:04 م
Well... I thought my findings would help future readers.. So here we go:
1. Never install the windows SDK or VS.net on a production environment, these components are EVIL on any production environment, what you need to do is to use your build box (or development box), build the portal setup (MSI) release package (ESB.Portal.Setup project in the ESB.Portal solution), and try to deploy this package to your production environment (remember the portal is a SAMPLE).
2. When you install the ESB toolkit on production machine, you don’t need to install the samples nor the tools.
3. Before building the package, remember to change the target folder location of both "primary output of ESB.Exceptions.Service.Implementation" and " primary output of ESB.BAM.Service.Implementation" to point to “Web Application\bin” - I don't why this was missed in the first place, possibly my mistake!
4. Before running/installing the portal release package, you will need to create a new application pool (EsbPortalNetworkAppPool) – Network Service Identity
5. After the installation, you will need to go back and correct the authentications settings for all web applications (4 new web apps are created)
6. After the installation, you will need to remap the following web applications (ESB.BAM.Service, ESB.Exceptions.Service and ESB.UDDI.Service) to use your newly created AppPool
7. After the installation, you will need to change the connection settings for all web applications to map to correct SQL server
8. Run the SQL Script ESB.Administration Database.sql to create the ESBAdmin database (as all ESB components, deep inside, it is hard coded to use default BizTalk group names i.e. BizTalk Server Administrators, etc) so if you have different name, remember to amend the script before running it.
Two more notes:
- Although the ESB Exception Framework doesn’t require the Itinerary components nor the ESB Core Services, but the Portal does, so remember to install/configure them first.
- Remember to install (dotNet Framework Service Pack 1, MS Chart, and SQLXML 4.0S P1)
And if you had the time (which I didn’t) try to automate the above process using script or MSBuild and share it :) … or wait until MS makes it available….
Finally… Good Luck !
AMamdouh