When you get following errors with ENTSSO service after installing .Net 4.0 then you may need to apply the hotfix
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=46fa6c65-531a-4c9f-99f9-7af3fac098a6&displaylang=en.
Could not create SSOSQL. To fix the problem, reinstall SSO or try 'regasm SSOSQL.dll' from a Visual Studio command prompt.
Error Code: 0x80131700
or
The SSO service failed to start.
Error Code: 0x80131700
Friday, October 1, 2010
Tuesday, August 10, 2010
Adding a node usine Microsoft.RuleEngine.XMLHelper
Adding a node without a namespace in BRE using Microsoft.RuleEngine.XMLHelper can be done quite easily with AddNode method.
For eg :
Step 1. XmlHelper.AddNode(AcCanonicalSchemas.AcCommonPCTypes.MsgStatus:/MsgStatus, . ,ExtendedStatus)
2. XmlHelper.AddNodeWithValue(AcCanonicalSchemas.AcCommonPCTypes.MsgStatus:/MsgStatus, ./ExtendedStatus[position()=last()], ExtendedStatusCd, Code added in this node through BRE)
Step 1 adds a node to ExtendedStatus under MsgStatus TypedXMLDocument.
Step 2 adds a node ExtendedStatusCd and its value under ExtendedStatus node.
This is fine untill the TypedXMLDocument MsgStatus is without any namespace. If MsgStatus has a namespace for eg http://AcCanonicalSchemas.PANDC then the above code with addnode will generate xml as
<MsgStatus xmlns="http://AcCanonicalSchemas.PANDC"><ExtendedStatus xmlns=""><ExtendedStatusCd>Code added in this node through BRE</ExtendedStatusCd></ExtendedStatus></MsgStatus>
Which cannot be validated. To add a node with the same namespace, use the Xpath as below in .
Step 1
XmlHelper.AddNode(AcCanonicalSchemas.AcCommonPCTypes.MsgStatus:/MsgStatus, . ,ExtendedStatus, http://AcCanonicalSchemas.PANDC)
2. XmlHelper.AddNodeWithValue(AcCanonicalSchemas.AcCommonPCTypes.MsgStatus:/MsgStatus, ./*[local-name()='ExtendedStatus' and namespace-uri()=http://AcCanonicalSchemas.PANDC'][position()=last()], ExtendedStatusCd, Code added in this node through BRE)
This will generate Xml as
<MsgStatus xmlns="http://AcCanonicalSchemas.PANDC"><extendedstatus><ExtendedStatusCd>Code added in this node through BRE</ExtendedStatusCd></ExtendedStatus></MsgStatus>
This will make sure all nodes are under the same namespace.
For eg :
Step 1. XmlHelper.AddNode(AcCanonicalSchemas.AcCommonPCTypes.MsgStatus:/MsgStatus, . ,ExtendedStatus)
2. XmlHelper.AddNodeWithValue(AcCanonicalSchemas.AcCommonPCTypes.MsgStatus:/MsgStatus, ./ExtendedStatus[position()=last()], ExtendedStatusCd, Code added in this node through BRE)
Step 1 adds a node to ExtendedStatus under MsgStatus TypedXMLDocument.
Step 2 adds a node ExtendedStatusCd and its value under ExtendedStatus node.
This is fine untill the TypedXMLDocument MsgStatus is without any namespace. If MsgStatus has a namespace for eg http://AcCanonicalSchemas.PANDC then the above code with addnode will generate xml as
<MsgStatus xmlns="http://AcCanonicalSchemas.PANDC"><ExtendedStatus xmlns=""><ExtendedStatusCd>Code added in this node through BRE</ExtendedStatusCd></ExtendedStatus></MsgStatus>
Which cannot be validated. To add a node with the same namespace, use the Xpath as below in .
Step 1
XmlHelper.AddNode(AcCanonicalSchemas.AcCommonPCTypes.MsgStatus:/MsgStatus, . ,ExtendedStatus, http://AcCanonicalSchemas.PANDC)
2. XmlHelper.AddNodeWithValue(AcCanonicalSchemas.AcCommonPCTypes.MsgStatus:/MsgStatus, ./*[local-name()='ExtendedStatus' and namespace-uri()=http://AcCanonicalSchemas.PANDC'][position()=last()], ExtendedStatusCd, Code added in this node through BRE)
This will generate Xml as
<MsgStatus xmlns="http://AcCanonicalSchemas.PANDC"><extendedstatus><ExtendedStatusCd>Code added in this node through BRE</ExtendedStatusCd></ExtendedStatus></MsgStatus>
This will make sure all nodes are under the same namespace.
Labels:
Adding nodes in BRE,
BizTalk 2009,
BizTalk 2010,
BizTalk BRE,
XMLHelper
Tuesday, August 3, 2010
XSD.exe not able to generate C# classes when the schema uses imports
XSD.Exe is unable to generate C# classes when an import function is used to use the existing types from another schema. It throws a warning like
Schema could not be validated. Class generation may fail or may produce incorrect results.
Solution : Copy the imported schema(Schema with reuse types) to the same folder as the schema which is using its types and also don't use the reference when importing to get to the reusable types instead use the schema which is copied to the local folder and then execute the following command.
Xsd.exe NewSchema.xsd SchemaWithReuseTypes.xsd /c this should generate the corresponding c# class.
Schema could not be validated. Class generation may fail or may produce incorrect results.
Solution : Copy the imported schema(Schema with reuse types) to the same folder as the schema which is using its types and also don't use the reference when importing to get to the reusable types instead use the schema which is copied to the local folder and then execute the following command.
Xsd.exe NewSchema.xsd SchemaWithReuseTypes.xsd /c this should generate the corresponding c# class.
Wednesday, December 9, 2009
BizTalk HttpServiceInstances not getting terminated
Execute the below query against BizTalk messagebox database.
Declare @out int
Begin transaction
exec dbo.int_AdminTerminateInstance_BizTalkHttpHost '3ae6ac2f-9b24-407a-a072-63733bc84254', '3ae6ac2f-9b24-407a-a072-63733bc84254', @out
Commit
where BizTalkHttpHost is the host name of the active instance
First GUID value is the service instance id and second GUID is service type id.
Remember this is provided as is with no gurantee.
Declare @out int
Begin transaction
exec dbo.int_AdminTerminateInstance_BizTalkHttpHost '3ae6ac2f-9b24-407a-a072-63733bc84254', '3ae6ac2f-9b24-407a-a072-63733bc84254', @out
Commit
where BizTalkHttpHost is the host name of the active instance
First GUID value is the service instance id and second GUID is service type id.
Remember this is provided as is with no gurantee.
Thursday, June 4, 2009
User account issues while accessing BAM
BAM Web Services and SQL Server mixed mode authentication
This is an issue I see every once in while so let's see what causes it and how to diagnose and fix it.
You have created and deployed a BAM definition with some BAM views in it but when you hit the BAM Portal with IE all you see in the "My Views" pane on the left is an error message "Views or Activites may be missing because one or more database(s) could not be contacted." followed by "No view to display" message. Now what?
Your first step to troubleshooting such issues is the Windows Event Log on the machine hosting the IIS server running the BAM Portal and the BAM web services. The BAM event log entries will be in the Application event log. You can filter on event source equal to "BAM Portal" or "BAM Web Service". I will usually look at the last few errors from "BAM Web Service".
So you open the Windows Event Viewer and you see one error from "BAM Web Service" with event ID 12033. Double-click on it and the description says:
Referenced database 'BAMPrimaryImport' on server 'SERVERNAME' is not accessible. The error is:
System.NullReferenceException: Object reference not set to an instance of an object.at Microsoft.BizTalk.Bam.WebServices.AsyncResult.End(AsyncResult asyncResult)at Microsoft.BizTalk.Bam.WebServices.Management.GetViewSummaryAsyncResult.End(IAsyncResult result)at Microsoft.BizTalk.Bam.WebServices.Management.BamManagementService.EndGetViewSummaryForDatabase(IAsyncResult result)at Microsoft.BizTalk.Bam.WebServices.Management.BamManagementService.GetViewSummaryForCurrentUser().
Now what?
The second step to troubleshooting BAM Web Services issues is to... enable tracing. To turn on tracing go to the "Program Files\Microsoft BizTalk Server 2006\BAMPortal\BAMManagementService" directory (or "...\BAMQueryService") and open the web.config file with notepad. Uncomment theelement towards the end of the file. By default the traces will be saved in "C:\temp\BamManagementServiceTrace.log" or "C:\temp\BamQueryServiceTrace.log". Make sure that the IIS worker process user account (usually Network Service or ASPNET) and the BAM web service user have write permissions for the trace log file directory (C:\temp by default).
Turn on tracing for the BAM Management Web Service and refresh the BAM Portal home page in IE. Now open the trace file "C:\temp\BamManagementServiceTrace.log" and search for the string "Error" from the top of the file to find the first error. In this case the first error is:
06/13/2006 17:00:36 6 Microsoft.BizTalk.Bam.WebServices.TraceHelper ThrowHelperSoapException Error 11007 Cannot determine the SID for the user.
Bingo! This is the root cause of the problem.
Now some history behind this problem. The BAM Web Services authenticate all users using Windows authentication and authorize them based on their Windows identity. But there is a special case - DBO. DBO is a special account which has permissions to all BAM views. So the BAM Web Services will try to find the Windows identity for the DBO user for the BAM Primary Import database and they will fail if this is a SQL account.
BAM does not support anything other than Windows authentication for SQL Server. If everything else seems to work, there is no guarantee that it actually does and it will continue to work in the future. True, the error is not intuitive but it is correct.
How to resolve the problem now that we have identified it? It is really easy indeed. Just change the DBO accounts for all BAM databases to Windows accounts. You can do this using the sp_changedbowner system stored procedure.
To set DBO to the "domain\user" account run:
use BAMPrimaryImportgosp_changedbowner 'domain\user'go
Navigate to the BAM Portal and verify that you see all BAM views and no errors in the left pane on the home page.
There is a pretty nice BizTalk Installation Guide, which you can use the next time you setup BizTalk Server to avoid such issues.
Filed under: BAM
This is an issue I see every once in while so let's see what causes it and how to diagnose and fix it.
You have created and deployed a BAM definition with some BAM views in it but when you hit the BAM Portal with IE all you see in the "My Views" pane on the left is an error message "Views or Activites may be missing because one or more database(s) could not be contacted." followed by "No view to display" message. Now what?
Your first step to troubleshooting such issues is the Windows Event Log on the machine hosting the IIS server running the BAM Portal and the BAM web services. The BAM event log entries will be in the Application event log. You can filter on event source equal to "BAM Portal" or "BAM Web Service". I will usually look at the last few errors from "BAM Web Service".
So you open the Windows Event Viewer and you see one error from "BAM Web Service" with event ID 12033. Double-click on it and the description says:
Referenced database 'BAMPrimaryImport' on server 'SERVERNAME' is not accessible. The error is:
System.NullReferenceException: Object reference not set to an instance of an object.at Microsoft.BizTalk.Bam.WebServices.AsyncResult.End(AsyncResult asyncResult)at Microsoft.BizTalk.Bam.WebServices.Management.GetViewSummaryAsyncResult.End(IAsyncResult result)at Microsoft.BizTalk.Bam.WebServices.Management.BamManagementService.EndGetViewSummaryForDatabase(IAsyncResult result)at Microsoft.BizTalk.Bam.WebServices.Management.BamManagementService.GetViewSummaryForCurrentUser().
Now what?
The second step to troubleshooting BAM Web Services issues is to... enable tracing. To turn on tracing go to the "Program Files\Microsoft BizTalk Server 2006\BAMPortal\BAMManagementService" directory (or "...\BAMQueryService") and open the web.config file with notepad. Uncomment the
Turn on tracing for the BAM Management Web Service and refresh the BAM Portal home page in IE. Now open the trace file "C:\temp\BamManagementServiceTrace.log" and search for the string "Error" from the top of the file to find the first error. In this case the first error is:
Bingo! This is the root cause of the problem.
Now some history behind this problem. The BAM Web Services authenticate all users using Windows authentication and authorize them based on their Windows identity. But there is a special case - DBO. DBO is a special account which has permissions to all BAM views. So the BAM Web Services will try to find the Windows identity for the DBO user for the BAM Primary Import database and they will fail if this is a SQL account.
BAM does not support anything other than Windows authentication for SQL Server. If everything else seems to work, there is no guarantee that it actually does and it will continue to work in the future. True, the error is not intuitive but it is correct.
How to resolve the problem now that we have identified it? It is really easy indeed. Just change the DBO accounts for all BAM databases to Windows accounts. You can do this using the sp_changedbowner system stored procedure.
To set DBO to the "domain\user" account run:
use BAMPrimaryImportgosp_changedbowner 'domain\user'go
Navigate to the BAM Portal and verify that you see all BAM views and no errors in the left pane on the home page.
There is a pretty nice BizTalk Installation Guide, which you can use the next time you setup BizTalk Server to avoid such issues.
Filed under: BAM
Saturday, September 13, 2008
SQL server 2005 installation issues
SQL server 2005 installation issues.Menu options in Start Programs not being dispalyed for SQL server 2005 after installation.
Solution.
Client components are not installed properly. You may need to uninstall workstation components and reinstall them from Disk1.
Follow the article http://support.microsoft.com/default.aspx?scid=kb;EN-US;909953
Solution.
Client components are not installed properly. You may need to uninstall workstation components and reinstall them from Disk1.
Follow the article http://support.microsoft.com/default.aspx?scid=kb;EN-US;909953
Saturday, March 22, 2008
Could not configure BAM Portal in BizTalk 2006
When configuring BAM Portal you may come across a situation where in you cannot select users and groups in the BAP Portal configuration page in BizTalk configuration window.
This may happen due to various reasons and one of them is as below.
- If you have already configured BAM Portal but removed the portal from the website. Hence the configuration information remained in the BAM Config tables and is not removed from there.
To clear the config information stored earlier, use the BM.EXE and export the config file into a xml and removed thehttp://ServerName:80/BAM and reimport the config file using BM.EXE.
Now you should be able to configure the BAM portal from BizTalk Configuration window.
This may happen due to various reasons and one of them is as below.
- If you have already configured BAM Portal but removed the portal from the website. Hence the configuration information remained in the BAM Config tables and is not removed from there.
To clear the config information stored earlier, use the BM.EXE and export the config file into a xml and removed the
Now you should be able to configure the BAM portal from BizTalk Configuration window.
Subscribe to:
Posts (Atom)