Skip to main content

i4scada Knowledge Base

WCS (Communication Server) Return Error Codes

Abstract

Check out this article and learn more details about the i4scada Communication Server Return error codes.

Method

Error Code

Authentication

STDMETHODIMP GetAuthChallenge(BSTR* challenge, LONG* returnValue)

Return value

  • 999999999 = authentication failed, for example when challenge string fetched more than once

  • 0 = success

STDMETHODIMP SetAuthResponse(BSTR response, LONG* returnValue)

Return value

  • 999999999 = authentication failed, for example when challenge string not fetched before or when it is incorrect

  • 0 = success

ServerConnector object/interface

STDMETHODIMP CServerConnector::CreateSignals(VARIANT signalNames, VARIANT* results, LONG* returnValue)

Return value

  • 999999999 = authentication failed

  • -2 = signalNames is not safearray of VT_BSTR

  • -3 = other problems with signalNames safearray

  • 0 = success

Results

is safearray of VT_I4, and array elements may have the values of

  • 2 = success: ownership forcibly taken from other ServerConnector instance

  • 1 = signal already used by this connector object ( but still success )

  • 0 = success

CServerConnector::CreateSignals2

Return value

  • 999999999 = authentication failed

  • -2 = signalFlags is not safearray of VT_I4

  • -3 = other problems with signalNames safearray

  • 0 = success

Results

is safearray of VT_I4, and array elements may have the values of

  • 2 = success: ownership forcibly taken from other ServerConnector instance

  • 1 = signal already used by this connector object ( but still success )

  • 0 = success

STDMETHODIMP CServerConnector::ReleaseSignals(VARIANT signalNames, VARIANT* results, LONG* returnValue)

Return value

  • 999999999 = authentication failed

  • -2 = signalNames is not safearray of VT_BSTR

  • -3 = other problems with signalNames safearray

  • 0 = success

Results

is safearray of VT_I4, and array elements may have the values of

  • -1 = signal not registered by this connector object

  • 0 = success

STDMETHODIMP CServerConnector::UpdateSignals(VARIANT signalNames, VARIANT signalValues, VARIANT* results, LONG* returnValue)

Return value

  • 999999999 = authentication failed

  • -2 = signalNames is not safearray of VT_BSTR

  • -3 = other problems with signalNames safearray

  • -4 = problem with signalValues safearray

  • -5 = signalNames and signalValues safearray differ in number of elements

  • 0 = success

Results

is safearray of VT_I4, and array elements may have the values of

  • -1 = signal not registered by this connector object

  • 0 = success

STDMETHODIMP CServerConnector::WriteAsyncRequestResult(BSTR asyncID, VARIANT results, LONG* returnValue)

Return value

  • 999999999 = authentication failed

  • -2 = results is not safearray of VT_I4

  • 0 = success

STDMETHODIMP CServerConnector::GetAllSessionGUIDs(VARIANT* sessionGUIDs, LONG* returnValue)

Return value

  • 999999999 = authentication failed

  • 0 = success

STDMETHODIMP CServerConnector:: GetConnectedSignals (LONG changeOnly, VARIANT* signalNames, VARIANT* connectStates, LONG* returnValue)

Return value

  • 999999999 = authentication failed

  • 0 = success

Parameters:

  • changeOnly is currently reserved

  • signalNames contain names of the signals that changed since last call of GetConnectedSignals

  • connectedStates contains connection status of the signal. -1 means that signal is not “owned” by the particular ServerConnector any more, 0 or positive value contains number of the clients connected

If there are no changes since the last call to GetConnectedSignals than signalNames and connectedStates are VT_EMPTY

CServerConnector::TheName

Return value

  • 0 = success

CServerConnector::Shutdown

Return value

  • 0 = success

ClientConnector object/interface

STDMETHODIMP CClientConnector::Connect(BSTR sessionGUID, LONG* returnValue)

Return value

  • 999999999 = authentication failed

  • -1 = sessionGUID is empty

  • -2 = sessionGUID is already used by some other client or webservice connector object

  • 0 = success

STDMETHODIMP CClientConnector::Disconnect(LONG* returnValue)

Return value

  • 999999999 = authentication failed

  • 0 = success

STDMETHODIMP CClientConnector::RegisterSignals(VARIANT signalNames, VARIANT* results, LONG* returnValues)

Return value

  • 999999999 = authentication failed

  • -1 = Connect failed or was not executed or Disconnect was executed

  • -2 = signalNames is not safearray of VT_BSTR

  • -3 = other problems with signalNames safearray

  • 0 = success

Results

is safearray of VT_I4, and array elements may have the values of

  • 0 = success

  • 1 = signal already used (registered) by this connector object ( but still success )

  • 2 = success, but signal not “owned” by any server connector

STDMETHODIMP CClientConnector::UnRegisterSignals(VARIANT signalNames, VARIANT* results, LONG* returnValue)

Return value

  • 999999999 = authentication failed

  • -1 = Connect failed or was not executed or Disconnect was executed

  • -2 = signalNames is not safearray of VT_BSTR

  • -3 = other problems with signalNames safearray

  • 0 = success

Results

is safearray of VT_I4, and array elements may have the values of

  • -1 = signal not registered by this connector object

  • 0 = success

STDMETHODIMP CClientConnector::ReadSignals(VARIANT signalNames, VARIANT* signalValues, VARIANT* results, LONG* returnValue)

Return value

  • 999999999 = authentication failed

  • 999999998 = no valid license

  • -2 = signalNames is not safearray of VT_BSTR

  • -3 = other problems with signalNames safearray

  • 0 = success

Results

  • is safearray of VT_I4, and array elements may have the values of

  • -1 = signal nonexistent ( never ever registered by any server/client/webservice connector ) or not owned by any ServerConnector anymore

  • 0 = success

