HTTP Troubleshooting

Topics Overview:

PDDR is not recording

PDDR fails to connect - “Unable to resolve token Unauthorized”

PDDR Aerobase user is not defined

I need the Aerobase password

PDDR fails to connect - “connected host has failed to respond”

PDDR fails to connect - “The remote name could not be resolved”

PDDR fails to connect - “The HTTP request failed with status code NotFound”

PDDR is not recording

Open %localappdata%\Nintex\ActionsRecorder\logs\pddr-Error.log if exists to check if there are any communication errors.

PDDR fails to connect - “Unable to resolve token Unauthorized”

When PDDR fails to connect, you might observe the following error on pddr-error.log:

{"unit":"pddr","uniqueIdentifier":"PDDR-F874BEE1EE9772CBA8FF06066510BB0CE9381719826A7A3C48E0FD11E924CB28","level":"Error","time":1618904387,"message":"Failed while sending a message. Error -> System.Exception: Error on token request ---> System.Exception: unable to resolve token Unauthorized\r\n
at Nintex.ABPD.RecorderCommunication.GraphQL.GraphQlHttpMessageHandler.<TokenRequest>d__9.MoveNext()\r\n
--- End of stack trace from previous location where exception was thrown ---\r\n
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n
at Nintex.ABPD.RecorderCommunication.GraphQL.GraphQlHttpMessageHandler.<GetToken>d__10.MoveNext()\r\n
--- End of stack trace from previous location where exception was thrown ---\r\n
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n
at Nintex.ABPD.RecorderCommunication.GraphQL.GraphQlHttpMessageHandler.<SendAsync>d__7.MoveNext()\r\n
--- End of inner exception stack trace ---\r\n
at Nintex.ABPD.RecorderCommunication.GraphQL.GraphQlHttpMessageHandler.<SendAsync>d__7.MoveNext()\r\n
--- End of stack trace from previous location where exception was thrown ---\r\n
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n
at System.Net.Http.HttpClient.<FinishSendAsyncUnbuffered>d__59.MoveNext()\r\n
--- End of stack trace from previous location where exception was thrown ---\r\n
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n
at GraphQL.Client.Http.GraphQLHttpClient.<SendHttpRequestAsync>d__28`1.MoveNext()\r\n
--- End of stack trace from previous location where exception was thrown ---\r\n
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n
at GraphQL.Client.Http.GraphQLHttpClient.<SendQueryAsync>d__23`1.MoveNext()\r\n
--- End of stack trace from previous location where exception was thrown ---\r\n
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n
at Nintex.ABPD.RecorderCommunication.HttpCommunicationManager.<SendRobotStatus>d__29.MoveNext()\r\n
--- End of stack trace from previous location where exception was thrown ---\r\n
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n
at Nintex.ABPD.RecorderCommunication.HttpCommunicationManager.<SendStatusUpdate>d__24.MoveNext()"}

  1. Make sure PDDR’s Aerobase user is defined on the server:

    1. Open a browser on the server and navigate to http://localhost/auth/admin/kryon/console/#/realms/kryon (default credentials: authadmin/Kryon123!)

    2. On the left menu select Users > View all users

    3. Search for the "pddr" username and make sure it is defined (i.e., it exists in the table).

  2. PDDR user isn’t defined? Define it.

  3. Make sure the password is correct:

    1. Open ${InstallationFolder}\Nintex\PDServer\Support\pddr.keys and verify that it contains the role Nintex_PD_Web_Client/pddr with an encrypted password.

    2. Copy the keys file to PDDR’s installation folder and restart PDDR.

  4. Make sure the PDDR user isn’t locked on Aerobase:

Aerobase might lock the pddr user after several failed connection attempts (incorrect credentials).

To check if the PDDR user is locked:

  1. Navigate to Aerobase UI ( http://localhost/auth/admin/kryon/console/#/realms/kryon default credentials: authadmin/Kryon123!) > Users > PDDR user > Click on the PDDR's ID > Details tab.

  2. Check if the user locked or not - unclock if locked:

PDDR Aerobase user is not defined

  1. Open CMD as admin and run

  2. cd C:\Nintex\PDServer\Support\Nintex-admin-cli
    set CONFIG_DIR=C:\Nintex\config
    set NODE_ENV=prod
    set Nintex_ENC_CFG=C:\Nintex\config\prod\general\Nintex-decrypt.json
    set NODE_PATH=C:\Nintex\PDServer\MicroServices\node_modules
    node bin\cli.js --provider=aerobase --command=addUser --authUserName=authAdmin --authUserPassword=Kryon123! --userName=pddr --roleName=pd-robot --vaultPath=C:\Nintex\PdServer\support\pddr.keys

  3. Copy the keys file to PDDR’s installation folder and restart PDDR

I need the Aerobase password

  1. Set the password when adding the user (instead of generating one):

    1. Open CMD as admin and run

    2. cd C:\Nintex\PDServer\Support\Nintex-admin-cli
      set CONFIG_DIR=C:\Nintex\config
      set NODE_ENV=prod
      set Nintex_ENC_CFG=C:\Nintex\config\prod\general\Nintex-decrypt.json
      set NODE_PATH=C:\Nintex\PDServer\MicroServices\node_modules
      node bin\cli.js --provider=aerobase --command=addUser --authUserName=authAdmin --authUserPassword=Kryon123! --userName=pddr --auth=Pd123456789!! --roleName=pd-robot --vaultPath=C:\Nintex\PdServer\support\pddr.keys

    3. Copy the keys file to PDDR’s installation folder and restart PDDR

  2. Reset the password:

    1. Open CMD as admin and run

    2. cd C:\Nintex\PDServer\Support\Nintex-admin-cli
      set CONFIG_DIR=C:\Nintex\config
      set NODE_ENV=prod
      set Nintex_ENC_CFG=C:\Nintex\config\prod\general\Nintex-decrypt.json
      set NODE_PATH=C:\Nintex\PDServer\MicroServices\node_modules
      node bin\cli.js --provider=aerobase --command=changeUserPassword --authUserName=authAdmin --authUserPassword=Kryon123! --userName=pddr --auth=Kryon123! --vaultPath=C:\Nintex\PdServer\support\pddr.keys

    3. Copy the keys file to PDDR’s installation folder and restart PDDR

  3. Decrypt the password:

    1. Open PDDR’s keys file ${InstallationFolder}\Nintex\PDServer\Support\pddr.keys

    2. Copy the encrypted password from line:

    3. Nintex_PD_Web_Client/pddr=${TheEncryptedPasswordYouShouldCopy}

    4. Open CMD as admin and run

  4. cd C:\Nintex\PDServer\Support\Nintex-admin-cli
    set CONFIG_DIR=C:\Nintex\config
    set NODE_ENV=prod
    set Nintex_ENC_CFG=C:\Nintex\config\prod\general\Nintex-decrypt.json
    set NODE_PATH=C:\Nintex\PDServer\MicroServices\node_modules
    node bin\cli.js --provider=vault --command=decryptPhrase --phrase=${TheEncryptedPasswordYouShouldCopy}

PDDR fails to connect - “connected host has failed to respond”

When PDDR fails to connect, you might observe the following error on pddr-error.log:

unable to connect to the remote server --->
System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time,
or established connection failed because connected host has failed to respond 10.225.5.4:80

  1. Open port 80 on the server:

    1. Click Start > Windows Defender Firewall > Advanced Settings

    2. On the left menu, select Inbound Rules > New Rule

    3. Select the tab Protocols and Ports 

    4. For Local port, set Specific Ports: 80 .

    5. In the prompted window, allow the connections (default) > select all (default) > give the rule a meaningful name > Finish

    6. Save / OK.

PDDR fails to connect - “The remote name could not be resolved”

When PDDR fails to connect, you might observe the following error on pddr-error.log:

System.Exception: Error on token request ---> System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.WebException: The remote name could not be resolved: 'Nintex-pd-22066.Nintex.cloud'\r\n
at System.Net.HttpWebRequest.EndGetRequestStream(IAsyncResult asyncResult, TransportContext& context)\r\n
at System.Net.Http.HttpClientHandler.GetRequestStreamCallback(IAsyncResult ar)\r\n
— End of inner exception stack trace ---\r\n
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n
at System.Net.Http.HttpClient.<FinishSendAsyncBuffered>d_58.MoveNext()\r\n
--- End of stack trace from previous location where exception was thrown ---\r\n
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n
at Nintex.ABPD.RecorderCommunication.GraphQL.GraphQlHttpMessageHandler.<TokenRequest>d9.MoveNext() in C:\\git\\Nintex_PD\\Src\\ABPD\\DiscoveryRobot\\Nintex.ABPD.RecorderCommunication\\GraphQLGraphQLHttpMessageHandler.cs:line 80\r\n
--- End of stack trace from previous location where exception was thrown ---\r\n
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n
at Nintex.ABPD.RecorderCommunication.GraphQL.GraphQlHttpMessageHandler.<GetToken>d10.MoveNext() in C:\\git\\Nintex_PD\\Src\\ABPD\\DiscoveryRobot\\Nintex.ABPD.RecorderCommunication\\GraphQLGraphQLHttpMessageHandler.cs:line 96\r\n
--- End of stack trace from previous location where exception was thrown ---\r\n
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n
at Nintex.ABPD.RecorderCommunication.GraphQL.GraphQlHttpMessageHandler.<SendAsync>d7.MoveNext() in C:\\git\\Nintex_PD\\Src\\ABPD\\DiscoveryRobot\\Nintex.ABPD.RecorderCommunication\\GraphQLGraphQLHttpMessageHandler.cs:line 49\r\n
--- End of inner exception stack trace ---\r\n
at Nintex.ABPD.RecorderCommunication.GraphQL.GraphQlHttpMessageHandler.<SendAsync>d7.MoveNext() in C:\\git\\Nintex_PD\\Src\\ABPD\\DiscoveryRobot\\Nintex.ABPD.RecorderCommunication\\GraphQLGraphQLHttpMessageHandler.cs:line 53\r\n
--- End of stack trace from previous location where exception was thrown ---\r\n
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n
at System.Net.Http.HttpClient.<FinishSendAsyncUnbuffered>d59.MoveNext()\r\n
--- End of stack trace from previous location where exception was thrown ---\r\n
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n
at GraphQL.Client.Http.GraphQLHttpClient.<SendHttpRequestAsync>d28`1.MoveNext()\r\n
--- End of stack trace from previous location where exception was thrown ---\r\n
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n
at GraphQL.Client.Http.GraphQLHttpClient.<SendQueryAsync>d23`1.MoveNext()\r\n
--- End of stack trace from previous location where exception was thrown ---\r\n
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n
at Nintex.ABPD.RecorderCommunication.HttpCommunicationManager.<SendRobotStatus>d29.MoveNext() in C:\\git\\Nintex_PD\\Src\\ABPD\\DiscoveryRobot\\Nintex.ABPD.RecorderCommunicationHttpCommunicationManager.cs:line 153\r\n
--- End of stack trace from previous location where exception was thrown ---\r\n
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n
at Nintex.ABPD.RecorderCommunication.HttpCommunicationManager.<SendStatusUpdate>d_24.MoveNext() in C:\\git\\Nintex_PD\\Src\\ABPD\\DiscoveryRobot\\Nintex.ABPD.RecorderCommunicationHttpCommunicationManager.cs:line 63"}

  1. Fix the DNS problem by updating the hosts file on the client machine (PDDR machine) by:

    1. Open C:\Windows\System32\drivers\etc\hosts file in notepad editor

    2. Add the server IP + FQDN as following:

    3. 10.225.13.243 euce1-pd-rnd-13-243.Nintex.cloud

    4. Save the file and re-run PDDR

    5. You can verify the fix by using the ping command to the machine FQDN.

    6. EXAMPLE:

PDDR fails to connect - “The HTTP request failed with status code NotFound”

When PDDR fails to connect, you might observe the following error on pddr-error.log:

{"unit":"pddr","uniqueIdentifier":"PDDR-5EA42760CF6E32E96DD266CAE2F9827D16E8C1FAB3BB01A859F1DA07F59D12C8","level":"Error","time":1618830874,"message":"Failed while sending a message. Error -> GraphQL.Client.Http.GraphQLHttpRequestException: The HTTP request failed with status code NotFound\r\n
at GraphQL.Client.Http.GraphQLHttpClient.<SendHttpRequestAsync>d__28`1.MoveNext()\r\n
--- End of stack trace from previous location where exception was thrown ---\r\n
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n
at GraphQL.Client.Http.GraphQLHttpClient.<SendQueryAsync>d__23`1.MoveNext()\r\n
--- End of stack trace from previous location where exception was thrown ---\r\n
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n
at Nintex.ABPD.RecorderCommunication.HttpCommunicationManager.<SendRobotStatus>d__32.MoveNext() in C:\\git\\Nintex_PD\\Src\\ABPD\\DiscoveryRobot\\Nintex.ABPD.RecorderCommunication\\HttpCommunicationManager.cs:line 155\r\n
--- End of stack trace from previous location where exception was thrown ---\r\n
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n
at Nintex.ABPD.RecorderCommunication.HttpCommunicationManager.<SendStatusUpdate>d__27.MoveNext() in C:\\git\\Nintex_PD\\Src\\ABPD\\DiscoveryRobot\\Nintex.ABPD.RecorderCommunication\\HttpCommunicationManager.cs:line 64"}

This is a proxy problem - you should debug it on the server machine by checking NGINX files.

EXAMPLE:

C:\Nintex\IDP\Aerobase\Logs\nginx\access.log (log files)

C:\Nintex\IDP\Aerobase\Data\nginx\conf.d\Nintex-pddr-locations.import (config file)