Search This Blog

Friday, February 27, 2015

Biztalk common development errors and solution



  1. Error :  Could not store transport type data for Receive Location  'EAISolutionReceiveRequestLocation' to config store. Primary SSO Server '' failed. Cannot perform encryption or decryption because the secret is not available from the master secret server. See the event log (on computer '') for related errors. (Microsoft.BizTalk.ExplorerOM)
Solution : Follow below steps:
Go To :         SSO Administration -> System -> Restore Secret --> Select the secret file.


If you don't know the path of the secret file try once in the location "C:\Program Files\Common Files\Enterprise Single Sign-On\SSO9F54.bak”  (this sso back up file was created at the time of biztalk configuration)
Select the file and provide the password. Once the master secret restores then error is gone.


2. Error : Failed to update binding information. Could not change the bindings for orchestration    'EAIOrchestration.EAIProcess,EAIOrchestration, Version=1.0.0.2, Culture=neutral, PublicKeyToken=2269a668ccc217b9' as one or more instances of the orchestration still exist.


Solution:


When I tried to Unenlist and delete the Orchestration from the BizTalk Administration tool, I received the same error.


I found out that I had a few suspended instances. These instances need to be terminated before you can undeploy/redeploy the orchestration.


Terminating instances can be done by using BizTalk Administration Tool :




  1. In the BizTalk Administration Group click in the left pane on ‘BizTalk Group [Name of Computer/Name of Management database]’.
  2. In the right pane the ‘Group Overview’ appears.
  3. Click on the tab page ‘New query’ to create a query that searches for the suspended instances.
  4. In the ‘Query Expression’ grid the first Search field is already selected, namely ‘Search For’, also the ‘Equals’ operator is already filled in in the second field.
  5. All we have to do in the ‘Value’-field is search for suspended instances.
  6. we run the query by hitting the button with the label 'Run Query'.
  7. The grid ‘Query results’ now contains all suspended instances found.
  8. All we need to do is select all suspended instances, right click on the selection and choose ‘Terminate Instances’.
  9. The BizTalk Administration Tool asks for confirmation and removes the instances.
  10. When you rerun the query, the instances will be removed and the orchestration can be undeployed/redeployed.


 Removing instances using a Stored Procedure


The less polite manner to remove suspended instances is by running a Stored Procedure which will clean up the MessageBox. Attention: this is NOT a recommended procedure on production environments!


Open the SQL Server Management Studio and connect to the database server. In the left pane expand the server-node and the Databases-node. Next, click on the MessageBox-database (BizTalkMsgDb) and hit the ‘New Query’-button in the toolbar. In the right pane you can enter SQL commands. Since you selected the MessageBox-database in the left pane, the commands are executed against that database. Now type: 'exec bts_CleanupMsgbox 0' (without the quotes) and hit the ‘! Execute’-button in the toolbar. All suspended instances will now be removed. You can now undeploy/redeploy the orchestration.




  1. Error:
    Failed to add resource(s). Resource (-Type="System.BizTalk:BizTalkAssembly" -Luid="Inbound_EDI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=28e25aa7767eb2e2")  is already in store and is either associated with another application or with another type.
     
    Solution:


In Biztalk Admin Console navigate to


Applications à <All Artifacts> àResources. Find the resource and see which application it is deployed to. Navigate to that application and delete it.


 
 


  1. Biztalk Schema generator in Visual Studio — How to enable 'Well-Formed XML' (Not loaded)?


I have installed Visual Studio 2010 and Biztalk. I create a new Biztalk-project in Visual STudio 2010. I choose 'Add new item' and then 'New generated schema'. Here I can choose 'Document type'. I choose 'Well-Formed XML (Not loaded)' and choose an input file.


Now I get the message 'XFW to XSD schema generation module is not installed. Execute 'C:\Program files (X86)\Microsoft Biztalk Server 2010\SDK\Utilities\Schema Generator\InstallWFX.vbs to install the WFX to XSD schema generation module.
I try to execute that file and some text hastily appear on the console. I restart Visual Studio 2010, but it still doesn't work. Apparently the execution of the shell script didn't work. I try to restart the computer, but it still doesn't work.
     Solution:
  1. Try starting a console command prompt (run as administrator) and execute the script. If things go wrong, you will actually see the error message then.
  2. If the script still does not seem to work, there are two dll files at the 'C:\Program files (X86)\Microsoft Biztalk Server 2010\SDK\Utilities\Schema Generator\' directory:
