Skip to main content

Errors

When an action fails, the message goes to output 2. msg.payload.findings is the list of error messages. Each error message is { field, message }: the field that is wrong, and what is wrong. The running session does not change, except when the text says so.

The log of the node shows the same text, for example connect failed: endpoint: the server address must start with opc.tcp://.

In the tables, a word in <angle brackets> is a value that the node puts in the text.

Error messages of a message​

FieldError messageCauseWhat to do
actionmust be one of <actions>The action of the message is missing or unknown.Set msg.action to one of the listed values, in lower case.
endpointthe endpoint <id> is not found. Choose an endpoint in the dialog and deploy.The endpoint of the node is not deployed.Choose an endpoint in the dialog. Deploy.
licencethe text of the licence, or licence check failed: <reason>Connect and Reset need a Professional licence.Install a Professional licence.
config<action> does not use msg.config. Remove msg.config or send an empty one.Reset, Disconnect, Get the settings and Get the status take no values.Remove msg.config, or send {}.
modereset does not use msg.mode. A reset always goes back to all the endpoint settings.A Reset with msg.mode.Remove msg.mode.
modemust be "merge" or "replace"Another value in msg.mode.Use merge or replace.
configmust be an objectmsg.config is not an object.Send an object, for example { endpoint: "opc.tcp://host:4840" }.
configcannot be read from this messageThe node cannot read msg.config.Send a plain object.
<field>unknown fieldmsg.config holds a field that the node does not know.Correct the name. See Send values in a message.
<field>cannot be set by a messageThe field is fixed.Change it in the endpoint node. See Safety.
ifRevisionthe settings changed after you read them. The revision is <n>, not <m>. Read the settings again.Another message changed the settings.Send Get the settings again, and use the new revision.
ifRevisionmust be the revision number of the settingsmsg.ifRevision is not a whole number, 0 or more.Send the revision of Get the settings.

Error messages of the server address​

FieldError messageCauseWhat to do
endpointthis is not a valid server address. Example: opc.tcp://host:4840The text is not an address.Correct the address.
endpointthe server address must start with opc.tcp://Another scheme, for example http://.Use opc.tcp://.
endpointthe server address must have a port, for example opc.tcp://host:4840No port.Add the port.
endpointthe server address must not hold a user name or a password. Use the login fields.An address such as opc.tcp://user:pass@host:4840.Put the user name and the password in userName and password.
endpointIPv6 addresses are not supported yetThe host is an IPv6 address.Use a name or an IPv4 address.
endpointmust be a non-empty string of at most <n> charactersThe address is empty or too long (more than 2048 characters).Correct the address.
endpointthe server <host:port> is not in Allowed servers of this node (<n> <rules>). Add a rule for it, or use another server.No rule of Allowed servers allows this server.Add a rule, or use an allowed server. See Safety.
endpointthe server <address> does not answer (<reason>)The host does not accept a TCP connection.Check the address, the port, the network and the server.
endpointcannot get the list of security settings from the server (<reason>)The server does not answer GetEndpoints. Check gives this error message. Connect gives only a warning.Check the server.
userIdentityTyperequired when the server address moves to another host or portThe message changes the host or the port, and gives no login.Add userIdentityType, and the fields of that login.

Error messages of the security and the login​

FieldError messageCauseWhat to do
securityMode, securityPolicymust be one of <values>An unknown security mode or policy.Use one of the listed values.
securityPolicya security policy is necessary with securityMode <mode>Sign and SignAndEncrypt need a policy.Set securityPolicy, for example Basic256Sha256.
securityModethe server does not offer <mode> (<list>)The server does not offer this mode.Use a mode that the server offers. Check lists them.
securityPolicythe server does not offer <mode> with <policy> (<list>)The server does not offer this policy with this mode.Use a policy that the server offers.
userIdentityTypethe server does not accept <login type> with <security> (it accepts: <list>)The server does not accept this login with this security.Use a login type that the server accepts.
securityModea user name login needs Sign or SignAndEncrypt. With None, the password is not encrypted.A user name login with the mode None.Use Sign or SignAndEncrypt.
userIdentityTyperequired when the message carries a login field (<fields>)The message has a login field, but no login type, and the dialog has none.Add userIdentityType.
userIdentityTypemust be "Anonymous", "UserName" or "Certificate"An unknown login type.Use one of the listed values.
<field>not used with userIdentityType "<type>"A field that does not belong to the login type, for example a password with Anonymous.Remove the field.
userName, passwordmust be a non-empty string of at most <n> charactersEmpty or too long.Correct the value.

Error messages of the user certificate​

