v2.0.0
Changes
- Connection Pool ported to C++
- Error handling improvements:
rfmPath - New documentation content and format ported from
reStructuredTexttomarkdown environmentobject- node 6 and 8 support expired
- Connection attribute PartnerIPv6 added
- SAP NWRFC SDK post-installation fix for macOS removed
Cmakeversion 3.17N-APIversion 6N-APIversion from package.json used in CMakeLists.txt, instead of separately (double) maintained onetslintreplaced byeslint
Breaking changes
-
Managed clients' can't open and close own connections any more. Instead of
open()andclose(),
managed clients use poolacquire()andrelease()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, likeRFM call() over closed connectioninstead of genericRFC_INVALID_HANDLEerror. -
After critical errors, the client connection handle is set to
NULL, consequently setting thealiveproperty tofalse.
Thealiveproperty now exposes theconnection handle != NULLcondition, thus always in sync. The automatic re-open should
assign the new connection handle to client, setting thealivetotrue: 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:
statusandrunningRFCCallsremovedisAlivereplaced withalive_connectionHandlereplaced withconnectionHandleversionreplaced with more genericenvironmentobject, exposing:- os platform name, architecture, release
- node, napi, modules etc. versions (process.versions)
SAPNWRFC_HOMEandRFC_INIenvironment variables
-
The ongoing RFC call is not any more protected from connection
close()by direct client.
The direct clients should not call theclose()method before the RFM call completed and
invoke()orcall()callback invoked. -
Error handling improvements:
- All error objects have now a
nameproperty, defining the error type - Error location path (rfm/parameter/field) attached to error objects, property
rfmPath
- All error objects have now a