Receiving SmartObject Server Exception error when trying to deploy a process on a SQLUM Installation.
The error is due to an incorrect setting between the K2 SmartObjects and the Distributed Transaction Coordinator (DTC). This workaround is specifically applicable on a SQLUM installation.
When Not Using SmartObjects
SmartObjects are not required, the following settings can be unchecked on the SmartObject Association screen of the process:
- Create Workflow Reporting SmartObjects
- Enforce SmartObject GUID Integrity
These settings are selected by default when a process is created
When Using SmartObjects
If SmartObjects are required, it is advised to validate the DTC settings as recommended by Microsoft on their Help and Support site.
Information on how to enable DTC between Web Servers and SQL Servers running Windows Server 2003 can be found at http://support.microsoft.com/kb/555017.
While investigating the specific scenario, it was noted that this was a SQLUM install and the following were picked up as problem areas and had to be corrected on the specific environment:
- Enable Network access for MSDTC.
- Disable RPCSecurity on the SQL machine as recommended
- If the machines on which K2 Server and SQL run are clones, the MSDTC CID might be the same. To fix this, uninstall and then re-install MSDTC.
- The Transaction Manager Communication should be set to “no authentication required”.
The following is an extract from http://support.microsoft.com/kb/555017 of the steps that were followed to disable RPC Security for MSDTC Service on the SQL Server:
Step Five: Disable RPC Security for MSDTC Service on SQL Server
This step requires accessing and modifying the registry. If you have not already done so, it is highly recommended that you back up the registry at this time.
1. Click Start, click Run, type in "Regedt32", and click OK.
2. Select HKEY_LOCAL_MACHINE, then SOFTWARE, then Microsoft.
3. Right-click on MSDTC, point to Add, then select DWORD Value.
4. Rename the key from the default New Value #1 to TurnOffRpcSecurity.
5. Double-click the new key and change the value to 1.
6. Close the Registry Editor and restart the SQL Server
For more information on this step, see MSKB 827805