•Microsoft.BizTalk.WFXToXSDGenerator.dll
•Microsoft.BizTalk.DTDToXSDGenerator.dll
Close visual studio, manually copy dll files to 'C:\Program Files (x86)\Microsoft BizTalk Server 2010\Developer Tools\Schema Editor Extensions' folder and start visual studio again.


Create the data link (UDL) file
    1. Right-click the Windows desktop, point to New, and then click Text Document. A new file is created by default (New Text Document.txt).
    2. Open Windows Explorer, and on the Tools menu, click Folder Options. On the View tab, clear the Hide file extensions for known file types check box and then click OK.
    3. Right-click the Text Document you created in step 1, choose Rename, and then change the name and extension of the file to: sophos.udl
    4. A warning might appear, explaining that changing file extensions could cause files to become unusable. Disregard this warning.
    5. You can store the (sophos.udl) file anywhere on your system or network.
    6. Double-click the (sophos.udl) file or you can optionally right-click it, and then click Properties. This opens the Data Link Properties dialog box. You are now ready to connect to your data source.


Testing connectivity to a SQL server


    1. When you have opened the data link properties select the Provider tab.
    2. From the list of OLE DB Provider(s) select ‘Microsoft OLE DB for SQL Server’.
    3. Click the next button to move to the Connection tab.
    4. Enter the SQL server’s hostname followed by a backslash (\) in the first box. E.g. windows2003server\sophos
    5. Under ‘Enter information to log on to the server’ select one of the radio buttons...
    6. ‘Use Windows NT Integrated security’ if the SQL server uses Windows authentication 
    7. ‘User a specific user name and password’ if the SQL server uses SQL authentication.
    8. Under ‘Select the database on the server’ click on the drop down list to view the databases that are available.
    9. Select the require database and click the ‘Test Connection’ button.
    10. If necessary record any error seen and forward to technical support. Otherwise click OK to close the properties window and save the connection settings.
       
  1. Exception type: RuleEngineDeploymentNotDeployedException


Source: Microsoft.RuleEngine


Target Site: Void HandleReturnMessage(System.Runtime.Remoting.Messaging.IMessage, System.Runtime.Remoting.Messaging.IMessage).


Inner exception: No versions of ruleset "LoanProcessing" are deployed.


 




Go to SQL Server -> BizTalkMgmtDb -> Table - adm_Group

sometimes the RuleEngineDBServerName, RuleEngineDBName are blank so you have to update it manually.

use [BizTalkMgmtDb]


go
select * from adm_Group
go


--if rules engine database and server not updated


update adm_Group


set RuleEngineDBName='BizTalkRuleEngineDb',


