Hi
I want to know whether it is possible to record other vendors' (e.g OpenSplice ...) data with recording service or not. I have tried to do that but got the following error :
"Failed to get valid typecode information for Publisher of Topic 'SampleStatus'. Recorder will NOT be able to record type 'DDSPackets::Main::IDL_Status::payload' in deserialized mode".
Thanks in advance for your help.
Bonjefir
Any Answers?
Hello,
This error is caused because OpenSplice does not propagate type information in a standard format. As far as I know OpenSplice still does not implement the DDS-XYPES specification which is the standard way to propagate type information on the wire.
That said I think it would be possible to use RTI Recorder to record data from OpenSplice. But you would need to do one of two things:
<types></types>
tag. Note that you have the IDL description of the data-types published by OpenSplice then you can run thertiddsgen
tool with the -convertToXml option to create the XML description on the types which then you can paste into the RTI Recorder Configuration XML file.<deserialize_mode>RTIDDS_DESERIALZEMODE_NEVER</deserialize_mode>
also in the RTI Recorder Configuration XML file.Check section 4.10 of the RTI Recording Service User Manual for how to configure the types into RTo Recording Service using XML.
Note that I have not actually tried to record data from OpenSplice so perhaps there will be some additional issue. However given that RTI Recording Service is just a DDS application that uses the standard DD APIs / protocol to discover and subscribe to the the data I think it should work. The one exception is the propagation of type information which is a separate standard (DDS-XTYPES).
Gerardo
Dear Gerardo
First thanks for your answer. Second as you suggested, I used the tag
<deserialize_mode>RTIDDS_DESERIALZEMODE_NEVER</deserialize_mode>
but got the following errors:exception:[RTIDRTUserDataEvent_process@105]:Failed to create topic DCPSSubscription of type kernelModule::v_subscriptionInfo
exception:[RTIDRTUserDataEvent_process@105]:Failed to create topic DCPSParticipant of type kernelModule::v_participantInfo
exception:[RTIDRTUserDataEvent_process@105]:Failed to create topic DCPSSubscription of type kernelModule::v_subscriptionInfo
exception:[RTIDRTUserDataEvent_process@105]:Failed to create topic DCPSPublication of type kernelModule::v_publicationInfo
exception:[RTIDRTUserDataEvent_process@105]:Failed to create topic DCPSTopic of type kernelModule::v_topicInfo
About your first suggestion, I think it's not possible in my case, because there are a lot of data-types and it's practically impossible to do that. What should I do?
Bonjefir