K2 for SharePoint - App Activation failed with error: "An existing connection was forcibly closed by the remote host"
KBS100073
PRODUCTIssue
When running the 'Manage App Activation' under the Administration section of K2 for SharePoint, the following error appeared:
The following error is present in the HostServer Logs:
"Error","General","0","ErrorMessage","IntegrationService.Execute","0 SourceCode.Hosting.Exceptions.APICommunicationException: Error Receiving Buffer:An established connection was aborted by the software in your host machine ---> System.Net.Sockets.SocketException: An established connection was aborted by the software in your host machine at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags) at SourceCode.Hosting.Client.BaseAPI.SocketBaseAPIConnection.OnReceiveBuffer(Byte[]& recvBuff) at SourceCode.Hosting.Client.BaseAPI.BaseAPIConnection.ReceiveData(ValueType& hd)
--- End of inner exception stack trace ---
at SourceCode.Hosting.Client.BaseAPI.BaseAPIConnection.ReceiveData(ValueType& hd)
at SourceCode.Hosting.Client.BaseAPI.BaseAPIConnection.WindowsAuthentication(SCConnectionStringBuilder connectionStringBuilder)
at SourceCode.Hosting.Client.BaseAPI.BaseAPIConnection.Authenticate(String connectionString)
at SourceCode.Hosting.Client.BaseAPI.SocketBaseAPIConnection.OnOpen(SCConnectionStringBuilder connectionStringBuilder)
at SourceCode.Hosting.Client.BaseAPI.BaseAPIConnectionBroker.OnOpen(SCConnectionStringBuilder connectionStringBuilder)
at SourceCode.Hosting.Client.BaseAPI.BaseAPIConnection.Open(String connectionString)
at SourceCode.SmartObjects.Services.SharePoint.Integration.Execution.Execute.ManageSolutionDesignerServerRights(String siteUrl, String groupIds, Boolean removeUnspecified)
at SourceCode.SmartObjects.Services.SharePoint.Integration.Execution.Execute.ManageK2ApplicationSettings(ServiceInstance Service)
at SourceCode.SmartObjects.Services.SharePoint.Integration.IntegrationService.Execute(). Additional info: IntegrationService.Execute."
Symptoms
This could be as a result of a mismatch between the WorkflowServer Host name and the Host name received from the K2 Server.Resolution
To resolve this issue, complete the following steps:1. Decrypt the K2HostServer.exe.config file
- Stop the K2 Blackpearl server service
- Backup the "K2HostServer.exe.config" file
- Create a directory on the C: drive - "C:Temp"
- Make a copy of the "K2HostServer.exe.config" to "C:Temp" directory
- Rename the K2HostServer.exe.config in the "C:Temp" directory it to "web.config"
- Run Command Prompt in Administrator Mode
- Run 'cd C:WindowsMicrosoft.NETFramework64v4.0.30319' to change directory to this framework version
- Run 'aspnet_regiis.exe -pdf "connectionStrings" "C:Temp"'
- This command will decrypt the encrypted 'connnectionStrings' section
2. In the web.config file search for 'connectionStrings' and in the connectionStrings section search for 'WorkflowServer'
3. Change the Host from the fully qualified name to the PC name:
e.g.
Host=K2server.domain.com to Host=K2server
4. Rename the web.config file to 'K2HostServer.exe.config'
5. Copy the K2HostServer.exe.config to the following directory: 'K2 BlackpearlHost ServerBin'
6. Start the K2 Blackpearl Server Service.