Asynchronous, non-blocking SAP NW RFC SDK bindings for Node.js
APACHE-2.0 License
Bot releases are visible (Hide)
rfmPath
reStructuredText
to markdown
environment
objectCmake
version 3.17N-API
version 6N-API
version from package.json used in CMakeLists.txt, instead of separately (double) maintained onetslint
replaced by eslint
Managed clients' can't open and close own connections any more. Instead of open()
and close()
,
managed clients use pool acquire()
and release()
methods. Delegation of these tasks to Pool,
ensures the connection handle stability during the Client instance lifecycle (less or not at all RFC_INVALID_HANDLE errors)
and more intuitive error messages, like RFM call() over closed connection
instead of generic RFC_INVALID_HANDLE
error.
After critical errors, the client connection handle is set to NULL
, consequently setting the alive
property to false
.
The alive
property now exposes the connection handle != NULL
condition, thus always in sync. The automatic re-open should
assign the new connection handle to client, setting the alive
to true
: see Closing connections.
Client reopen()
method removed
Client ping()
method result returned as a second callback parameter (callback pattern), error is the first
Client getters:
status
and runningRFCCalls
removedisAlive
replaced with alive
_connectionHandle
replaced with connectionHandle
version
replaced with more generic environment
object, exposing:
SAPNWRFC_HOME
and RFC_INI
environment variablesThe ongoing RFC call is not any more protected from connection close()
by direct client.
The direct clients should not call the close()
method before the RFM call completed and
invoke()
or call()
callback invoked.
Error handling improvements:
name
property, defining the error typerfmPath
package.json
, per NAPI version matrix
Published by bsrdjan about 5 years ago
Published by bsrdjan over 5 years ago
Published by bsrdjan over 5 years ago
Published by bsrdjan over 5 years ago
Published by bsrdjan almost 6 years ago
Published by bsrdjan almost 6 years ago
Published by bsrdjan almost 6 years ago
Published by bsrdjan almost 6 years ago
Incompatible changes:
Published by bsrdjan about 6 years ago
ping()
and close()
require a callback functionclient.connectionInfo()
replaced by client.connectionInfo
getterclient.getVersion()
replaced by client.version
getter, format changed as wellclient.isAlive()
replaced by client.isAlive
getter