This is most probably because your data dictionary tags do not match with the message you receive.
– Christoph John
Commented Jun 19 at 18:07
This was the answer, I stopped using the standard dictionary and replaced it with a copy of the vendors dictionary and it works correctly now.