Recently switched from dds 5 to dds 6 and 32 bit to 64 bit. Sending a message with a sequence of a pair of doubles, a polygon with up to 50 points defined by double precision latitude and longitude. The generated java libraries have no problem with this message but the c++ subsriber is encountering a deserialization error. What is the the best way to start debugging this issue, not as familar with the c++, more familiar with the java.
What is the error message? Are you using Connext DDS 6.x in both the sending and receiving applications? Are you using a bounded sequence, where the bound is 50? Or an unbounded sequence?
I would debug as you would any language. First make sure you're using Connext 6.x on both sides (to eliminate the issue that it's related to compatibility of Connext DDS versions...which you should read the Release Notes and Migration guides to see if there are incompatibilities that may affect you.
Then send data of various lengths, start with a sequence of 0 length, if that works, then increase until it doesn't. Hopefully, that would point you at the problem.
I assume that you're using the same IDL for both Java and C++...
Are you sending 32 bits and receiving expecting 64 or vice versa?
Hi Jason, I am your local FAE. Are you associated with a project? You might be able to be helped through support. Please feel free to reach to out to me at mmohr@rti.com