Skip to main content

Hi All,


getting the below error while creating Smart Object in Sp 2010 environment. Installation was properly done.


Any hlep !!!!


 


Deploy SmartObjects: Task error: SmartObject Server Exception: Dependancy could not be created: System.Transactions.TransactionManagerCommunicationException: Communication with the underlying transaction manager has failed. ---> System.Runtime.InteropServices.COMException (0x8004D01B): The Transaction Manager is not available. (Exception from HRESULT: 0x8004D01B)
   at System.Transactions.Oletx.IDtcProxyShimFactory.ConnectToProxy(String nodeName, Guid resourceManagerIdentifier, IntPtr managedIdentifier, Boolean& nodeNameMatches, UInt32& whereaboutsSize, CoTaskMemHandle& whereaboutsBuffer, IResourceManagerShim& resourceManagerShim)
   at System.Transactions.Oletx.DtcTransactionManager.Initialize()
   --- End of inner exception stack trace ---
   at System.Transactions.Oletx.OletxTransactionManager.ProxyException(COMException comException)
   at System.Transactions.Oletx.DtcTransactionManager.Initialize()
   at System.Transactions.Oletx.DtcTransactionManager.get_ProxyShimFactory()
   at System.Transactions.TransactionInterop.GetOletxTransactionFromTransmitterPropigationToken(Bytea] propagationToken)
   at System.Transactions.TransactionStatePSPEOperation.PSPEPromote(InternalTransaction tx)
   at System.Transactions.TransactionStateDelegatedBase.EnterState(InternalTransaction tx)
   at System.Transactions.EnlistableStates.Promote(InternalTransaction tx)
   at System.Transactions.Transaction.Promote()
   at System.Transactions.TransactionInterop.ConvertToOletxTransaction(Transaction transaction)
   at System.Transactions.TransactionInterop.GetExportCookie(Transaction transaction, Bytea] whereabouts)
   at System.Data.SqlClient.SqlInternalConnection.GetTransactionCookie(Transaction transaction, ByteT] whereAbouts)
   at System.Data.SqlClient.SqlInternalConnection.EnlistNonNull(Transaction tx)
   at System.Data.ProviderBase.DbConnectionInternal.ActivateConnection(Transaction transaction)
   at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
   at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
   at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
   at System.Data.SqlClient.SqlConnection.Open()
   at SourceCode.Dependancy.Connection.OpenConnection(String connectionString)
   at SourceCode.Dependancy.ScDependancyService.ResolveClassType(Guid classGuid)
   at SourceCode.Hosting.Services.DependancyService.VerifyObjects(List`1 parents)
   at SourceCode.Hosting.Services.DependancyService.CreateDepenancyBatch(Dictionary`2 depenancyBatch). SmartObject: Btestlist]

First thing I would check is that MSDTC is configured correctly on your K2 Server, SharePoint Server(s) and your SQL Server.


http://help.k2.com/en/k2blackpearluserguide.aspx?page=MSDTC.html


Check uses a tool like DTCPING to test between the K2 Server and SQL server. Was this server cloned in any way? If so uninstall MSDTC and reinstall to change the CID of the server and then configure as per K2 docs.


HTH


Vernon


Thanks for the quick reply.


MSDTC was installed correctly. 


Server is not cloned. Server A - K2, SP 2010, Server B - SQL 2008 with 2 instances one for SP & one for K2.


I ran DTCPING on both servers, Follwing are the results:


Please Start Partner DTCping before pinging
++++++++++++Validating Remote Computer Name++++++++++++
Please refer to following log file for details:
 C:Usersfslr_sp2007AppDataLocalTemp2SCSHYD-17410552.log
Invoking RPC method on scshyd-098
Problem:fail to invoke remote RPC method
Error(0x6D9) at dtcping.cpp @303
-->RPC pinging exception
-->1753(There are no more endpoints available from the endpoint mapper.)
RPC test failed
Please hit PING button to complete the test
Please send following LOG to Microsoft for analysis:
 Partner LOG: SCSHYD-0983808.log
 My LOG: SCSHYD-17410552.log
++++++++++++Start Reverse Bind Test+++++++++++++
Received Bind call from SCSHYD-098
Trying Reverse Bind to SCSHYD-098
Reverse Binding success: SCSHYD-174-->SCSHYD-098
++++++++++++Reverse Bind Test ENDED++++++++++


 


 


Please Start Partner DTCping before pinging
++++++++++++Validating Remote Computer Name++++++++++++
Please refer to following log file for details:
 C:Usersfslr_sp2007AppDataLocalTemp2SCSHYD-17410552.log
Invoking RPC method on scshyd-098
Problem:fail to invoke remote RPC method
Error(0x6D9) at dtcping.cpp @303
-->RPC pinging exception
-->1753(There are no more endpoints available from the endpoint mapper.)
RPC test failed
Please hit PING button to complete the test
Please send following LOG to Microsoft for analysis:
 Partner LOG: SCSHYD-0983808.log
 My LOG: SCSHYD-17410552.log
++++++++++++Start Reverse Bind Test+++++++++++++
Received Bind call from SCSHYD-098
Trying Reverse Bind to SCSHYD-098
Reverse Binding success: SCSHYD-174-->SCSHYD-098
++++++++++++Reverse Bind Test ENDED++++++++++


 


I see two servers, SCSHYD-098 and SCSHYD-174 can you please elaborate which is which? I also onle see that the DTCPing tool was only run in one direction. From SCSHYD-174 to SCSHYD-098. What was the test result the other way round?


I would suggest trying two things here. Configure DTC for no authentication required and see if it resolves the issue. Also run the K2 configuration Analysis tool again and see if it validates the MSDTC correctly, this can give us more info on what is going on as well.


If all else fail and if possible try uninstalling MSDTC on K2Server and SQL server and reinstall/Reconfigure it.


run the following in the cmd on both the servers:


msdtc -uninstall


and then msdtc –install


HTH


Vernon


you can also try settings in the configuration of DTC like this:


Enable Transaction Internet Protocol (TIP) Transactions


Enable XA Transactions


 


Vennon,


Thanks for your suggestion. 


I kept, 'Transaction Manager Communication' as it is to 'Incoming Caller Authentication is Required' and checked 'Enable XA Transactions" checkbox, then its working. But the K2 installation guide did not mention anything about checking the 'Enable XA Transactions' checkbox.


Yes I know it’s not mentioned in the docs, I don’t know the technicalities behind this, but I would think that only in certain environment setups that is needed. Glad it worked for you. Thank a DBA can give more insight of exactly what that option does.


I think the only settings that matter should be the authentication method (the K2 server and SQL server settings need to be in sync), the "Allow Remote Clients", "Allow Inbound" and "Allow Outbound" settings.


We don't rely or use the TIP and XA options.  XA transactions usually involved providers for Oracle and DB2.


Reply