Why am I getting an MExceptionEvent instead of a MDataEvent? How do I access the subject in MExceptionEvent? How do I confirm this message when I'm doing manual confirmation?

Why am I getting an MExceptionEvent instead of a MDataEvent? How do I access the subject in MExceptionEvent? How do I confirm this message when I'm doing manual confirmation?

book

Article ID: KB0094665

calendar_today

Updated On:

Products Versions
TIBCO Adapter SDK -
Not Applicable -

Description

Resolution:
MExecptionEvent is a special MEvent subclass that is dispatched during exception conditions when an exception cannot be thrown. Currently, the SDK dispatches this event when it receives a message that is not of the type RVMSG_RVMSG.

In other words, the adapter is expecting a nested RV message from another SDK based adapter. So it generates MExceptionEvent rather than MDataEvent when it receives a plain RV message (probably from a RV API based application).

To access the subject and confirmation method, you will have to change the subscriber to a "rvMsg" format subscriber in the configuration, or call MSubscriber::validateMessage(false) for SDK 4 or set MRvEndpointSpec..messageFormat=M_RV_MESSAGE_FORMAT for SDK 5 in the code. A "rvMsg" subscriber will dispatch MDataEvent upon receipt of a plain RV message (non-nested).

Issue/Introduction

Why am I getting an MExceptionEvent instead of a MDataEvent? How do I access the subject in MExceptionEvent? How do I confirm this message when I'm doing manual confirmation?

Environment

Product: TIBCO Adapter SDK Version: All OS: All --------------------