FieldError messageCauseWhat to do
userCertificate, userPrivatekeymust be a non-empty PEM textNo PEM text.Send the PEM text.
userCertificate, userPrivatekeymust be at most <n> charactersThe PEM text is too long (more than 16384 characters).Send a shorter text.
userCertificatemust hold exactly one PEM certificate (BEGIN CERTIFICATE), without a chainA chain, or no certificate.Send one certificate only.
userCertificateholds a private key. Put the key in userPrivatekey.The key is in the wrong field.Move the key to userPrivatekey.
userCertificateis not a valid PEM certificateThe text cannot be read.Send a correct PEM certificate.
userCertificatethe public key of the certificate must be an RSA key (EC and Ed25519 keys are not supported)An EC or Ed25519 certificate.Use an RSA certificate.
userCertificatethe certificate expired on <date>The certificate has expired.Use a valid certificate.
userCertificatethe certificate is not valid before <date>The certificate is not valid yet.Use a valid certificate.
userPrivatekeyis not a usable PEM private key. Use PKCS#8 or PKCS#1, encrypted or not.The text is not a private key.Send a correct PEM key.
userPrivatekeymust be an RSA key (EC and Ed25519 keys are not supported)An EC or Ed25519 key.Use an RSA key.
userPrivatekeydoes not match the certificateThe key belongs to another certificate.Send the key of this certificate.
userPrivatekeyPassphraserequired: the private key is encryptedNo passphrase for an encrypted key.Add the passphrase.
userPrivatekeyPassphrasewrong passphrase, or the private key is damagedThe passphrase does not open the key.Correct the passphrase or the key.
userPrivatekeyPassphrasethis private key is not encrypted. Remove the passphrase.A passphrase with a key that is not encrypted.Remove the passphrase.

Error messages of the advanced settings​

FieldError messageCauseWhat to do
maxRetry, initialDelay, maxDelaymust be an integer from <min> to <max>A value outside the bounds.Use a value in the bounds. See Advanced settings.
maxRetrymust be at least 1: with 0 a lost connection is never repairedmaxRetry: 0.Use 1 or more.
maxDelaymust be greater than initialDelay (<n>): node-opcua cannot back off from a delay to the same onemaxDelay is not more than initialDelay.Increase maxDelay.
namespaceAliasesmust be an array of { alias, namespaceUri }The table is not an array.Send an array.
namespaceAliases, subscriptionsmust hold at most <n> entriesThe table is too long (more than 64 entries).Send fewer entries.
namespaceAliases[i].aliasmust be a name of at most <n> letters, digits and underscores, not starting with a digitA wrong alias.Correct the alias.
namespaceAliases[i].aliasthe same alias is in namespaceAliases[<j>]Two entries with the same alias.Keep one entry.
namespaceAliases[i].namespaceUrimust be a non-empty namespace uri of at most <n> charactersAn empty or long URI.Correct the URI.
namespaceAliases[i].namespaceUria message cannot set a URI that starts with "~" (a pattern)A pattern in place of a URI.Use the full namespace URI.
subscriptions[i].idthe endpoint has no subscription with this id. A message cannot add or remove a subscription.An unknown id.Use an id that Get the settings lists.
subscriptions[i].idthe same id is in subscriptions[<j>]Two entries with the same id.Keep one entry.
subscriptions[i].parameters.<name>a message cannot set this value. The publishing interval, the keep-alive count and the lifetime count work together.A fixed parameter.Change it in the endpoint node.
subscriptions[i].parameters.publishingEnabledmust be true or falseAnother value.Use true or false.

Error messages of the connection​

FieldError messageCauseWhat to do
connection<cause>. The previous settings are in use again.The new session did not open, and the node used the previous settings again.Read the cause. Correct the settings.
connectionthe switch did not end within <n> s (the cause above)The new server did not open a session in 20 s.Check the server. Send Connect again.
validatea check is already running for this endpoint. Try again in a moment.Two Check messages at the same time.Send the second Check later.
nodea textAn unexpected error.Report it to Sterfive support.

Errors of the client nodes​

These errors come from a Read, Write, Call or other client node of the endpoint, not from the Endpoint Control node.

WhenError messageWhat to do
An Endpoint Control node changes the session now.the connection is changing to new settings. Try again in a moment.Send the message again later. A Catch node gets the message.
After a Disconnect.an endpoint control node closed the connection. Send Connect or Reset to that node to open it again.Send Connect or Reset to the Endpoint Control node.

Warnings in the log​

WhenWarningWhat to do
Deploy: a line of Allowed servers is not a rule.Allowed servers: line(s) <lines> are not rules. They match no server (<n> in all).Correct the line. See Safety.
Deploy: a flow file edited by hand holds a secret in the node."<field>" is stored in this node and is ignored. A password, a passphrase, a certificate and a private key come in the message only.Remove it from the flow file. Send it in the message.
Deploy: the node holds a field that the dialog does not have."<field>" is stored in this node and is ignored. The dialog does not have this field.Remove it from the flow file.
Deploy: an old flow holds values that the dialog does not have now.These stored values are ignored: <fields>. The dialog does not have them now. Send them in a message (msg.config, msg.mode, msg.ifRevision).Send them in a message.
Deploy: a value of the dialog is wrong.The dialog value <field> is not valid: <text>. A message that needs this value gets an error message.Open the dialog and correct the value.
Deploy: the dialog sets a server that Allowed servers does not allow.The server address of the dialog is not in Allowed servers: <text>Correct the server address or Allowed servers.
The first message with another msg.action than the fixed action.This node is set to "<action>". It ignores msg.action (<value>). To read the action from the message, set Action to "Let the message decide". This warning shows once.Remove msg.action, or set Action to "Let the message decide".
Connect could not get the endpoint list of the server. It continues.<text>. The settings were not checked against the server.If the session does not open, check the server.