iRop's BizTalk blog

Monday, February 9, 2009

Installing the BizTalk ESB Guidance and troubleshooting

Installing the ESB guidance should be a hazard, according to people around me. And i have to admit... YES IT IS! It took me at least a day to get it installed. The main problem is the little documentation that's available. Where is the bindingfile if you want to import the core.msi without the bindings?? Well, i will try and explain some things i encountered and hopefully this will help some guys trying to get the ESB Guidance (2.0) installed on BizTalk Server 2006.

There are a few prerequisites that should be met. My problem was that i couldn't install KB923028 for some reason. Probably because the files were already up-to-date. But make sure the others are all met.
To use UDDI make sure Kerberos is enabled and ofcourse UDDI itself must be installed and configured.
I used the windows installer file to install the ESB guidance. The problem with installing from source code, is the fact the Strong Name Key (snk) differs from the msi and this may cause some problems later on in the installion procedure.
The following steps describe the installation procedure I've followed and eventually worked for me.



Installing the ESB guidance using the Windows Installer File
  1. Unpack and install the ESB Guidance package.
    -
  2. Unpack the ESBSource.zip file to C:\Projects\Microsoft.Practices.ESB
    -
  3. Open the Biztalk Administration Console and right click Applications, choose import MSI file and choose Microsoft.Practices.ESB.CORE_NOBINDING.msi. Choose No Bindings, because the bindings won't be able to be imported before the pipelines are deployed properly.
    At the end of the wizard, make sure to check the box to execute the MSI in Windows to install all components and web services. Also complete this wizard.
    -
  4. After that restart all biztalk services, to be sure all pipelines are registered.
    -
  5. Open Microsoft SQL Management Studio and import the sql script EsbExceptionDb_CREATE.sql (C:\Program Files\Generated by BizTalk\Microsoft.Practices.ESB\SQL). Please be sure to install this on the server and database you've set in the bindingfile in the step above.
    -
  6. Then import the following bindings into this application (you may modify it in your own way, i've modified the snks, because i used the source code file):

    Microsoft.Practices.ESB.CORE_Bindings.xml

    Replace the following string with your server name: <YOURSERVER>. Also check the hosts you are using (i use 2, namely BizTalk Server and SendHost). If you use a different host for sending, you must modify the Send Handler of the All.Exceptions SendPort to the right host, the one used in the adapter. Also check you trusted and untrusted settings.
    -
  7. Execute C:\Program Files\Generated by BizTalk\Microsoft.Practices.ESB\InstallWebServiceConfig.vbs to configure the webservices.
    -
  8. After the steps above were succesful, InstallPostProcessing.cmd must be executed. This file can be found in C:\Program Files\Generated by BizTalk\Microsoft.Practices.ESB\.

    This file contains calls to other files. This file will perform the following steps:
    1) Install exception tracking in the BAM
    2) Install the vocabularies in the BRE
    3) Publish the UDDI parameters

    I had some problems with this file, because my installation directory was different from the ones set in this file. The BizTalk installation directory can also be set (hardcoded) by yourself in C:\Program Files\Generated by BizTalk\Microsoft.Practices.ESB\BAM\bin\bmdeploy.cmd. Replace the wildcard in %BMPATH% in the last line with your BizTalk installation path (by default C:\Program Files\BizTalk Server 2006). You can also modify SetBmPath.cmd in the same directory if you want to.

    If this all is set AND your UDDI settings are correct, it should work. If your UDDI settings are incorrect, the following errors may be encountered:


    UDDI Errors

    Error creating UDDI entries... Error 285014: An unexpected error occurred retrieving the Category Key for the TModel name, 'System.ServiceModel.Security.MessageSecurityException: The HTTP request is unauthorized with client authentication scheme 'Negotiate'. The authentication header received from the server was 'NTLM,Basic realm="localhost"'. ---> System.Net.WebException: The remote server returned an error: (401) Unauthorized.

    This error is most likely caused by the fact that Kerberos is not set in IIS on this website. You can go to this article to read how to get support for the Kerberos protocol in IIS: http://support.microsoft.com/kb/215383

    Error creating UDDI entries... Error 285023: An unexpected error occurred creating the new Category, 'System.ServiceModel.FaultException`1[uddiorg.api_v2.dispositionReport]: (Fault Detail is equal to uddiorg.api_v2.dispositionReport).', in Uddi.

    In combination with this entry in the eventlog: UDDI_ERROR_FATALERROR_HTTPSREQUIREDFORPUBLISH

    Well, this obviously has something to do with SSL encryption. For me this is turned off in IIS, but not for the UDDI Service manager. Open the UDDI Services Console (Administrative tools -> UDDI Services Console). Bring up the properties for the uddi service and check if the "Require SSL for publication" is checked. Uncheck it and try again.
    -
After these steps you should edit the BizTalk configuration file and the machine.config file. Please do like provided in the Microsoft ESB Guidance help file.
Hopefully this post helped some people installing the ESB Guidance...

Labels: , , , , , ,

1 Comments:

Post a Comment



<< Home