RuleEngineDBServerName='RulesEngine Deployed server name'
--where 


 


  1. BizTalk 2009 Beta - Where's my HAT?
    Refer below link for more information
     
  2. Microsoft Business Rule Composer:  The database "server:BizTalkRuleEngineDb" associated with the deployment driver does not match the database ":" specified during product configuration.
    Resolution:  Within Business Rule Composer, click the Menu "Rule Store"->"Load", this popped with the window "Open Rule Store", check the value of SQL Server, if it's a IP address, change the IP address to a SQL Server name.
  3. Some common issues with BtsNtSvc.exe 2010
     
    1. BizTalk Server 2010 btsntsvc.exe crashed with the error
       
      Application: BTSNTSvc64.exe
      Framework Version: v4.0.30319
      Description: The process was terminated due to an internal error in the .NET Runtime at IP 000007FEF539C059 (000007FEF5030000) with exit code 80131544
       
      After some analysis I found that the process was crashing because of a 4.5 framework component. Uninstalled framework 4.5 and installed 4.0 post which the issue was resolved.
       
      Since BizTalk 2010 is not tested with framework 4.5, it can cause unexpected behavior like this.
       
    2. No BizTalk assembly got loaded to BTS 2010 process
       
      All my BizTalk process failed with the error “Could not load file or assembly ‘xxxx' or one of its dependencies”. This was very strange, as no assembly was loaded from the GAC. But all the assemblies were present in assembly 4.0 folder.
       
      After taking procmon, I found that the bts process was looking for assemblies in assembly 2.0 folder instead of assembly 4.0 folder. More details on GAC 4.0 can be found on this link.
      This was because the config entry <supportedRuntime version="v4.0" /> which directs BizTalk process to point to 4.0 assembly was missing in the btsntsvc.exe.config file.
       
      This key is present by default in config file, these default keys should not be removed.
       
    3. COM Exception
       
      There is another key in btsntsvc.exe.config file which helps in calling the com components from .NET 4.0 framework onwards.
      Detailed description has been posted in this link.
       
       
  4. BTSNTSvc.exe.config : Please check if this file is opened in another program.
    Save failed: Please check if this file is opened in another program.
    Solution: Provide required (write) permissions to edit BTSNTSvc.exe.config file
     
  5. BRE Issues and Resolutions
    1. Policy does not execute successfully
      Symptom
      The BRE policy invoked by a BizTalk RFID process does not execute successfully.
       
      Possible Causes
      •The policy has a rule that refers to database facts, but the database bindings for the policy are not specified.
       
       •Database bindings for the policy are specified, but they point to an incorrect database server and/or an incorrect database.
        
      •The policy has a rule that refers to XML facts, but the XML bindings for the policy are not specified.
        
      •XML bindings for the policy are specified, but the schema for the fact does not match the schema that the policy expects.
        
      Solution
      •Specify the database bindings for the process if the policy used by the process refers to database facts.
        
      •Verify that the database bindings for the process point to a correct database server and correct database.
        
      •Specify XML bindings for the process if the policy used by the process refers to XML facts.
        
      •Verify that the schema specified in the XML bindings matches the schema that the policy expects.
       
  1. You receive a "Policy is not available" error at process startup
    Symptom
    You receive a BRE error indicating that a deployed version of the policy is not available. 
    Possible Causes
          •The policy name property is not bound.
          •The policy name refers to a nonexistent policy.
  • •The policy is not deployed.
     
    Solution
          Verify whether you have specified a policy name for the policy parameter of the RuleEnginePolicyExecutor component.
  • Verify whether the policy name that you specified in the grid is the same as the name in the Business Rule Composer.
  • Verify whether the specified policy is deployed in the Business Rule Composer. When you right-click the policy name, the Deploy option appears dimmed.
     
     


  1. You receive a "Cannot open database" error at process startup
    Symptom
    You receive an error message similar to the following error message when you start a process that uses a BRE policy that requires database facts.
     
    "Cannot open database "<Database name>" requested by the login. The login failed. Login failed for user '<Machine name>\<Identity for RFID process>'"
     
    Possible Causes
    •The identity under which the RFID process is running does not have access to the database referred to by the BRE policy invoked by the process.
     
     
    Solution
    BizTalk RFID supports only Integrated Security for database facts. The user account under which the RFID process runs needs to have access permission to any database the BRE policy refers to. On Windows 7 or Windows Vista SP2 computers, the RFID process runs in the RfidServices.exe process. The identity for this process is RfidSvcAcc by default. The identity can be configured during the configuration. On Windows Server 2008 R2 or Windows Server 2008 SP2 computers, the RFID process runs in a worker process (w3wp.exe) hosted in IIS. The identity for worker processes and RfidServices.exe is RfidWorkerProcessAcc by default, and the identity can be configured during BizTalk RFID configuration. Give the user account access to the databases(s) referred to by the BRE policy with required permissions.
     
  2. You receive errors related to policy number mismatch
    Symptom
    You receive errors in the Business Rule Composer that are related to policies and policy versions initialization.
     
    Possible Causes
    •The latest policy version is not deployed properly.
     
     
    •There is a mismatch in policy versions between those that you specified in the Business Rule Composer and the RuleEnginePolicyExecutor parameters.
     
     
    Solution
    Verify that the version of the policy file that is specified as a parameter to the Rule EnginePolicyExecutor component exists in the BRE database by using the Business Rule Composer.
     
    Process does not pick up the latest deployed version of the policy
    Symptom
    Although you configured the RuleEnginePolicyExecutor component to pick the latest deployed version of the policy, the BizTalk RFID process does not use the version until after it is deployed.
     
  3. Possible Cause
    The BRE uses the value of the HKEY_LOCAL_MACHINE\Software\Microsoft\BusinessRules\3.0\PollingInterval registry key as the interval at which it checks for updates to the policy.
     
    The default value is 60 seconds, which is appropriate for production environments. You should set this registry key to a value that is less than 60 seconds for development, test, or demonstration computers, so that the engine checks for updates more frequently.
     
    Solution
    Change the value of the PollingInterval registry key to a value that is less than 60 seconds.
     
    Invoking static methods from a rule does not work
    Symptom
    A policy with a rule that invokes a static method of a .NET class fails at run time.
     
  4. Possible Cause
    •By default, you must assert an instance of the .NET class into the working memory of the BRE, even though the method is a static method. If an instance of the class is not asserted, the policy fails to execute at run time.
     
     
    Solution
    Either assert an instance of the class into the working memory of the BRE or enable invoking static methods without requiring an object instance by setting the value of the following registry key to 1 or 2:
     
    HKLM\SOFTWARE\Microsoft\BusinessRules\3.0\StaticSupport (DWORD)
     
    The following table lists the possible registry values that you can enter.
     
     
    Value  Description 
    0
     The default value. The static method is called only when an instance of the .NET class is asserted.
     
    1
     An object instance is not required. The static method is called when the rule is evaluated or executed.
     
    2
     An object instance is not required. The static method is called at the policy translation time if all parameters are constant. This is a performance optimization because the static method is called only once, even though it is used in multiple rules in conditions. Static methods that are used as actions will not be executed at the translation time, but static methods used as parameters can be executed.
     
     
  5. "Unable to connect to the Rule Engine Update Service" error when a process is started
    Symptom
    An RFID process with a RuleEnginePolicyExecutor event handler fails to start with the following error message in the process log file:
     
    "Unable to connect to the Rule Engine Update Service. Please verify that the service is started. No connection could be made because the target machine actively refused it"
     
    Possible Causes
    •The Business Rule Engine (BRE) components are not installed on the computer.
     
     
    •The BRE components are installed, but not configured.
     
     
    •The BRE components are installed and configured, but the Rule Engine Update service is not started.
     
     
    •You uninstalled and reinstalled BizTalk RFID. The RFID service starts all the processes at the end of the BizTalk RFID reinstallation, but before the BRE installation. Hence, a process with the RuleEnginePolicyExecutor component fails to find the Rule Engine Update service on the computer.
     
     
    Solution
    Install BRE components on the computer and configure them before starting the process that uses the RuleEnginePolicyExecutor component. The BizTalk RFID installation brings up the BRE installation at the end. You can also launch the BRE installation manually by running the Configuration.exe file in the %RFIDINSTALLDIR%\BREConfiguration folder.
     
    BRE configuration fails because BizTalkRuleEngineDb.mdf already exists
    Symptom
    You get the following error message when you try to configure the BRE on your computer:
     
    "Configuration failed for some components and no settings were applied for those components."
     
    The configuration log file contains the following error message:
     
    "Message: Cannot create file 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\BizTalkRuleEngineDb.mdf' because it already exists. Change the file path or the file name, and retry the operation."
     
  6. Possible Causes
    The BizTalkRuleEngineDb database has been detached from SQL Server and the BizTalkRuleEngineDb.mdf file exists on the computer in the C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA folder.
     
    Note 
    You will receive a "Database already exists" error message if the BizTalkRuleEngineDb database exists on your computer, and the database is not detached from SQL Server.
     
     
     
    Solution
    Delete the BizTalkRuleEngineDb.mdf and BizTalkRuleEngineDb_log.ldf files from the data location for SQL Server (for example: C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\) and retry configuring BRE.
     


  1. TITLE: BizTalk Server Administration
    Starting instance of host BizTalkServerApplication on server ‘servername’ failed.


For help, click: http://go.microsoft.com/fwlink/?LinkId=47400&ProdName=Microsoft+BizTalk+Server+2010&ProdVer=3.9.469.0&EvtSrc=Microsoft.BizTalk.Administration.SnapIn.Properties.Errors&EvtID=HostInstance_UnmapServerHostInstanceFailed


ADDITIONAL INFORMATION:


Failed to start the BizTalk Host instance. Check the event log on the server “servername” for more details.


Internal error: "The dependency service or group failed to start." (WinMgmt)


 


Solution


Go to à services.msc à Select Enterprise Single Sign-On Service à Properties à Change password (if recently updated ) à Start the service


Go to Biztalk Admin Console à Host Instances à Start the host instance




 



Popular Posts