STDMETHODIMP CClientConnector::WriteSignals(BSTR clientToken, VARIANT signalNames, VARIANT signalValues, VARIANT* results, LONG* returnValue)

Return value

  • 999999999 = authentication failed

  • 999999998 = no valid license

  • -2 = signalNames is not safearray of VT_BSTR

  • -3 = other problems with signalNames safearray

  • -4 = problem with signalValues safearray

  • -5 = signalNames and signalValues safearray differ in number of elements

  • 0 = success

Results

is safearray of VT_I4, and array elements may have the values of

  • 0 = success

  • -1 = signal nonexistent ( never ever registered by any server/client/webservice connector )

  • -2 = signal not “owned” by any server connector

  • -98 = server connector terminating ( this should not probably be seen )

  • -99 = OnWriteAsyncRequest failed to be executed

  • -100 = timeout of the WriteAsyncRequestResult call

  • -101 = reserved, should not happen

  • -102 = OnWriteAsyncRequest method sends results which cannot be converted to the integer array

  • -103 = OnWriteAsyncRequest method sends results in the integer array of incorrect size

any other value = value from results parameter of OnWriteRequest event

CClientConnector::TheName

Return value

  • 0 = success

WebServiceConnector object/interface

STDMETHODIMP CWebServiceConnector::Connect(BSTR sessionGUID, LONG* returnValue)

Return value

  • 999999999 = authentication failed

  • -1 = sessionGUID is empty

  • -200 = sessionGUID is already used for this webservice connector object

  • -201 = sessionGUID is already used by some other client or webservice connector object

  • 0 = success

STDMETHODIMP CWebServiceConnector::Disconnect(BSTR sessionGUID,LONG* returnValue)

Return value

  • 999999999 = authentication failed

  • -1 = sessionGUID is empty

  • -200 = sessionGUID not found

  • 0 = success

STDMETHODIMP CWebServiceConnector::RegisterSignals(BSTR sessionGUID, VARIANT signalNames, VARIANT* results, LONG* returnValues)

Return value

  • 999999999 = authentication failed

  • -1 = unknown sessionGUID : Connect failed or was not executed or Disconnect was executed

  • -2 = signalNames is not safearray of VT_BSTR

  • -3 = other problems with signalNames safearray

  • 0 = success

Results

is safearray of VT_I4, and array elements may have the values of

  • 0 = success

  • 1 = signal already used (registered) by this sessionGUID defined connector object ( but still success )

  • 2 = success, but signal not “owned” by any server connector

STDMETHODIMP CWebServiceConnector::UnRegisterSignals(BSTR sessionGUID, VARIANT signalNames, VARIANT* results, LONG* returnValue)

Return value

  • 999999999 = authentication failed

  • -1 = unknown sessionGUID : Connect failed or was not executed or Disconnect was executed

  • -2 = signalNames is not safearray of VT_BSTR

  • -3 = other problems with signalNames safearray

  • 0 = success

Results

is safearray of VT_I4, and array elements may have the values of

  • -1 = signal not registered by this sessionGUID defined connector object

  • 0 = success

STDMETHODIMP CWebServiceConnector::ReadSignals(BSTR sessionGUID, VARIANT signalNames, VARIANT* signalValues, VARIANT* results, LONG* returnValue)

Return value

  • 999999999 = authentication failed

  • 999999998 = no valid license

  • -1 = unknown sessionGUID : Connect failed or was not executed or Disconnect was executed

  • -2 = signalNames is not safearray of VT_BSTR

  • -3 = other problems with signalNames safearray

  • 0 = success

Results

is safearray of VT_I4, and array elements may have the values of

  • -1 = signal nonexistent ( never ever registered by any server/client/webservice connector ) or not owned by any ServerConnector anymore

  • 0 = success

STDMETHODIMP CWebServiceConnector::WriteSignals(BSTR sessionGUID, VARIANT signalNames, VARIANT signalValues, VARIANT* results, LONG* returnValue)

Return value

  • 999999999 = authentication failed

  • 999999998 = no valid license

  • -1 = unknown sessionGUID : Connect failed or was not executed or Disconnect was executed

  • -2 = signalNames is not safearray of VT_BSTR

  • -3 = other problems with signalNames safearray

  • -4 = problem with signalValues safearray

  • -5 = signalNames and signalValues safearray differ in number of elements

  • 0 = success

Results

is safearray of VT_I4, and array elements may have the values of

  • 0 = success

  • -1 = signal nonexistent ( never ever registered by any server/client/webservice connector )

  • -2 = signal not “owned” by any server connector

  • -98 = server connector terminating ( this should not probably be seen )

  • -99 = OnWriteAsyncRequest failed to be executed

  • -100 = timeout of the WriteAsyncRequestResult call

  • -101 = reserved, should not happen

  • -102 = OnWriteAsyncRequest method sends results which cannot be converted to the integer array

  • -103 = OnWriteAsyncRequest method sends results in the integer array of incorrect size

STDMETHODIMP CWebServiceConnector::GetUpdates(BSTR sessionGUID, LONG requestID, LONG* responseID, VARIANT* signalNames, VARIANT* signalValues, LONG* returnValue)

Return value

  • 999999999 = authentication failed

  • 999999998 = no valid license

  • -1 = unknown sessionGUID : Connect failed or was not executed or Disconnect was executed

  • 0 = success

signalNames

is safearray of VT_VARIANT, may be empty variant

signalValues

is safearray of VT_VARIANT, may be empty variant

CWebServiceConnector::TheName

Return value

  • 0 = success

CBrowseConnector object/interface

CBrowseConnector::GetSignals

Return value

  • 999999999 = authentication failed

  • 999999998 = no valid license

  • 0 = success