the main problem with the java version of libnodave is, that is hasn't seen any of the updates and bugfixes that the C library of libnodave has, for the last 10 years.
So it's possible that there are other unfixed bugs.
The communication the WinAC RTX fails, because the java version of libnodave doesn't handle the TPKT/ISO packets correctly.
A special thing with all Siemens PC versions is, that they send a so called "fast ack" option for S7 communication.
The response telegram from this partner sends at first a TCP packet including a TPKT/ISO packet of minimum size (7 bytes overall) where the "Last data unit" flag in the ISO part is not set. After this another TCP packet follows (or possible in a single TCP telegram), with the S7 data and set "Last data unit" flag in the ISO part.
As a simple solution, the driver should check the "Last data unit" flag, and read from the TCP socket as long as this is flag not set, and reassemble that payload of the TPKT/ISO stack. This is what you have to fix if you want to use the java version of libnodave.